Compare commits

..
Author SHA1 Message Date
dependabot[bot] 2cd6129b41 Chore(deps): Bump the uv group across 1 directory with 3 updates
Bumps the uv group with 3 updates in the / directory: [banks](https://github.com/masci/banks), [fsspec](https://github.com/fsspec/filesystem_spec) and [multidict](https://github.com/aio-libs/multidict).


Updates `banks` from 2.4.5 to 2.5.1
- [Release notes](https://github.com/masci/banks/releases)
- [Commits](https://github.com/masci/banks/compare/v2.4.5...v2.5.1)

Updates `fsspec` from 2026.1.0 to 2026.6.0
- [Commits](https://github.com/fsspec/filesystem_spec/compare/2026.1.0...2026.6.0)

Updates `multidict` from 6.7.1 to 6.9.1
- [Release notes](https://github.com/aio-libs/multidict/releases)
- [Changelog](https://github.com/aio-libs/multidict/blob/master/CHANGES.rst)
- [Commits](https://github.com/aio-libs/multidict/compare/v6.7.1...v6.9.1)

---
updated-dependencies:
- dependency-name: banks
  dependency-version: 2.5.1
  dependency-type: indirect
- dependency-name: fsspec
  dependency-version: 2026.6.0
  dependency-type: indirect
- dependency-name: multidict
  dependency-version: 6.9.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-12 16:17:33 +00:00
89 changed files with 4307 additions and 4157 deletions

No files matched your search

@@ -66,7 +66,7 @@ services:
command:
- "gotenberg"
- "--chromium-disable-javascript=true"
- "--chromium-allow-list=^file:///tmp/.*"
- "--chromium-allow-list=file:///tmp/.*"
tika:
image: docker.io/apache/tika:3.3.1.0
restart: unless-stopped
+10
View File
@@ -38,6 +38,16 @@ jobs:
uses: actions/labeler@bf12e9b00b37c5c0ca2b87b79b2daf7891dbda13 # v7.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Label by size
uses: Gascon1/pr-size-labeler@deff8ed00a76639a7c0f197525bafa3350ba4c36 # v1.3.0
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
xs_label: 'small-change'
xs_diff: '9'
s_label: 'non-trivial'
s_diff: '99999'
fail_if_xl: 'false'
excluded_files: /\.lock$/ /\.txt$/ ^src-ui/pnpm-lock\.yaml$ ^src-ui/messages\.xlf$ ^src/locale/en_US/LC_MESSAGES/django\.po$
- name: Label by PR title
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
+13 -4
View File
@@ -43,17 +43,26 @@ Once you have submitted a **P**ull **R**equest it will be reviewed, approved, an
Important: Pull requests that implement a new feature or enhancement _should almost always target an existing feature request_ with evidence of community interest and discussion. This is in order to balance the work of implementing and maintaining new features / enhancements. Instead of opening a PR which does not meet this requirement, please open a feature request instead, to gather feedback from both users and the project maintainers.
## PR Review Process
## Non-Trivial Requests
Our community review process for PRs is the following:
PRs deemed `non-trivial` will go through a stricter review process before being merged into `dev`. This is to ensure code quality and complete functionality (free of side effects).
Examples of `non-trivial` PRs might include:
- Additional features
- Large changes to many distinct files
- Breaking or deprecation of existing features
Our community review process for `non-trivial` PRs is the following:
1. Must pass usual automated code tests and formatting checks.
2. The PR will be assigned and pinged to the appropriately experienced team (i.e. @paperless-ngx/backend for backend changes).
3. Development team will check and test code manually (possibly over several days).
- You may be asked to make changes or rebase.
4. One or more members of the team will approve and finally merge the request into `dev` 🎉.
- The team may ask for additional testing done by @paperless-ngx/test
4. **At least two** members of the team will approve and finally merge the request into `dev` 🎉.
This process might be slow as community members have different schedules and time to dedicate to the Paperless project. However it ensures community code reviews are thorough and of high quality.
This process might be slow as community members have different schedules and time to dedicate to the Paperless project. However it ensures community code reviews are as brilliantly thorough as they once were with @jonaswinkler.
# Use of AI Tools
+1 -1
View File
@@ -14,7 +14,7 @@ services:
command:
- "gotenberg"
- "--chromium-disable-javascript=true"
- "--chromium-allow-list=^file:///tmp/.*"
- "--chromium-allow-list=file:///tmp/.*"
- "--log-level=warn"
- "--log-format=text"
tika:
@@ -78,7 +78,7 @@ services:
command:
- "gotenberg"
- "--chromium-disable-javascript=true"
- "--chromium-allow-list=^file:///tmp/.*"
- "--chromium-allow-list=file:///tmp/.*"
tika:
image: docker.io/apache/tika:3.3.1.0
restart: unless-stopped
@@ -74,7 +74,7 @@ services:
command:
- "gotenberg"
- "--chromium-disable-javascript=true"
- "--chromium-allow-list=^file:///tmp/.*"
- "--chromium-allow-list=file:///tmp/.*"
tika:
image: docker.io/apache/tika:3.3.1.0
restart: unless-stopped
@@ -63,7 +63,7 @@ services:
command:
- "gotenberg"
- "--chromium-disable-javascript=true"
- "--chromium-allow-list=^file:///tmp/.*"
- "--chromium-allow-list=file:///tmp/.*"
tika:
image: docker.io/apache/tika:3.3.1.0
restart: unless-stopped
+1 -1
View File
@@ -129,7 +129,7 @@ change in the `docker-compose.yml` file:
command:
- 'gotenberg'
- '--chromium-disable-javascript=true'
- '--chromium-allow-list=^file:///tmp/.*'
- '--chromium-allow-list=file:///tmp/.*'
- '--api-timeout=60s'
```
+1 -1
View File
@@ -2,5 +2,5 @@
docker run -p 5432:5432 -e POSTGRES_PASSWORD=password -v paperless_pgdata:/var/lib/postgresql/data -d postgres:15
docker run -d -p 6379:6379 redis:latest
docker run -p 3000:3000 -d gotenberg/gotenberg:7.8 gotenberg --chromium-disable-javascript=true --chromium-allow-list="^file:///tmp/.*"
docker run -p 3000:3000 -d gotenberg/gotenberg:7.8 gotenberg --chromium-disable-javascript=true --chromium-allow-list="file:///tmp/.*"
docker run -p 9998:9998 -d docker.io/apache/tika:latest
+1 -1
View File
@@ -8525,7 +8525,7 @@
<context context-type="sourcefile">src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html</context>
<context context-type="linenumber">54</context>
</context-group>
<target state="translated">{VAR_PLURAL, plural, =1 {1 Vorschlag unten verfügbar} other {<x id="INTERPOLATION"/> Vorschläge unten verfügbar}}</target>
<target state="needs-translation">{VAR_PLURAL, plural, =1 {1 suggestion available below} other {<x id="INTERPOLATION"/> suggestions available below}}</target>
</trans-unit>
<trans-unit id="4169875112244042673" datatype="html" approved="yes">
<source>Suggestion options</source>
+4 -4
View File
@@ -8525,7 +8525,7 @@
<context context-type="sourcefile">src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html</context>
<context context-type="linenumber">54</context>
</context-group>
<target state="translated">{VAR_PLURAL, plural, one {<x id="INTERPOLATION"/> suggerimenti disponibili sotto} =1 {1 suggerimento disponibile sotto} other {<x id="INTERPOLATION"/> suggerimenti disponibili sotto}}</target>
<target state="needs-translation">{VAR_PLURAL, plural, =1 {1 suggestion available below} other {<x id="INTERPOLATION"/> suggestions available below}}</target>
</trans-unit>
<trans-unit id="4169875112244042673" datatype="html">
<source>Suggestion options</source>
@@ -9219,7 +9219,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-barcodes/document-barcodes.component.html</context>
<context context-type="linenumber">40,41</context>
</context-group>
<target state="translated">Copia contenuto</target>
<target state="needs-translation">Copy content</target>
</trans-unit>
<trans-unit id="2266163016683537825" datatype="html">
<source>of <x id="INTERPOLATION" equiv-text="{{previewNumPages()}}"/></source>
@@ -9479,7 +9479,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
<context context-type="linenumber">360,361</context>
</context-group>
<target state="translated">Codici a barre</target>
<target state="needs-translation">Barcodes</target>
</trans-unit>
<trans-unit id="6992781481378431874" datatype="html" approved="yes">
<source>Original document metadata</source>
@@ -13376,7 +13376,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">335</context>
</context-group>
<target state="translated">Contenuti Codice a Barre</target>
<target state="needs-translation">Store Barcode Contents</target>
</trans-unit>
<trans-unit id="7011909364081812031" datatype="html">
<source>AI Enabled</source>
+18 -18
View File
@@ -17,7 +17,7 @@
<context context-type="linenumber">386,393</context>
</context-group>
<note priority="1" from="description">Currently selected slide number read by screen reader</note>
<target state="translated"> Slajd <x id="INTERPOLATION" equiv-text="xt(source?: Ngb"/> z <x id="INTERPOLATION_1" equiv-text="this._cycleToSe"/> </target>
<target state="needs-translation"> Slide <x id="INTERPOLATION" equiv-text="xt(source?: Ngb"/> of <x id="INTERPOLATION_1" equiv-text="this._cycleToSe"/> </target>
</trans-unit>
<trans-unit id="ngb.carousel.previous" datatype="html">
<source>Previous</source>
@@ -507,7 +507,7 @@
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">225</context>
</context-group>
<target state="translated">Zadania pomagają śledzić pracę w tle, to, co wymaga uwagi i co zostało ostatnio ukończone.</target>
<target state="needs-translation">Tasks helps you track background work, what needs attention, and what recently completed.</target>
</trans-unit>
<trans-unit id="2755033621682206902" datatype="html">
<source>Check out the settings for various tweaks to the web app.</source>
@@ -571,7 +571,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.html</context>
<context context-type="linenumber">35</context>
</context-group>
<target state="translated">Ta wartość zastępuje <x id="INTERPOLATION" equiv-text="{{option.config_key}}"/>, która jest ustawiona poza Paperless.</target>
<target state="needs-translation">This value overrides <x id="INTERPOLATION" equiv-text="{{option.config_key}}"/>, which is set outside Paperless.</target>
</trans-unit>
<trans-unit id="7221396516204435584" datatype="html">
<source><x id="INTERPOLATION" equiv-text="{{option.config_key}}"/> is set outside Paperless. Enter a value here to override it.</source>
@@ -579,7 +579,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.html</context>
<context context-type="linenumber">37</context>
</context-group>
<target state="translated"><x id="INTERPOLATION" equiv-text="{{option.config_key}}"/> jest ustawiony poza Paperless. Wpisz tutaj wartość, aby go zastąpić.</target>
<target state="needs-translation"><x id="INTERPOLATION" equiv-text="{{option.config_key}}"/> is set outside Paperless. Enter a value here to override it.</target>
</trans-unit>
<trans-unit id="8318849619178340389" datatype="html">
<source>Use the externally configured value</source>
@@ -587,7 +587,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.html</context>
<context context-type="linenumber">42</context>
</context-group>
<target state="translated">Użyj wartości skonfigurowanej zewnętrznie</target>
<target state="needs-translation">Use the externally configured value</target>
</trans-unit>
<trans-unit id="6032629623003430385" datatype="html">
<source>Reset to external</source>
@@ -595,7 +595,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.html</context>
<context context-type="linenumber">43</context>
</context-group>
<target state="translated">Zresetuj na zewnętrzny</target>
<target state="needs-translation">Reset to external</target>
</trans-unit>
<trans-unit id="7808756054397155068" datatype="html">
<source>Reset</source>
@@ -1411,7 +1411,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">264</context>
</context-group>
<target state="translated">Obydwa</target>
<target state="needs-translation">Both</target>
</trans-unit>
<trans-unit id="8967224283122923634" datatype="html">
<source>ML only</source>
@@ -1419,7 +1419,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">266</context>
</context-group>
<target state="translated">Tylko ML</target>
<target state="needs-translation">ML only</target>
</trans-unit>
<trans-unit id="6418969597665857901" datatype="html">
<source>AI only</source>
@@ -1427,7 +1427,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">268</context>
</context-group>
<target state="translated">Tylko SI</target>
<target state="needs-translation">AI only</target>
</trans-unit>
<trans-unit id="1043449647727456069" datatype="html">
<source>Automatically request suggestions for inbox documents</source>
@@ -2211,7 +2211,7 @@
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
<context context-type="linenumber">4,5</context>
</context-group>
<target state="translated">Zadania zawierają szczegóły dotyczące przetwarzania dokumentów i zadań systemowych.</target>
<target state="needs-translation">Tasks shows detailed information about document consumption and system tasks.</target>
</trans-unit>
<trans-unit id="103921551219467537" datatype="html">
<source>Clear selection</source>
@@ -2327,7 +2327,7 @@
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
<context context-type="linenumber">92,93</context>
</context-group>
<target state="translated">Szukaj w zadaniach</target>
<target state="needs-translation">Search tasks</target>
</trans-unit>
<trans-unit id="6849725902312323996" datatype="html" approved="yes">
<source>Reset filters</source>
@@ -2651,7 +2651,7 @@
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
<context context-type="linenumber">207</context>
</context-group>
<target state="translated">Wyświetl szczegóły zadania</target>
<target state="needs-translation">View task details</target>
</trans-unit>
<trans-unit id="1536087519743707362" datatype="html">
<source>Dismiss</source>
@@ -4555,7 +4555,7 @@
<context context-type="sourcefile">src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.html</context>
<context context-type="linenumber">9</context>
</context-group>
<target state="translated">Obróć w lewo</target>
<target state="needs-translation">Rotate counterclockwise</target>
</trans-unit>
<trans-unit id="631338357809243389" datatype="html">
<source>Rotate clockwise</source>
@@ -4563,7 +4563,7 @@
<context context-type="sourcefile">src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.html</context>
<context context-type="linenumber">19</context>
</context-group>
<target state="translated">Obróć w prawo</target>
<target state="needs-translation">Rotate clockwise</target>
</trans-unit>
<trans-unit id="8157388568390631653" datatype="html">
<source>Note that only PDFs will be rotated.</source>
@@ -7641,7 +7641,7 @@
<context context-type="sourcefile">src/app/components/common/pdf-editor/pdf-editor.component.html</context>
<context context-type="linenumber">17</context>
</context-group>
<target state="translated">Obróć zaznaczone strony w lewo</target>
<target state="translated">Obróć wybrane strony przeciwnie do ruchu wskazówek zegara</target>
</trans-unit>
<trans-unit id="4787219034890830544" datatype="html">
<source>Rotate selected pages clockwise</source>
@@ -7649,7 +7649,7 @@
<context context-type="sourcefile">src/app/components/common/pdf-editor/pdf-editor.component.html</context>
<context context-type="linenumber">20</context>
</context-group>
<target state="translated">Obróć zaznaczone strony w prawo</target>
<target state="translated">Obróć wybrane strony zgodnie z ruchem wskazówek zegara</target>
</trans-unit>
<trans-unit id="3441043765105475130" datatype="html">
<source>Delete selected pages</source>
@@ -7665,7 +7665,7 @@
<context context-type="sourcefile">src/app/components/common/pdf-editor/pdf-editor.component.html</context>
<context context-type="linenumber">33</context>
</context-group>
<target state="translated">Obróć stronę w lewo</target>
<target state="translated">Obróć stronę przeciwnie do ruchu wskazówek zegara</target>
</trans-unit>
<trans-unit id="3450236521040548507" datatype="html">
<source>Rotate page clockwise</source>
@@ -7673,7 +7673,7 @@
<context context-type="sourcefile">src/app/components/common/pdf-editor/pdf-editor.component.html</context>
<context context-type="linenumber">36</context>
</context-group>
<target state="translated">Obróć stronę w prawo</target>
<target state="translated">Obróć stronę zgodnie z ruchem wskazówek zegara</target>
</trans-unit>
<trans-unit id="7647925464077975347" datatype="html">
<source>Delete page</source>
+14 -14
View File
@@ -17,7 +17,7 @@
<context context-type="linenumber">386,393</context>
</context-group>
<note priority="1" from="description">Currently selected slide number read by screen reader</note>
<target state="translated"> Слайд <x id="INTERPOLATION" equiv-text="xt(source?: Ngb"/> из <x id="INTERPOLATION_1" equiv-text="this._cycleToSe"/> </target>
<target state="needs-translation"> Slide <x id="INTERPOLATION" equiv-text="xt(source?: Ngb"/> of <x id="INTERPOLATION_1" equiv-text="this._cycleToSe"/> </target>
</trans-unit>
<trans-unit id="ngb.carousel.previous" datatype="html">
<source>Previous</source>
@@ -1403,7 +1403,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">259,260</context>
</context-group>
<target state="translated">Предложения по умолчанию для</target>
<target state="needs-translation">Suggestions default to</target>
</trans-unit>
<trans-unit id="6251586038459969294" datatype="html">
<source>Both</source>
@@ -1411,7 +1411,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">264</context>
</context-group>
<target state="translated">Оба</target>
<target state="needs-translation">Both</target>
</trans-unit>
<trans-unit id="8967224283122923634" datatype="html">
<source>ML only</source>
@@ -1419,7 +1419,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">266</context>
</context-group>
<target state="translated">Только ML</target>
<target state="needs-translation">ML only</target>
</trans-unit>
<trans-unit id="6418969597665857901" datatype="html">
<source>AI only</source>
@@ -1427,7 +1427,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">268</context>
</context-group>
<target state="translated">Только ИИ</target>
<target state="needs-translation">AI only</target>
</trans-unit>
<trans-unit id="1043449647727456069" datatype="html">
<source>Automatically request suggestions for inbox documents</source>
@@ -8525,7 +8525,7 @@
<context context-type="sourcefile">src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html</context>
<context context-type="linenumber">54</context>
</context-group>
<target state="translated">{VAR_PLURAL, plural, =1 {1 совет} other {<x id="INTERPOLATION"/> советов}}</target>
<target state="needs-translation">{VAR_PLURAL, plural, =1 {1 suggestion available below} other {<x id="INTERPOLATION"/> suggestions available below}}</target>
</trans-unit>
<trans-unit id="4169875112244042673" datatype="html">
<source>Suggestion options</source>
@@ -8533,7 +8533,7 @@
<context context-type="sourcefile">src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html</context>
<context context-type="linenumber">65,66</context>
</context-group>
<target state="translated">Настройки советов</target>
<target state="needs-translation">Suggestion options</target>
</trans-unit>
<trans-unit id="3145824396228856507" datatype="html">
<source>Not using default</source>
@@ -8541,7 +8541,7 @@
<context context-type="sourcefile">src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html</context>
<context context-type="linenumber">69,70</context>
</context-group>
<target state="translated">Не использует по умолчанию</target>
<target state="needs-translation">Not using default</target>
</trans-unit>
<trans-unit id="8102623853570619759" datatype="html">
<source>Suggest using:</source>
@@ -8549,7 +8549,7 @@
<context context-type="sourcefile">src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html</context>
<context context-type="linenumber">74,75</context>
</context-group>
<target state="translated">Предложить используя:</target>
<target state="needs-translation">Suggest using:</target>
</trans-unit>
<trans-unit id="5799391967036896978" datatype="html">
<source>ML</source>
@@ -8557,7 +8557,7 @@
<context context-type="sourcefile">src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html</context>
<context context-type="linenumber">77</context>
</context-group>
<target state="translated">ML</target>
<target state="needs-translation">ML</target>
</trans-unit>
<trans-unit id="3484984238852181071" datatype="html">
<source>AI</source>
@@ -8565,7 +8565,7 @@
<context context-type="sourcefile">src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html</context>
<context context-type="linenumber">81</context>
</context-group>
<target state="translated">ИИ</target>
<target state="needs-translation">AI</target>
</trans-unit>
<trans-unit id="9180110319941008393" datatype="html">
<source>Environment</source>
@@ -9219,7 +9219,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-barcodes/document-barcodes.component.html</context>
<context context-type="linenumber">40,41</context>
</context-group>
<target state="translated">Скопировать содержимое</target>
<target state="needs-translation">Copy content</target>
</trans-unit>
<trans-unit id="2266163016683537825" datatype="html">
<source>of <x id="INTERPOLATION" equiv-text="{{previewNumPages()}}"/></source>
@@ -9479,7 +9479,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
<context context-type="linenumber">360,361</context>
</context-group>
<target state="translated">Штрихкоды</target>
<target state="needs-translation">Barcodes</target>
</trans-unit>
<trans-unit id="6992781481378431874" datatype="html" approved="yes">
<source>Original document metadata</source>
@@ -13375,7 +13375,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">335</context>
</context-group>
<target state="translated">Сохранить содержимое штрихкодов</target>
<target state="needs-translation">Store Barcode Contents</target>
</trans-unit>
<trans-unit id="7011909364081812031" datatype="html">
<source>AI Enabled</source>
File diff suppressed because it is too large. Load diff
+58 -58
View File
@@ -595,7 +595,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.html</context>
<context context-type="linenumber">43</context>
</context-group>
<target state="translated">重置为外部</target>
<target state="needs-translation">Reset to external</target>
</trans-unit>
<trans-unit id="7808756054397155068" datatype="html">
<source>Reset</source>
@@ -1135,7 +1135,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">115,116</context>
</context-group>
<target state="translated">侧边栏显示项:</target>
<target state="needs-translation">Sidebar items to show:</target>
</trans-unit>
<trans-unit id="1356890996281769972" datatype="html">
<source>Dark mode</source>
@@ -1419,7 +1419,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">266</context>
</context-group>
<target state="translated">仅限 ML</target>
<target state="needs-translation">ML only</target>
</trans-unit>
<trans-unit id="6418969597665857901" datatype="html">
<source>AI only</source>
@@ -1427,7 +1427,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">268</context>
</context-group>
<target state="translated">仅限 AI</target>
<target state="needs-translation">AI only</target>
</trans-unit>
<trans-unit id="1043449647727456069" datatype="html">
<source>Automatically request suggestions for inbox documents</source>
@@ -2887,7 +2887,7 @@
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
<context context-type="linenumber">104</context>
</context-group>
<target state="translated">应用 AI 建议</target>
<target state="needs-translation">Apply AI Suggestions</target>
</trans-unit>
<trans-unit id="9172233176401579786" datatype="html">
<source>Scheduled</source>
@@ -3939,7 +3939,7 @@
<context context-type="sourcefile">src/app/components/manage/share-links/share-links.component.html</context>
<context context-type="linenumber">2,3</context>
</context-group>
<target state="translated">分享链接</target>
<target state="needs-translation">Share links</target>
</trans-unit>
<trans-unit id="7844706011418789951" datatype="html">
<source>Administration</source>
@@ -4259,7 +4259,7 @@
<context context-type="sourcefile">src/app/data/saved-view-icons.ts</context>
<context context-type="linenumber">21</context>
</context-group>
<target state="translated">聊天</target>
<target state="needs-translation">Chat</target>
</trans-unit>
<trans-unit id="8066608938393600549" datatype="html">
<source>Message</source>
@@ -4539,7 +4539,7 @@
<context context-type="sourcefile">src/app/components/common/confirm-dialog/reprocess-confirm-dialog/reprocess-confirm-dialog.component.html</context>
<context context-type="linenumber">16,17</context>
</context-group>
<target state="translated">使用远程 OCR</target>
<target state="needs-translation">Use remote OCR</target>
</trans-unit>
<trans-unit id="6733578401091585663" datatype="html">
<source>Sends the document to the configured remote OCR service, which may incur costs.</source>
@@ -4547,7 +4547,7 @@
<context context-type="sourcefile">src/app/components/common/confirm-dialog/reprocess-confirm-dialog/reprocess-confirm-dialog.component.html</context>
<context context-type="linenumber">17,18</context>
</context-group>
<target state="translated">将文档发送到已配置的远程 OCR 服务,可能会产生费用。</target>
<target state="needs-translation">Sends the document to the configured remote OCR service, which may incur costs.</target>
</trans-unit>
<trans-unit id="3883144805282469432" datatype="html">
<source>Rotate counterclockwise</source>
@@ -4655,7 +4655,7 @@
<context context-type="sourcefile">src/app/components/common/input/date/date.component.html</context>
<context context-type="linenumber">16</context>
</context-group>
<target state="translated">打开日期选择器</target>
<target state="needs-translation">Open date picker</target>
</trans-unit>
<trans-unit id="6048892649018070225" datatype="html">
<source>Today</source>
@@ -4779,7 +4779,7 @@
<context context-type="sourcefile">src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html</context>
<context context-type="linenumber">154</context>
</context-group>
<target state="translated">移除查询</target>
<target state="needs-translation">Remove query</target>
</trans-unit>
<trans-unit id="3184700926171002527" datatype="html">
<source>Any</source>
@@ -4823,7 +4823,7 @@
<context context-type="sourcefile">src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html</context>
<context context-type="linenumber">196</context>
</context-group>
<target state="translated">移除表达式</target>
<target state="needs-translation">Remove expression</target>
</trans-unit>
<trans-unit id="6630533861307510614" datatype="html">
<source>Clear created relative date</source>
@@ -6931,7 +6931,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">58</context>
</context-group>
<target state="translated">远程 OCR</target>
<target state="needs-translation">Remote OCR</target>
</trans-unit>
<trans-unit id="4101630920511881483" datatype="html">
<source>Apply AI suggestions</source>
@@ -6939,7 +6939,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts</context>
<context context-type="linenumber">159</context>
</context-group>
<target state="translated">应用 AI 建议</target>
<target state="needs-translation">Apply AI suggestions</target>
</trans-unit>
<trans-unit id="5701618810648052610" datatype="html">
<source>Title</source>
@@ -6975,7 +6975,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts</context>
<context context-type="linenumber">186</context>
</context-group>
<target state="translated">创建日期</target>
<target state="needs-translation">Created date</target>
</trans-unit>
<trans-unit id="4522609911791833187" datatype="html">
<source>Has any of these tags</source>
@@ -7396,7 +7396,7 @@
<context context-type="sourcefile">src/app/components/common/input/document-link/document-link.component.html</context>
<context context-type="linenumber">52,53</context>
</context-group>
<target state="translated">不可用</target>
<target state="needs-translation">Unavailable</target>
</trans-unit>
<trans-unit id="5676637575587497817" datatype="html">
<source>Search for documents</source>
@@ -7440,7 +7440,7 @@
<context context-type="sourcefile">src/app/components/common/input/entries/entries.component.html</context>
<context context-type="linenumber">16</context>
</context-group>
<target state="translated">移除条目</target>
<target state="needs-translation">Remove entry</target>
</trans-unit>
<trans-unit id="6932865105766151309" datatype="html">
<source>Upload</source>
@@ -7493,7 +7493,7 @@
<context context-type="sourcefile">src/app/components/common/input/select/select.component.html</context>
<context context-type="linenumber">41</context>
</context-group>
<target state="translated">移除项目</target>
<target state="needs-translation">Remove item</target>
</trans-unit>
<trans-unit id="3686284950598311784" datatype="html">
<source>Private</source>
@@ -7769,7 +7769,7 @@
<context context-type="sourcefile">src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html</context>
<context context-type="linenumber">61</context>
</context-group>
<target state="translated">清除选中的用户</target>
<target state="needs-translation">Clear selected users</target>
</trans-unit>
<trans-unit id="8999708063434507268" datatype="html">
<source>Hide unowned</source>
@@ -8481,7 +8481,7 @@
<context context-type="sourcefile">src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html</context>
<context context-type="linenumber">12,13</context>
</context-group>
<target state="translated">无建议</target>
<target state="needs-translation">No suggestions</target>
</trans-unit>
<trans-unit id="5320136382998259826" datatype="html">
<source>Suggest</source>
@@ -8533,7 +8533,7 @@
<context context-type="sourcefile">src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html</context>
<context context-type="linenumber">65,66</context>
</context-group>
<target state="translated">建议选项</target>
<target state="needs-translation">Suggestion options</target>
</trans-unit>
<trans-unit id="3145824396228856507" datatype="html">
<source>Not using default</source>
@@ -8541,7 +8541,7 @@
<context context-type="sourcefile">src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html</context>
<context context-type="linenumber">69,70</context>
</context-group>
<target state="translated">不使用默认值</target>
<target state="needs-translation">Not using default</target>
</trans-unit>
<trans-unit id="8102623853570619759" datatype="html">
<source>Suggest using:</source>
@@ -8549,7 +8549,7 @@
<context context-type="sourcefile">src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html</context>
<context context-type="linenumber">74,75</context>
</context-group>
<target state="translated">建议使用:</target>
<target state="needs-translation">Suggest using:</target>
</trans-unit>
<trans-unit id="5799391967036896978" datatype="html">
<source>ML</source>
@@ -8557,7 +8557,7 @@
<context context-type="sourcefile">src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html</context>
<context context-type="linenumber">77</context>
</context-group>
<target state="translated">ML</target>
<target state="needs-translation">ML</target>
</trans-unit>
<trans-unit id="3484984238852181071" datatype="html">
<source>AI</source>
@@ -8565,7 +8565,7 @@
<context context-type="sourcefile">src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html</context>
<context context-type="linenumber">81</context>
</context-group>
<target state="translated">AI</target>
<target state="needs-translation">AI</target>
</trans-unit>
<trans-unit id="9180110319941008393" datatype="html">
<source>Environment</source>
@@ -9219,7 +9219,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-barcodes/document-barcodes.component.html</context>
<context context-type="linenumber">40,41</context>
</context-group>
<target state="translated">复制内容</target>
<target state="needs-translation">Copy content</target>
</trans-unit>
<trans-unit id="2266163016683537825" datatype="html">
<source>of <x id="INTERPOLATION" equiv-text="{{previewNumPages()}}"/></source>
@@ -9255,7 +9255,7 @@
<context context-type="sourcefile">src/app/components/document-list/bulk-editor/bulk-editor.component.html</context>
<context context-type="linenumber">154</context>
</context-group>
<target state="translated">下载选项</target>
<target state="needs-translation">Download options</target>
</trans-unit>
<trans-unit id="8659635229098859487" datatype="html">
<source>Download original</source>
@@ -9479,7 +9479,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
<context context-type="linenumber">360,361</context>
</context-group>
<target state="translated">条形码</target>
<target state="needs-translation">Barcodes</target>
</trans-unit>
<trans-unit id="6992781481378431874" datatype="html">
<source>Original document metadata</source>
@@ -9727,7 +9727,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">1074</context>
</context-group>
<target state="translated">此版本的内容有未保存的更改。</target>
<target state="needs-translation">You have unsaved changes to the content of this version.</target>
</trans-unit>
<trans-unit id="85184271222513014" datatype="html">
<source>Switching versions will discard them.</source>
@@ -9735,7 +9735,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">1075</context>
</context-group>
<target state="translated">切换版本将丢弃这些更改。</target>
<target state="needs-translation">Switching versions will discard them.</target>
</trans-unit>
<trans-unit id="2565707334844767610" datatype="html">
<source>Discard and switch</source>
@@ -9743,7 +9743,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">1077</context>
</context-group>
<target state="translated">丢弃并切换</target>
<target state="needs-translation">Discard and switch</target>
</trans-unit>
<trans-unit id="2109314380040637387" datatype="html">
<source>Save and switch</source>
@@ -9751,7 +9751,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">1079</context>
</context-group>
<target state="translated">保存并切换</target>
<target state="needs-translation">Save and switch</target>
</trans-unit>
<trans-unit id="3456881259945295697" datatype="html">
<source>Error retrieving suggestions.</source>
@@ -9967,7 +9967,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-version-dropdown/add-existing-document-version-dialog/add-existing-document-version-dialog.component.html</context>
<context context-type="linenumber">13,14</context>
</context-group>
<target state="translated">请选择一份文档,将其添加为新版本。</target>
<target state="needs-translation">Select one document to add as a version.</target>
</trans-unit>
<trans-unit id="337558081609002420" datatype="html">
<source>Add version</source>
@@ -10011,7 +10011,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html</context>
<context context-type="linenumber">35,36</context>
</context-group>
<target state="translated">上传新版本</target>
<target state="needs-translation">Upload a new version</target>
</trans-unit>
<trans-unit id="278763911843514709" datatype="html">
<source>Use an existing document</source>
@@ -10019,7 +10019,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html</context>
<context context-type="linenumber">44,45</context>
</context-group>
<target state="translated">使用现有文档</target>
<target state="needs-translation">Use an existing document</target>
</trans-unit>
<trans-unit id="1906507263389090131" datatype="html">
<source>Existing</source>
@@ -10027,7 +10027,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html</context>
<context context-type="linenumber">47,48</context>
</context-group>
<target state="translated">已有的</target>
<target state="needs-translation">Existing</target>
</trans-unit>
<trans-unit id="3119565892291077820" datatype="html">
<source>Uploading version...</source>
@@ -11234,7 +11234,7 @@
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
<context context-type="linenumber">208</context>
</context-group>
<target state="translated">创建副本</target>
<target state="needs-translation">Duplicates</target>
</trans-unit>
<trans-unit id="8492379284173601938" datatype="html">
<source>Custom fields (Deprecated)</source>
@@ -11298,7 +11298,7 @@
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
<context context-type="linenumber">252</context>
</context-group>
<target state="translated">存在</target>
<target state="needs-translation">exist</target>
</trans-unit>
<trans-unit id="4528435301189613620" datatype="html">
<source>do not exist</source>
@@ -11306,7 +11306,7 @@
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
<context context-type="linenumber">256</context>
</context-group>
<target state="translated">不存在</target>
<target state="needs-translation">do not exist</target>
</trans-unit>
<trans-unit id="5195932016807797291" datatype="html">
<source>Correspondent: <x id="PH" equiv-text="this.correspondentSelectionModel.items.find( (c) =&gt; c.id == +rule.value )?.name"/></source>
@@ -11378,7 +11378,7 @@
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
<context context-type="linenumber">343</context>
</context-group>
<target state="translated">无重复项</target>
<target state="needs-translation">Without duplicates</target>
</trans-unit>
<trans-unit id="8448347828886552444" datatype="html">
<source>With duplicates</source>
@@ -11386,7 +11386,7 @@
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
<context context-type="linenumber">344</context>
</context-group>
<target state="translated">带重复项</target>
<target state="needs-translation">With duplicates</target>
</trans-unit>
<trans-unit id="8644099678903817943" datatype="html">
<source>Custom fields query</source>
@@ -11462,7 +11462,7 @@
<context context-type="sourcefile">src/app/components/manage/saved-views/saved-views.component.html</context>
<context context-type="linenumber">21</context>
</context-group>
<target state="translated">图标</target>
<target state="needs-translation">Icon</target>
</trans-unit>
<trans-unit id="8689274715612276035" datatype="html">
<source>Show in sidebar</source>
@@ -12515,7 +12515,7 @@
<context context-type="sourcefile">src/app/components/manage/share-links/share-link-list/share-link-list.component.html</context>
<context context-type="linenumber">40,41</context>
</context-group>
<target state="translated">已过期</target>
<target state="needs-translation">Expired</target>
</trans-unit>
<trans-unit id="2057574872309338088" datatype="html">
<source>Copy share link</source>
@@ -12559,7 +12559,7 @@
<context context-type="sourcefile">src/app/components/manage/share-links/share-link-bundle-list/share-link-bundle-list.component.html</context>
<context context-type="linenumber">164,165</context>
</context-group>
<target state="translated">分享链接合集分页</target>
<target state="needs-translation">Share link bundles pagination</target>
</trans-unit>
<trans-unit id="1541995860059283227" datatype="html">
<source>Failed to load share link bundles.</source>
@@ -12623,7 +12623,7 @@
<context context-type="sourcefile">src/app/components/manage/share-links/share-link-list/share-link-list.component.html</context>
<context context-type="linenumber">15,16</context>
</context-group>
<target state="translated">文档</target>
<target state="needs-translation">Document</target>
</trans-unit>
<trans-unit id="7420713064779772535" datatype="html">
<source>Delete share link</source>
@@ -12631,7 +12631,7 @@
<context context-type="sourcefile">src/app/components/manage/share-links/share-link-list/share-link-list.component.html</context>
<context context-type="linenumber">75,76</context>
</context-group>
<target state="translated">删除分享链接</target>
<target state="needs-translation">Delete share link</target>
</trans-unit>
<trans-unit id="5198271726831144068" datatype="html">
<source>Share links pagination</source>
@@ -12647,7 +12647,7 @@
<context context-type="sourcefile">src/app/components/manage/share-links/share-link-list/share-link-list.component.ts</context>
<context context-type="linenumber">105</context>
</context-group>
<target state="translated">加载分享链接失败。</target>
<target state="needs-translation">Failed to load share links.</target>
</trans-unit>
<trans-unit id="4100863040928608880" datatype="html">
<source>Error retrieving share links.</source>
@@ -12655,7 +12655,7 @@
<context context-type="sourcefile">src/app/components/manage/share-links/share-link-list/share-link-list.component.ts</context>
<context context-type="linenumber">107</context>
</context-group>
<target state="translated">获取分享链接失败。</target>
<target state="needs-translation">Error retrieving share links.</target>
</trans-unit>
<trans-unit id="326120283142363299" datatype="html">
<source>Share link deleted.</source>
@@ -12663,7 +12663,7 @@
<context context-type="sourcefile">src/app/components/manage/share-links/share-link-list/share-link-list.component.ts</context>
<context context-type="linenumber">154</context>
</context-group>
<target state="translated">分享链接已删除。</target>
<target state="needs-translation">Share link deleted.</target>
</trans-unit>
<trans-unit id="4964931417181298145" datatype="html">
<source>Error deleting share link.</source>
@@ -12671,7 +12671,7 @@
<context context-type="sourcefile">src/app/components/manage/share-links/share-link-list/share-link-list.component.ts</context>
<context context-type="linenumber">159</context>
</context-group>
<target state="translated">删除分享链接失败。</target>
<target state="needs-translation">Error deleting share link.</target>
</trans-unit>
<trans-unit id="3439104787814858626" datatype="html">
<source>Manage public links to individual documents and document bundles.</source>
@@ -12679,7 +12679,7 @@
<context context-type="sourcefile">src/app/components/manage/share-links/share-links.component.html</context>
<context context-type="linenumber">4,5</context>
</context-group>
<target state="translated">管理单个文档和文档合集的公开分享链接。</target>
<target state="needs-translation">Manage public links to individual documents and document bundles.</target>
</trans-unit>
<trans-unit id="3740311348735113099" datatype="html">
<source>Document links</source>
@@ -12687,7 +12687,7 @@
<context context-type="sourcefile">src/app/components/manage/share-links/share-links.component.html</context>
<context context-type="linenumber">18,19</context>
</context-group>
<target state="translated">文档链接</target>
<target state="needs-translation">Document links</target>
</trans-unit>
<trans-unit id="8216780576869093031" datatype="html">
<source>Bundles</source>
@@ -12695,7 +12695,7 @@
<context context-type="sourcefile">src/app/components/manage/share-links/share-links.component.html</context>
<context context-type="linenumber">26,27</context>
</context-group>
<target state="translated">捆绑包</target>
<target state="needs-translation">Bundles</target>
</trans-unit>
<trans-unit id="1229748338333965418" datatype="html">
<source>Use workflows to customize the behavior of Paperless-ngx when events &apos;trigger&apos; a workflow.</source>
@@ -13208,7 +13208,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">200</context>
</context-group>
<target state="translated">远程 OCR 引擎</target>
<target state="needs-translation">Remote OCR Engine</target>
</trans-unit>
<trans-unit id="2892372808177591734" datatype="html">
<source>Enabling remote OCR sends documents to a third-party service for processing. Consider the privacy implications as well as potential costs before enabling.</source>
@@ -13224,7 +13224,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">210</context>
</context-group>
<target state="translated">远程 OCR API 密钥</target>
<target state="needs-translation">Remote OCR API Key</target>
</trans-unit>
<trans-unit id="8592973963881683840" datatype="html">
<source>Remote OCR Endpoint</source>
@@ -13232,7 +13232,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">218</context>
</context-group>
<target state="translated">远程 OCR 端点</target>
<target state="needs-translation">Remote OCR Endpoint</target>
</trans-unit>
<trans-unit id="2477780225973884032" datatype="html">
<source>Required when using the Azure AI engine.</source>
@@ -13240,7 +13240,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="translated">使用 Azure AI 引擎时必填。</target>
<target state="needs-translation">Required when using the Azure AI engine.</target>
</trans-unit>
<trans-unit id="2908398258708722139" datatype="html">
<source>Remote OCR Mode</source>
@@ -13248,7 +13248,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">227</context>
</context-group>
<target state="translated">远程 OCR 模式</target>
<target state="needs-translation">Remote OCR Mode</target>
</trans-unit>
<trans-unit id="4022045371405916558" datatype="html">
<source>Which documents are sent to the remote engine. Use &apos;workflow_only&apos; to keep remote OCR off unless a workflow enables it for a document.</source>
+6 -6
View File
@@ -479,7 +479,7 @@
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">201</context>
</context-group>
<target state="translated">標籤、關聯方、文件類型、儲存路徑與自訂欄位等文件屬性皆可在此處管理,亦可在「文件編輯」檢視中建立。</target>
<target state="translated">標籤、關聯方、文件類型、儲存路徑與自訂欄位等屬性皆可在此處管理,亦可在「文件編輯」檢視中建立。</target>
</trans-unit>
<trans-unit id="7851939076947092983" datatype="html">
<source>Manage e-mail accounts and rules for automatically importing documents.</source>
@@ -3859,7 +3859,7 @@
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
<context context-type="linenumber">195</context>
</context-group>
<target state="translated">文件屬性</target>
<target state="translated">屬性</target>
</trans-unit>
<trans-unit id="7437910965833684826" datatype="html">
<source>Correspondents</source>
@@ -8525,7 +8525,7 @@
<context context-type="sourcefile">src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html</context>
<context context-type="linenumber">54</context>
</context-group>
<target state="translated">{VAR_PLURAL, plural, =1 {以下有 1 個可用建議} other {以下有 <x id="INTERPOLATION"/> 個可用建議}}</target>
<target state="needs-translation">{VAR_PLURAL, plural, =1 {1 suggestion available below} other {<x id="INTERPOLATION"/> suggestions available below}}</target>
</trans-unit>
<trans-unit id="4169875112244042673" datatype="html">
<source>Suggestion options</source>
@@ -9219,7 +9219,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-barcodes/document-barcodes.component.html</context>
<context context-type="linenumber">40,41</context>
</context-group>
<target state="translated">拷貝內容</target>
<target state="needs-translation">Copy content</target>
</trans-unit>
<trans-unit id="2266163016683537825" datatype="html">
<source>of <x id="INTERPOLATION" equiv-text="{{previewNumPages()}}"/></source>
@@ -9479,7 +9479,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
<context context-type="linenumber">360,361</context>
</context-group>
<target state="translated">條碼</target>
<target state="needs-translation">Barcodes</target>
</trans-unit>
<trans-unit id="6992781481378431874" datatype="html">
<source>Original document metadata</source>
@@ -13376,7 +13376,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">335</context>
</context-group>
<target state="translated">儲存條碼內容</target>
<target state="needs-translation">Store Barcode Contents</target>
</trans-unit>
<trans-unit id="7011909364081812031" datatype="html">
<source>AI Enabled</source>
+2 -18
View File
@@ -50,7 +50,6 @@ from documents.models import ShareLink
from documents.models import ShareLinkBundle
from documents.models import StoragePath
from documents.models import Tag
from documents.permissions import annotate_authorizing_fields
from documents.permissions import permitted_document_ids
from documents.permissions import permitted_object_ids
from documents.versioning import annotate_effective_content
@@ -1076,9 +1075,6 @@ class PermittedObjectsFilter(BaseFilterBackend):
include_granted: bool = True
perm_codename: str | None = None
# A self-referencing foreign key whose target authorizes a row, so a row is
# judged by its parent's owner and grants (``Document.root_document``).
parent_field: str | None = None
def filter_queryset(self, request, queryset, view):
# Before the superuser and owner-only paths, neither of which consults
@@ -1090,23 +1086,11 @@ class PermittedObjectsFilter(BaseFilterBackend):
if request.user.is_superuser:
return queryset
if not self.include_granted:
owner_field = "owner"
if self.parent_field is not None:
queryset = annotate_authorizing_fields(queryset, self.parent_field)
owner_field = "authorizing_owner"
return queryset.filter(
Q(**{owner_field: request.user.pk})
| Q(**{f"{owner_field}__isnull": True}),
)
return queryset.filter(Q(owner=request.user) | Q(owner__isnull=True))
model = queryset.model
perm = self.perm_codename or f"view_{model._meta.model_name}"
return queryset.filter(
id__in=permitted_object_ids(
request.user,
model,
perm,
parent_field=self.parent_field,
),
id__in=permitted_object_ids(request.user, model, perm),
)
@@ -67,22 +67,18 @@ class Command(PaperlessCommand):
if options.get("recreate"):
wipe_index(settings.INDEX_DIR)
documents = (
Document.objects.filter(root_document__isnull=True)
.select_related(
"correspondent",
"document_type",
"storage_path",
"owner",
)
.prefetch_related(
"tags",
"notes__user",
"custom_fields__field",
"versions",
"barcodes",
"versions__barcodes",
)
documents = Document.objects.select_related(
"correspondent",
"document_type",
"storage_path",
"owner",
).prefetch_related(
"tags",
"notes__user",
"custom_fields__field",
"versions",
"barcodes",
"versions__barcodes",
)
total = documents.count()
rebuild_kwargs = {}
+8 -29
View File
@@ -28,7 +28,6 @@ from rest_framework.permissions import BasePermission
from rest_framework.permissions import DjangoObjectPermissions
from documents.models import Document
from documents.versioning import get_root_document
class PaperlessObjectPermissions(DjangoObjectPermissions):
@@ -389,7 +388,14 @@ def permitted_object_ids(
owner_field, key_field = "owner", "pk"
if parent_field is not None:
owner_field, key_field = "authorizing_owner", "authorizing_id"
base_qs = annotate_authorizing_fields(base_qs, parent_field)
base_qs = base_qs.annotate(
authorizing_id=Coalesce(f"{parent_field}_id", "id"),
authorizing_owner=Case(
When(**{f"{parent_field}_id__isnull": True}, then=F("owner_id")),
default=F(f"{parent_field}__owner_id"),
output_field=IntegerField(),
),
)
unowned = Q(**{f"{owner_field}__isnull": True})
if user is None or not getattr(user, "is_authenticated", False):
@@ -442,26 +448,6 @@ def permitted_object_ids(
ModelT = TypeVar("ModelT", bound=Model)
def annotate_authorizing_fields(
queryset: QuerySet[ModelT],
parent_field: str,
) -> QuerySet[ModelT]:
"""
Annotate each row with ``authorizing_id`` and ``authorizing_owner``: the id
and owner of the row that authorizes it. A row with a parent (the
self-referencing foreign key ``parent_field``) is authorized by its parent,
any other row by itself.
"""
return queryset.annotate(
authorizing_id=Coalesce(f"{parent_field}_id", "id"),
authorizing_owner=Case(
When(**{f"{parent_field}_id__isnull": True}, then=F("owner_id")),
default=F(f"{parent_field}__owner_id"),
output_field=IntegerField(),
),
)
def user_is_unrestricted(user: User | None) -> bool:
"""
True when ``user`` means "no restriction at all" (an absent user, or an
@@ -693,14 +679,7 @@ def has_perms_owner_aware(user, perms, obj):
single-object check still has many production callers. Several callers
remain across ``documents/``, ``paperless_mail/``, and ``paperless_ai/``
-- grep for this function name before removing it.
A document version is authorized by its root document, like in
``permitted_document_ids``, so a version's own owner and grants never
matter. Fetch the root with ``select_related("root_document__owner")`` to
avoid extra queries.
"""
if isinstance(obj, Document):
obj = get_root_document(obj)
checker = ObjectPermissionChecker(user)
return obj.owner is None or obj.owner == user or checker.has_perm(perms, obj)
+3 -15
View File
@@ -284,14 +284,9 @@ class WriteBatch:
and adding the new version. This ensures stale document data (e.g., after
permission changes) doesn't persist in the index.
Only root documents are indexed, with their effective content, so a
version is indexed as its root document.
Args:
document: Django Document instance to index
"""
if document.root_document_id is not None:
document = document.root_document
self.remove(document.pk)
doc = self._backend._build_tantivy_doc(document)
self._writer.add_document(doc)
@@ -316,22 +311,20 @@ class WriteBatch:
An id with no matching document (e.g. deleted between the caller
collecting ids and the batch running) is silently skipped, matching
``add_or_update()``'s existing single-document deferred-task behavior
rather than erroring or leaving a stale index entry. The id of a
version stands for its root document.
rather than erroring or leaving a stale index entry.
Args:
ids: Primary keys of Document instances to index
"""
from documents.models import Document
from documents.versioning import annotate_effective_content
from documents.versioning import root_document_ids
ids = list(ids)
if not ids:
return
queryset = annotate_effective_content(
Document.objects.filter(pk__in=root_document_ids(ids))
Document.objects.filter(pk__in=ids)
.select_related("correspondent", "document_type", "storage_path", "owner")
.prefetch_related(
"tags",
@@ -1043,21 +1036,16 @@ class TantivyBackend:
excluded from results.
Args:
doc_id: Primary key of the reference document, or of one of its
versions
doc_id: Primary key of the reference document
user: User for permission filtering (None for no filtering)
limit: Maximum number of IDs to return (None = all matching docs)
Returns:
List of similar document IDs (excluding the original)
"""
from documents.versioning import root_document_ids
self._ensure_open()
searcher = self._index.searcher()
# Only root documents are indexed, so a version stands for its root
doc_id = next(iter(root_document_ids([doc_id])), doc_id)
id_query = tantivy.Query.term_query(self._schema, "id", doc_id)
results = searcher.search(id_query, limit=1)
+1 -3
View File
@@ -28,9 +28,7 @@ logger = logging.getLogger("paperless.search")
# columns dropped. tantivy compares schemas by ordered field list, so an
# index built by v1 rejects every write against the v2 schema.
# v3 - barcodes JSON field for stored barcode contents
# v4 - root documents only. Earlier indexes may hold document versions under
# their own id and metadata, so they are rebuilt without them.
SCHEMA_VERSION: Final[int] = 4
SCHEMA_VERSION: Final[int] = 3
# Present in the index directory from the moment a full rebuild starts until it
# finishes. If a rebuild is interrupted it is left behind, so the half-built
+2 -1
View File
@@ -90,6 +90,7 @@ from documents.templating.utils import convert_format_str_to_template_format
from documents.templating.workflows import validate_workflow_template
from documents.validators import uri_validator
from documents.validators import url_validator
from documents.versioning import get_root_document
from documents.versioning import has_prefetched_effective_content
from documents.versioning import sort_versions_newest_first
@@ -2894,7 +2895,7 @@ class ShareLinkSerializer(OwnedObjectSerializer):
and has_perms_owner_aware(
self.user,
"view_document",
document,
get_root_document(document),
)
):
return document
+8 -5
View File
@@ -490,20 +490,23 @@ def update_document_content_maybe_archive_file(
shutil.move(thumbnail, document.thumbnail_path)
document.refresh_from_db()
root_document = (
document.root_document if document.root_document_id else document
)
logger.info(
f"Updating index for document {document_id} ({document.archive_checksum})",
f"Updating index for document {root_document.pk} ({document.archive_checksum})",
)
from documents.search import get_backend
get_backend().add_or_update(document)
get_backend().add_or_update(root_document)
ai_config = AIConfig()
if ai_config.llm_index_enabled:
llm_index_add_or_update_document(document)
llm_index_add_or_update_document(root_document)
clear_document_caches(document.pk)
if document.root_document_id is not None:
clear_document_caches(document.root_document_id)
if root_document.pk != document.pk:
clear_document_caches(root_document.pk)
except Exception:
logger.exception(
-102
View File
@@ -293,80 +293,6 @@ class TestAddOrUpdateIds:
assert backend.search_ids("updated", user=None) == [doc.pk]
class TestVersionsAreIndexedAsTheirRoot:
"""Only root documents are indexed, with their effective content, so
every write path that is handed a version indexes its root instead."""
@staticmethod
def _root_with_version() -> tuple[Document, Document]:
root = DocumentFactory(title="Statement", content="stale text")
version = DocumentFactory(
title="Statement",
content="latest text",
root_document=root,
version_index=1,
)
return root, version
def test_add_or_update_indexes_the_root_of_a_version(
self,
backend: TantivyBackend,
) -> None:
"""
GIVEN:
- A root document with a version
WHEN:
- The version is passed to add_or_update
THEN:
- The root is indexed with the version's text, and the version is not
"""
root, version = self._root_with_version()
backend.add_or_update(version)
assert backend.search_ids("latest", user=None) == [root.pk]
assert backend.search_ids("stale", user=None) == []
def test_add_or_update_ids_indexes_each_root_once(
self,
backend: TantivyBackend,
) -> None:
"""
GIVEN:
- A root document with a version
WHEN:
- Both ids are passed to add_or_update_ids
THEN:
- The root is indexed once and the version is not indexed
"""
root, version = self._root_with_version()
with backend.batch_update() as batch:
batch.add_or_update_ids([version.pk, root.pk])
assert backend.search_ids("Statement", user=None) == [root.pk]
assert backend.search_ids("latest", user=None) == [root.pk]
def test_add_or_update_ids_resolves_a_lone_version(
self,
backend: TantivyBackend,
) -> None:
"""
GIVEN:
- A root document with a version
WHEN:
- Only the version's id is passed to add_or_update_ids
THEN:
- The root is indexed
"""
root, version = self._root_with_version()
with backend.batch_update() as batch:
batch.add_or_update_ids([version.pk])
assert backend.search_ids("latest", user=None) == [root.pk]
class TestSearch:
"""Test search query parsing and matching via search_ids."""
@@ -1136,34 +1062,6 @@ class TestMoreLikeThis:
assert 150 not in ids
assert 151 in ids
def test_more_like_this_ids_seeded_by_version_uses_root(
self,
backend: TantivyBackend,
) -> None:
"""A version is not indexed, so it must be looked up as its root."""
root = DocumentFactory.create(
title="Important document",
content="financial information report",
)
version = DocumentFactory.create(
title="Important document",
content="financial information report",
root_document=root,
version_index=1,
)
other = DocumentFactory.create(
title="Another document",
content="financial information report",
)
backend.add_or_update(root)
backend.add_or_update(other)
ids = backend.more_like_this_ids(doc_id=version.pk, user=None)
assert other.pk in ids
assert root.pk not in ids
assert version.pk not in ids
class TestSingleton:
"""Test get_backend() and reset_backend() singleton lifecycle."""
-86
View File
@@ -1196,59 +1196,6 @@ class TestDocumentSearchApi(DirectoriesMixin, APITestCase):
self.assertIn(d3.id, result_ids)
self.assertNotIn(d4.id, result_ids)
def test_search_more_like_version_uses_its_root(self) -> None:
"""
GIVEN:
- A document similar in content to a root document, and one that is not
- A version of the root document, which is never indexed
WHEN:
- API request for more like the version
THEN:
- The documents similar to the root are returned, not the version
"""
indexed = {}
for name, title, content, day in (
("root", "bank statement 1", "things i paid for in august", (2019, 3, 4)),
(
"similar",
"bank statement 3",
"things i paid for in september",
(2020, 7, 9),
),
(
"other",
"Quarterly Report",
"quarterly revenue profit margin",
(2021, 11, 30),
),
):
with time_machine.travel(
timezone.make_aware(datetime.datetime(*day)),
tick=False,
):
indexed[name] = DocumentFactory(
title=title,
content=content,
created=datetime.date(*day),
added=timezone.make_aware(datetime.datetime(*day)),
)
version = DocumentFactory(
root_document=indexed["root"],
version_index=1,
content="things i paid for in august",
)
backend = get_backend()
for document in indexed.values():
backend.add_or_update(document)
response = self.client.get(f"/api/documents/?more_like_id={version.id}")
self.assertEqual(response.status_code, status.HTTP_200_OK)
result_ids = [r["id"] for r in response.data["results"]]
self.assertIn(indexed["similar"].id, result_ids)
self.assertNotIn(indexed["other"].id, result_ids)
self.assertNotIn(version.id, result_ids)
def test_more_like_requires_id_of_existing_document(self) -> None:
"""
GIVEN:
@@ -1314,39 +1261,6 @@ class TestDocumentSearchApi(DirectoriesMixin, APITestCase):
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
self.assertEqual(response.content, b"Insufficient permissions.")
def test_search_more_like_version_requires_view_permission_on_its_root(
self,
) -> None:
"""
GIVEN:
- Another user's private root document with an unowned version
WHEN:
- A user without access requests more-like-this for the version
THEN:
- The request is rejected, the version's missing owner grants nothing
"""
owner = UserFactory(username="owner")
attacker = UserFactory(username="attacker")
grant_global(attacker, "view_document")
private_root = DocumentFactory(
title="private bank statement",
content="quarterly treasury bank statement wire transfer",
owner=owner,
)
version = DocumentFactory(
root_document=private_root,
version_index=1,
owner=None,
)
get_backend().add_or_update(private_root)
self.client.force_authenticate(user=attacker)
response = self.client.get(f"/api/documents/?more_like_id={version.id}")
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
self.assertEqual(response.content, b"Insufficient permissions.")
def test_search_filtering(self) -> None:
t = Tag.objects.create(name="tag")
t2 = Tag.objects.create(name="tag2")
-22
View File
@@ -22,7 +22,6 @@ from documents.models import Document
from documents.tasks import update_document_content_maybe_archive_file
from paperless_testing.assertions import FileSystemAssertsMixin
from paperless_testing.dirs import DirectoriesMixin
from paperless_testing.factories import DocumentFactory
sample_file: Path = Path(__file__).parent / "samples" / "simple.pdf"
@@ -117,27 +116,6 @@ class TestMakeIndex:
call_command("document_index", "reindex", skip_checks=True)
mock_get_backend.return_value.rebuild.assert_called_once()
def test_reindex_skips_versions(self, mocker: MockerFixture) -> None:
"""
GIVEN:
- A root document with a version
WHEN:
- The reindex command runs
THEN:
- Only the root document is handed to the rebuild, since a version
is indexed as its root
"""
root = DocumentFactory()
DocumentFactory(root_document=root, version_index=1)
mock_get_backend = mocker.patch(
"documents.management.commands.document_index.get_backend",
)
call_command("document_index", "reindex", skip_checks=True)
documents = mock_get_backend.return_value.rebuild.call_args.args[0]
assert list(documents.values_list("pk", flat=True)) == [root.pk]
def test_optimize(self) -> None:
"""Optimize command must execute without error (Tantivy handles optimization automatically)."""
call_command("document_index", "optimize", skip_checks=True)
@@ -18,7 +18,6 @@ from documents.models import Correspondent
from documents.models import DocumentType
from documents.models import StoragePath
from documents.models import Tag
from documents.permissions import has_perms_owner_aware
from documents.permissions import permitted_document_ids
from documents.permissions import permitted_object_ids
from documents.permissions import restrict_queryset_to_visible
@@ -471,92 +470,6 @@ class TestPermittedDocumentIdsVersions:
)
@pytest.mark.django_db
class TestHasPermsOwnerAwareVersions:
"""
The single-object check agrees with permitted_document_ids: a version is
authorized by its root document.
"""
@pytest.mark.parametrize(
("root_owner", "version_owner", "expected"),
[
pytest.param(
"other",
"nobody",
False,
id="unowned-version-of-private-root",
),
pytest.param("other", "user", False, id="own-version-of-private-root"),
pytest.param("user", "other", True, id="foreign-version-of-own-root"),
pytest.param("nobody", "other", True, id="private-version-of-unowned-root"),
],
)
def test_version_follows_root_owner(
self,
root_owner: str,
version_owner: str,
*,
expected: bool,
) -> None:
"""
GIVEN:
- A root document and a version with differing owners
WHEN:
- The single-object check runs for the version
THEN:
- The version is allowed exactly when its root is
"""
user = UserFactory()
owners = {"user": user, "other": UserFactory(), "nobody": None}
root = DocumentFactory(owner=owners[root_owner])
version = DocumentFactory(root_document=root, owner=owners[version_owner])
assert has_perms_owner_aware(user, "view_document", version) is expected
assert has_perms_owner_aware(user, "view_document", root) is expected
def test_grant_on_root_applies_and_grant_on_version_does_not(self) -> None:
"""
GIVEN:
- A private root with a version, and a second private root with a version
- The user may change only the first root, and was granted the second
root's version directly
WHEN:
- The single-object check runs for each version
THEN:
- Only the first root's version is allowed
"""
user = UserFactory()
shared_root = DocumentFactory(owner=UserFactory())
shared_version = DocumentFactory(root_document=shared_root, owner=UserFactory())
private_root = DocumentFactory(owner=UserFactory())
private_version = DocumentFactory(
root_document=private_root,
owner=UserFactory(),
)
grant_object(user, shared_root, "change_document")
grant_object(user, private_version, "change_document")
assert has_perms_owner_aware(user, "change_document", shared_version)
assert not has_perms_owner_aware(user, "change_document", private_version)
def test_other_models_use_their_own_owner(self) -> None:
"""
GIVEN:
- A tag owned by someone else, and one owned by the user
WHEN:
- The single-object check runs for each
THEN:
- Only the user's own tag is allowed without a grant
"""
user = UserFactory()
mine = TagFactory(owner=user)
theirs = TagFactory(owner=UserFactory())
assert has_perms_owner_aware(user, "view_tag", mine)
assert not has_perms_owner_aware(user, "view_tag", theirs)
@pytest.mark.django_db
class TestAiChatAllDocumentsPermissionBoundary:
"""
+9 -7
View File
@@ -310,7 +310,7 @@ class TestUpdateContent(DirectoriesMixin, TestCase):
@mock.patch("documents.tasks.clear_document_caches")
@mock.patch("documents.search.get_backend")
def test_update_content_version_clears_caches_for_root(
def test_update_content_version_indexes_root(
self,
mock_get_backend: mock.Mock,
mock_clear_caches: mock.Mock,
@@ -321,8 +321,8 @@ class TestUpdateContent(DirectoriesMixin, TestCase):
WHEN:
- Update content task is called for the version
THEN:
- The version's content is updated, not the root's
- The document is indexed
- The version's content is updated
- The root document is indexed rather than the version
- Caches are cleared for both
"""
root, version = self._create_root_with_version()
@@ -334,7 +334,8 @@ class TestUpdateContent(DirectoriesMixin, TestCase):
"my document",
)
self.assertEqual(Document.objects.get(pk=root.pk).content, "root content")
mock_get_backend.return_value.add_or_update.assert_called_once()
indexed = mock_get_backend.return_value.add_or_update.call_args.args[0]
self.assertEqual(indexed.pk, root.pk)
mock_clear_caches.assert_has_calls(
[mock.call(version.pk), mock.call(root.pk)],
)
@@ -342,7 +343,7 @@ class TestUpdateContent(DirectoriesMixin, TestCase):
@override_settings(AI_ENABLED=True, LLM_EMBEDDING_BACKEND="huggingface")
@mock.patch("documents.tasks.llm_index_add_or_update_document")
@mock.patch("documents.search.get_backend")
def test_update_content_version_updates_llm_index(
def test_update_content_version_updates_llm_index_for_root(
self,
mock_get_backend: mock.Mock,
mock_llm_index: mock.Mock,
@@ -354,13 +355,14 @@ class TestUpdateContent(DirectoriesMixin, TestCase):
WHEN:
- Update content task is called for the version
THEN:
- The LLM index is updated
- The LLM index is updated for the root document, not the version
"""
_, version = self._create_root_with_version()
root, version = self._create_root_with_version()
tasks.update_document_content_maybe_archive_file(version.pk)
mock_llm_index.assert_called_once()
self.assertEqual(mock_llm_index.call_args.args[0].pk, root.pk)
class TestUpdateContentRemoteOCR(DirectoriesMixin, TestCase):
-17
View File
@@ -17,26 +17,9 @@ from django.db.models.functions import RowNumber
from documents.models import Document
if TYPE_CHECKING:
from collections.abc import Iterable
from rest_framework.request import Request
def root_document_ids(ids: Iterable[int]) -> QuerySet[int]:
"""
The ids of the root documents of the given documents: a root stands for
itself and a version for its root. Only the indexes' bookkeeping needs
this, since they hold root documents only.
"""
return (
Document.objects.filter(pk__in=ids)
.annotate(root_id=Coalesce("root_document_id", "id"))
.order_by()
.values_list("root_id", flat=True)
.distinct()
)
def versions_newest_first(documents: QuerySet[Document]) -> QuerySet[Document]:
"""
Sorts versions so the newest one comes first using version_index and not on id,
+28 -14
View File
@@ -329,10 +329,9 @@ def _get_tantivy_query_and_mode(params):
def _get_more_like_id(query_params: dict[str, Any], user: User | None) -> int:
try:
more_like_doc_id = int(query_params["more_like_id"])
more_like_doc = Document.objects.select_related(
"owner",
"root_document__owner",
).get(pk=more_like_doc_id)
more_like_doc = Document.objects.select_related("owner").get(
pk=more_like_doc_id,
)
except (TypeError, ValueError, Document.DoesNotExist):
raise PermissionDenied(_("Invalid more_like_id"))
@@ -343,8 +342,7 @@ def _get_more_like_id(query_params: dict[str, Any], user: User | None) -> int:
):
raise PermissionDenied(_("Insufficient permissions."))
# Only root documents are indexed, a version stands for its root
return more_like_doc.root_document_id or more_like_doc.pk
return more_like_doc_id
class SearchParams(NamedTuple):
@@ -1561,7 +1559,7 @@ class DocumentViewSet(
if request.user is not None and not has_perms_owner_aware(
request.user,
"change_document",
doc,
get_root_document(doc),
):
return HttpResponseForbidden("Insufficient permissions")
@@ -1624,7 +1622,7 @@ class DocumentViewSet(
if request.user is not None and not has_perms_owner_aware(
request.user,
"change_document",
doc,
get_root_document(doc),
):
return HttpResponseForbidden("Insufficient permissions")
@@ -1877,7 +1875,7 @@ class DocumentViewSet(
if currentUser is not None and not has_perms_owner_aware(
currentUser,
"view_document",
doc,
get_root_document(doc),
):
return HttpResponseForbidden("Insufficient permissions to view notes")
except Document.DoesNotExist:
@@ -1899,7 +1897,7 @@ class DocumentViewSet(
if currentUser is not None and not has_perms_owner_aware(
currentUser,
"change_document",
doc,
get_root_document(doc),
):
return HttpResponseForbidden(
"Insufficient permissions to create notes",
@@ -1942,7 +1940,7 @@ class DocumentViewSet(
if currentUser is not None and not has_perms_owner_aware(
currentUser,
"change_document",
doc,
get_root_document(doc),
):
return HttpResponseForbidden("Insufficient permissions to delete notes")
@@ -1992,7 +1990,7 @@ class DocumentViewSet(
if currentUser is not None and not has_perms_owner_aware(
currentUser,
"change_document",
doc,
get_root_document(doc),
):
return HttpResponseForbidden(
"Insufficient permissions to add share link",
@@ -2453,7 +2451,7 @@ class ChatStreamingView(GenericAPIView[Any]):
if not has_perms_owner_aware(
request.user,
"view_document",
document,
get_root_document(document),
):
return HttpResponseForbidden("Insufficient permissions")
@@ -5602,7 +5600,23 @@ class TrashView(ListModelMixin, PassUserMixin):
class _TrashPermittedObjectsFilter(PermittedObjectsFilter):
include_granted = False
parent_field = "root_document"
def filter_queryset(self, request, queryset, view):
if request.user.is_superuser or not request.user.is_active:
return super().filter_queryset(request, queryset, view)
# A version belongs to whoever owns its root
def owned_or_unowned(prefix: str) -> Q:
return Q(**{f"{prefix}owner": request.user}) | Q(
**{f"{prefix}owner__isnull": True},
)
return queryset.filter(
(Q(root_document__isnull=True) & owned_or_unowned(""))
| (
Q(root_document__isnull=False) & owned_or_unowned("root_document__")
),
)
filter_backends = (_TrashPermittedObjectsFilter,)
pagination_class = StandardPagination
+76 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Afrikaans\n"
"Language: af_ZA\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumente"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Waarde moet geldige JSON wees."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Ongeldige gepasmaakte veldnavraaguitdrukking"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Ongeldige uitdrukking lys. Moet nie leeg wees nie."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Ongeldige logiese uitdrukking {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr ""
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr ""
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr ""
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "Ongeldige veranderlike bespeur."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1912,44 +1912,59 @@ msgstr ""
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/validators.py:36
msgid ", "
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr ""
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr ""
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr ""
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr ""
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2241,151 +2256,151 @@ msgstr ""
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Engels (VS)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Arabies"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr ""
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Belorussies"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr ""
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Katalaans"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Tsjeggies"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Deens"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Duits"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr ""
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Engels (GB)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Spaans"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Fins"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Frans"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr ""
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Italiaans"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr ""
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr ""
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Luxemburgs"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr ""
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Nederlands"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Pools"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Portugees (Brasilië)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Portugees"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Roemeens"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Russies"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr ""
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Sloweens"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Serwies"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Sweeds"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Turks"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr ""
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Vereenvoudigde Sjinees"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr ""
+76 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Amharic\n"
"Language: am_ET\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "መዝገባት"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "የሚሰራው እሴት \"JSON\" መሆን አለበት"
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "ልክ ያልሆነ የተወሰነ የቦታ መጠይቅ አገላለጽ"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "ልክ ያልሆነ የመግለጫ ዝርዝር። ባዶ መሆን የለበትም።"
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "ልክ ያልሆነ የሎጂክ ኦፕሬተር {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "ከፍተኛው የጥያቄ ሁኔታዎች/መጠን ብዛት አልፏል።"
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} ይሄ ታዐማኒነት ያለው ልማድ አይደለም።"
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "ጥያቄን አይደግፍም expr {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "ከፍተኛው የጥገኝነት ጥልቀት አልፏል።"
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "ይህ ልማድ አልተገኘም"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr ""
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1912,44 +1912,59 @@ msgstr ""
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/validators.py:36
msgid ", "
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr ""
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr ""
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr ""
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr ""
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2241,151 +2256,151 @@ msgstr ""
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr ""
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr ""
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr ""
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr ""
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr ""
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr ""
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr ""
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr ""
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr ""
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr ""
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr ""
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr ""
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr ""
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr ""
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr ""
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr ""
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr ""
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr ""
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr ""
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr ""
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr ""
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr ""
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr ""
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr ""
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr ""
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr ""
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr ""
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr ""
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr ""
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr ""
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr ""
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr ""
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr ""
+76 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Arabic\n"
"Language: ar_SA\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "المستندات"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "يجب أن تكون القيمة JSON."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "تعبير استعلام غير صالح للحقول المخصصة"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "قائمة عبارة خاطئة."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "تجاوز الحد الأقصى لعدد شروط الاستعلام."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} حقل مخصص غير صالح."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} لا يدعم تعبير الاستعلام {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "لم يتم العثور على حقل مخصص"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "اكتشاف متغير خاطئ."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1913,44 +1913,59 @@ msgstr "أنت على وشك استعمال حسابك في %(provider_name)s ل
msgid "As a final step, please complete the following form:"
msgstr "كخطوة أخيرة، يرجى ملء النموذج التالي:"
#: documents/validators.py:36
msgid ", "
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr ""
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr ""
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr ""
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr ""
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2242,151 +2257,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "إعدادات التطبيق paperless"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "الإنجليزية (الولايات المتحدة)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "العربية"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "اللغة الأفريقانية"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "البيلاروسية"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "البلغارية"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "اللغة الكتالونية"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "التشيكية"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "الدانماركية"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "الألمانية"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "اليونانية"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "الإنجليزية (المملكة المتحدة)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "الإسبانية"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "الفنلندية"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "الفرنسية"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "المجرية"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "الإيطالية"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "اليابانية"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr ""
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "اللوكسمبرجية"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "النرويجية"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "الهولندية"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "البولندية"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "البرتغالية (البرازيل)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "البرتغالية"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "الرومانية"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "الروسية"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "السلوفاكية"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "السلوفانية"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "الصربية"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "السويدية"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "التركية"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "الأوكرانية"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "الصينية المبسطة"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr ""
+76 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Belarusian\n"
"Language: be_BY\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Дакументы"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr ""
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr ""
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr ""
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr ""
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr ""
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr ""
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "Выяўлена няправільная зменная."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1912,44 +1912,59 @@ msgstr ""
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/validators.py:36
msgid ", "
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr ""
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr ""
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr ""
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr ""
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2241,151 +2256,151 @@ msgstr ""
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Англійская (ЗША)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr ""
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr ""
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Беларуская"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr ""
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr ""
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Чэшская"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Дацкая"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Нямецкая"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr ""
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Англійская (Вялікабрытанія)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Іспанская"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr ""
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Французская"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr ""
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Італьянская"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr ""
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr ""
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Люксембургская"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr ""
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Нідэрландская"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Польская"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Партугальская (Бразілія)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Партугальская"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Румынская"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Руская"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr ""
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Славенская"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Сербская"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Шведская"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Турэцкая"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr ""
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Кітайская спрошчаная"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr ""
+76 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Bulgarian\n"
"Language: bg_BG\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Документи"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Стойността трябва да е валидна JSON."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Невалидна заявка на персонализираното полето"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Списък с невалиден израз. Не може да е празно."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Невалиден логически оператор {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Надвишен е максимален брой за заявки."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} не е валидно персонализирано поле."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} не поддържа заявка expr {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Надвишена е максималната дълбочина на вмъкване."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Персонализирано поле не е намерено"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "стартиране на работните процеси"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "Засечена е невалидна променлива."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1913,44 +1913,59 @@ msgstr "На път сте да използвате профила си в %(pr
msgid "As a final step, please complete the following form:"
msgstr "Като последна стъпка, моля, попълнете следната форма:"
#: documents/validators.py:36
msgid ", "
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr ""
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr ""
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr ""
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr ""
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2242,151 +2257,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "настройки на софтуера"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Английски (САЩ)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Арабски"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Африканс"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Беларуски"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Български"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Каталунски"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Чешки"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Датски"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Немски"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Гръцки"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Английски (Великобритания)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Испански"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Финландски"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Френски"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Унгарски"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Италиански"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Японски"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Корейски"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Люксембургски"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Норвежки"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Холандски"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Полски"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Португалски (Бразилия)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Португалски"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Румънски"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Руски"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Словашки"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Словенски"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Сръбски"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Шведски"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Турски"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Украински"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Китайски опростен"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "Китайски традиционен"
+77 -62
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Catalan\n"
"Language: ca_ES\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Documents "
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Valor ha de ser un JSON valid."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Expressió de camp de consulta invàlid"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Expressió de llista invàlida. No ha d'estar buida."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Invàlid operand lògic {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Condicions de consulta excedits."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} no és un camp personalitzat vàlid."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} no suporta expressió de consulta {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Màxima profunditat anidada excedida."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Camp personalitzat no trobat"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "flux corrents"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Permisos insuficients."
@@ -1676,7 +1676,7 @@ msgstr "Variable detectada invàlida."
msgid "Duplicate document identifiers are not allowed."
msgstr "Duplicat d'identificadors de documents no permès."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Documents no trobats: %(ids)s"
@@ -1913,44 +1913,59 @@ msgstr "Estàs a punt d'emprar el teu %(provider_name)s compte per a fer login."
msgid "As a final step, please complete the following form:"
msgstr "Com a pas final, completa el següent formulari:"
#: documents/validators.py:36
msgid ", "
msgstr ""
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "No es pot analitzar l'URI {value}, falta l'esquema"
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr "No es pot analitzar l'URI {value}, falta la ubicació de xarxa o la ruta"
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "L'esquema d'URI '{parts.scheme}' no està permès. Esquemes permesos: {', '.join(allowed_schemes)}"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "No s'ha pogut analitzar l'URI {value}"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr "Invalid more_like_id"
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr "Configuració AI invàlida."
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Especifica només un dels següents valors: text, title_search, query o more_like_id."
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Permisos insuficients per compartir document %(id)s."
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr "Paquet ja s'està processant."
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "El paquet de link encarà s'està preparant. Prova de nou més tard."
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "El paquet d'enllaç no està disponible."
@@ -2242,151 +2257,151 @@ msgstr "Estableix temps d'espera en segons"
msgid "paperless application settings"
msgstr "configuració de l'aplicació paperless"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Anglès (US)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Àrab"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Africà"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Bielorús"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Búlgar"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Català"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Txec"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Danès"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Alemany"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Grec"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Anglès (GB)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Espanyol"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "Persa"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Finès"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Francès"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Hongarès"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr "Indonesi"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Italià"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Japonès"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Coreà"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Luxemburguès"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Noruec"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Holandès"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Polonès"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Portuguès (Brasil)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Portuguès"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Romanès"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Rus"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Eslovac"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Eslovè"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Serbi"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Suec"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Turc"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Ucranià"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "Vietnamita"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Xinès Simplificat"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "Xinès tradicional"
+78 -62
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Language: cs_CZ\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenty"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Hodnota musí být platný JSON."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Neplatný výraz dotazu na vlastní pole"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Neplatný seznam výrazů. Nesmí být prázdný."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Neplatný logický operátor {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Překročen maximální počet podmínek dotazu."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} není platné vlastní pole."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} nepodporuje výraz dotazu {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Překročena maximální hloubka větvení."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Vlastní pole nebylo nalezeno"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "spuštění pracovních postupů"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Nedostatečná oprávnění."
@@ -1676,7 +1676,7 @@ msgstr "Zjištěna neplatná proměnná."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1913,44 +1913,60 @@ msgstr "Chystáte se použít svůj účet %(provider_name)s k přihlášení."
msgid "As a final step, please complete the following form:"
msgstr "Jako poslední krok vyplňte následující formulář:"
#: documents/validators.py:36
msgid ", "
msgstr ""
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "Nelze analyzovat URI {value}, chybí schéma"
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr "Nelze analyzovat URI {value}, chybí síťové umístění nebo cesta"
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "URI schéma '{parts.scheme}' není povoleno. Povolená schémata: {',\n"
"'.join(allowed_schemes)}"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "Nelze zpracovat URI {value}"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Nedostatečná oprávnění ke sdílení dokumentu %(id)s."
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2242,151 +2258,151 @@ msgstr "Nastaví časový limit LLM v sekundách"
msgid "paperless application settings"
msgstr "nastavení aplikace paperless"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Angličtina (US)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Arabština"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Afrikánština"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Běloruština"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Bulharština"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Katalánština"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Čeština"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Dánština"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Němčina"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Řečtina"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Angličtina (GB)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Španělština"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "Perština"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Finština"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Francouzština"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Maďarština"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr "Indonéština"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Italština"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Japonština"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Korejština"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Lucemburština"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Norština"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Holandština"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Polština"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Portugalština (Brazílie)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Portugalština"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Rumunština"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Ruština"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Slovenština"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Slovinština"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Srbština"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Švédština"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Turečtina"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Ukrajinština"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "Vietnamština"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Čínština (zjednodušená)"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "Čínština (tradiční)"
+76 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Danish\n"
"Language: da_DK\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenter"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Værdien skal være gyldig JSON."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Ugyldigt tilpasset feltforespørgselsudtryk"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Ugyldig udtryksliste. Må ikke være tom."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Ugyldig logisk operatør {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Maksimalt antal forespørgselsbetingelser overskredet."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} er ikke et gyldigt tilpasset felt."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} understøtter ikke forespørgsel expr {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Maksimal indlejringsdybde overskredet."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Tilpasset felt ikke fundet"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "workflow-kørsler"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "Ugyldig variabel fundet."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1913,44 +1913,59 @@ msgstr "En %(provider_name)s-konto er ved at blive brugt til indlogning."
msgid "As a final step, please complete the following form:"
msgstr "Som sidste trin, udfyld venligst flg. formular:"
#: documents/validators.py:36
msgid ", "
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr ""
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr ""
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr ""
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr ""
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2242,151 +2257,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "paperless-applikationsindstillinger"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Engelsk (USA)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr ""
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Afrikaans"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Hviderussisk"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Bulgarsk"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Katalansk"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Tjekkisk"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Dansk"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Tysk"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Græsk"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Engelsk (GB)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Spansk"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Finsk"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Fransk"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Ungarsk"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Italiensk"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Japansk"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Koreansk"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Luxemburgsk"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Norsk"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Hollandsk"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Polsk"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Portugisisk (Brasilien)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Portugisisk"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Romansk"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Russisk"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Slovakisk"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Slovensk"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Serbisk"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Svensk"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Tyrkisk"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Ukrainsk"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Kinesisk, forenklet"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "Kinesisk, traditionelt"
+77 -62
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: German, Switzerland\n"
"Language: de_CH\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumente"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Wert muss gültiges JSON sein."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Ungültiger benutzerdefinierter Feldabfrageausdruck"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Ungültige Ausdrucksliste. Darf nicht leer sein."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Ungültiger logischer Operator {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Maximale Anzahl an Abfragebedingungen überschritten."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} ist kein gültiges Zusatzfeld."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} unterstützt den Abfrageausdruck {expr!r} nicht."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Maximale Verschachtelungstiefe überschritten."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Benutzerdefiniertes Feld nicht gefunden"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "Arbeitsablauf wird ausgeführt"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Unzureichende Berechtigungen."
@@ -1676,7 +1676,7 @@ msgstr "Ungültige Variable erkannt."
msgid "Duplicate document identifiers are not allowed."
msgstr "Doppelte Dokumentbezeichner sind nicht erlaubt."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumente nicht gefunden: %(ids)s"
@@ -1913,44 +1913,59 @@ msgstr "Sie sind dabei, Ihr %(provider_name)s-Konto zur Anmeldung zu verwenden."
msgid "As a final step, please complete the following form:"
msgstr "Bitte füllen Sie zum Abschluss folgendes Formular aus:"
#: documents/validators.py:36
msgid ", "
msgstr ""
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "URI {value} kann nicht gelesen werden, fehlendes Schema"
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr "URI {value} kann nicht gelesen werden, Netzadresse oder Pfad fehlt"
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "URI-Schema „{parts.scheme}“ ist nicht erlaubt. Erlaubte Schemata: {', '.join(allowed_schemes)}"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "URI {value} kann nicht gelesen werden"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr "Ungültige more_like_id"
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr "Ungültige KI-Konfiguration."
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Geben Sie nur einen von text, title_search, query, oder more_like_id an."
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Unzureichende Berechtigungen, um Dokument %(id)s zu teilen."
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr "Paket wird bereits verarbeitet."
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Das Freigabelink-Paket wird noch vorbereitet. Bitte versuchen Sie es später erneut."
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Das Freigabelink-Paket ist nicht verfügbar."
@@ -2242,151 +2257,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "Paperless-ngx-Anwendungseinstellungen"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Englisch (US)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Arabisch"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Afrikanisch"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Belarussisch"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Bulgarisch"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Katalanisch"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Tschechisch"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Dänisch"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Deutsch"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Griechisch"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Englisch (UK)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Spanisch"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "Persisch"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Finnisch"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Französisch"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Ungarisch"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr "Indonesisch"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Italienisch"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Japanisch"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Koreanisch"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Luxemburgisch"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Norwegisch"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Niederländisch"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Polnisch"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Portugiesisch (Brasilien)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Portugiesisch"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Rumänisch"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Russisch"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Slowakisch"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Slowenisch"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Serbisch"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Schwedisch"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Türkisch"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Ukrainisch"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "Vietnamesisch"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Chinesisch (vereinfacht)"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "Chinesisch (traditionell)"
+77 -62
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-06 00:56\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Language: de_DE\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumente"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Wert muss gültiges JSON sein."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Ungültiger Zusatzfeld-Abfrageausdruck"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Ungültige Ausdrucksliste. Darf nicht leer sein."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Ungültiger logischer Operator {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Maximale Anzahl an Abfragebedingungen überschritten."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} ist kein gültiges Zusatzfeld."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} unterstützt den Abfrageausdruck {expr!r} nicht."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Maximale Verschachtelungstiefe überschritten."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Zusatzfeld nicht gefunden"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "Arbeitsablauf wird ausgeführt"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Unzureichende Berechtigungen."
@@ -1676,7 +1676,7 @@ msgstr "Ungültige Variable erkannt."
msgid "Duplicate document identifiers are not allowed."
msgstr "Doppelte Dokumentbezeichner sind nicht erlaubt."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumente nicht gefunden: %(ids)s"
@@ -1913,44 +1913,59 @@ msgstr "Sie sind dabei, Ihr %(provider_name)s-Konto zur Anmeldung zu verwenden."
msgid "As a final step, please complete the following form:"
msgstr "Bitte füllen Sie zum Abschluss folgendes Formular aus:"
#: documents/validators.py:36
msgid ", "
msgstr ""
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "URI {value} kann nicht gelesen werden, fehlendes Schema"
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr "URI {value} kann nicht gelesen werden, Netzadresse oder Pfad fehlt"
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "URI-Schema „{parts.scheme}“ ist nicht erlaubt. Erlaubte Schemata: {', '.join(allowed_schemes)}"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "URI {value} kann nicht gelesen werden"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr "Ungültige more_like_id"
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr "Ungültige KI-Konfiguration."
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr "Zeitüberschreitung bei der KI-Backendanfrage."
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr "Das KI-Backend hat die Anfrage abgelehnt. Details in den Protokollen."
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Geben Sie nur einen von text, title_search, query, oder more_like_id an."
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Unzureichende Berechtigungen, um Dokument %(id)s zu teilen."
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr "Paket wird bereits verarbeitet."
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Das Freigabelink-Paket wird noch vorbereitet. Bitte versuchen Sie es später erneut."
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Das Freigabelink-Paket ist nicht verfügbar."
@@ -2242,151 +2257,151 @@ msgstr "Legt das LLM-Zeitlimit in Sekunden fest"
msgid "paperless application settings"
msgstr "Paperless-ngx-Anwendungseinstellungen"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Englisch (US)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Arabisch"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Afrikanisch"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Belarussisch"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Bulgarisch"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Katalanisch"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Tschechisch"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Dänisch"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Deutsch"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Griechisch"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Englisch (UK)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Spanisch"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "Persisch"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Finnisch"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Französisch"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Ungarisch"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr "Indonesisch"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Italienisch"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Japanisch"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Koreanisch"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Luxemburgisch"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Norwegisch"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Niederländisch"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Polnisch"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Portugiesisch (Brasilien)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Portugiesisch"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Rumänisch"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Russisch"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Slowakisch"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Slowenisch"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Serbisch"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Schwedisch"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Türkisch"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Ukrainisch"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "Vietnamesisch"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Chinesisch (vereinfacht)"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "Chinesisch (traditionell)"
+76 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"Language: el_GR\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Έγγραφα"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Η τιμή πρέπει να είναι σε έγκυρη μορφή JSON."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Μη έγκυρη έκφραση προσαρμοσμένου ερωτήματος πεδίου"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Μη έγκυρη λίστα έκφρασης. Πρέπει να είναι μη κενή."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Μη έγκυρος λογικός τελεστής {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Υπέρβαση μέγιστου αριθμού συνθηκών ερωτήματος."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "Το προσαρμοσμένο πεδίο {name!r} δεν είναι ένα έγκυρο."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "Το {data_type} δεν υποστηρίζει το ερώτημα expr {expr!r}s."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Υπέρβαση μέγιστου βάθους εμφώλευσης."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Το προσαρμοσμένο πεδίο δε βρέθηκε"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "εκτελέσεις ροής εργασίας"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "Εντοπίστηκε μη έγκυρη μεταβλητή."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1913,44 +1913,59 @@ msgstr "Πρόκειται να χρησιμοποιήσετε το λογαρι
msgid "As a final step, please complete the following form:"
msgstr "Ως τελικό βήμα, παρακαλούμε να συμπληρώσετε την ακόλουθη φόρμα:"
#: documents/validators.py:36
msgid ", "
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr ""
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr ""
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr ""
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr ""
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2242,151 +2257,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "ρυθμίσεις εφαρμογής paperless"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Αγγλικά (ΗΠΑ)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Αραβικά"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Αφρικανικά"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Λευκορωσικά"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Βουλγαρικά"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Καταλανικά"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Τσέχικα"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Δανέζικα"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Γερμανικά"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Ελληνικά"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Αγγλικά (Ηνωμένο Βασίλειο)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Ισπανικά"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Φινλανδικά"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Γαλλικά"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Ουγγρικά"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Ιταλικά"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Ιαπωνικά"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Κορεάτικα"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Λουξεμβουργικά"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Νορβηγικά"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Ολλανδικά"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Πολωνικά"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Πορτογαλικά (Βραζιλίας)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Πορτογαλικά"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Ρουμάνικα"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Ρωσικά"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Σλοβακικά"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Σλοβενικά"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Σερβικά"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Σουηδικά"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Τούρκικα"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Ουκρανικά"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Κινέζικα Απλοποιημένα"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "Κινεζικά Παραδοσιακά"
+67 -67
View File
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"POT-Creation-Date: 2026-10-10 22:04+0000\n"
"PO-Revision-Date: 2022-02-17 04:17\n"
"Last-Translator: \n"
"Language-Team: English\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr ""
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr ""
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr ""
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr ""
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr ""
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr ""
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr ""
@@ -1652,49 +1652,49 @@ msgstr ""
msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:516 documents/serialisers.py:873
#: documents/serialisers.py:2903 documents/views.py:343 documents/views.py:2750
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
#: documents/serialisers.py:708
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr ""
#: documents/serialisers.py:2369
#: documents/serialisers.py:2370
#, python-format
msgid "File type %(type)s not supported"
msgstr ""
#: documents/serialisers.py:2413
#: documents/serialisers.py:2414
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr ""
#: documents/serialisers.py:2420
#: documents/serialisers.py:2421
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr ""
#: documents/serialisers.py:2437 documents/serialisers.py:2447
#: documents/serialisers.py:2438 documents/serialisers.py:2448
msgid ""
"Custom fields must be a list of integers or an object mapping ids to values."
msgstr ""
#: documents/serialisers.py:2442
#: documents/serialisers.py:2443
msgid "Some custom fields don't exist or were specified twice."
msgstr ""
#: documents/serialisers.py:2589
#: documents/serialisers.py:2590
msgid "Invalid variable detected."
msgstr ""
#: documents/serialisers.py:2958
#: documents/serialisers.py:2959
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2989 documents/views.py:4797
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1945,40 +1945,40 @@ msgstr ""
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
#: documents/views.py:336 documents/views.py:2747
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1682
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1693
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1705
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2572 documents/views.py:2888
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4813
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4860
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4924
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4938
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2270,151 +2270,151 @@ msgstr ""
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr ""
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr ""
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr ""
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr ""
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr ""
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr ""
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr ""
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr ""
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr ""
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr ""
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr ""
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr ""
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr ""
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr ""
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr ""
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr ""
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr ""
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr ""
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr ""
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr ""
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr ""
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr ""
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr ""
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr ""
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr ""
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr ""
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr ""
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr ""
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr ""
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr ""
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr ""
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr ""
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr ""
+77 -62
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"Language: es_ES\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Documentos"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "El valor debe ser un JSON válido."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Expresión de consulta de campo personalizado no válida"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Lista de expresiones no válida. No debe estar vacía."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Operador lógico inválido {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Se ha superado el número máximo de condiciones de consulta."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{nombre!r} no es un campo personalizado válido."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} no admite la consulta expr {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Profundidad máxima de nidificación superada."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Campo personalizado no encontrado"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "ejecuciones de flujo de trabajo"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Permisos insuficientes."
@@ -1676,7 +1676,7 @@ msgstr "Variable inválida."
msgid "Duplicate document identifiers are not allowed."
msgstr "No se permiten identificadores de documento duplicados."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Documentos no encontrados: %(ids)s"
@@ -1913,44 +1913,59 @@ msgstr "Estás a punto de usar tu cuenta de %(provider_name)s para iniciar sesi
msgid "As a final step, please complete the following form:"
msgstr "Como último paso, por favor complete el siguiente formulario:"
#: documents/validators.py:36
msgid ", "
msgstr ""
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "No se puede analizar la URI {value}, falta el esquema"
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr "No se puede analizar la URI {value}, falta la ubicación de la red o la ruta"
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "El esquema URI '{parts.scheme}' no está permitido. Esquemas permitidos: {', '.join(allowed_schemes)}"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "No se puede analizar la URI {value}"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr "Configuración de IA inválida."
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Especifique solo uno entre text, title_search, query, o more_like_id."
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Permisos insuficientes para compartir el documento %(id)s."
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr "El paquete ya está siendo procesado."
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "El paquete de enlace compartido aún está siendo preparado. Por favor, inténtalo de nuevo más tarde."
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "El paquete de enlace compartido no está disponible."
@@ -2242,151 +2257,151 @@ msgstr "Establece el tiempo de espera de LLM en segundos"
msgid "paperless application settings"
msgstr "Ajustes de la aplicación paperless"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Inglés (US)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Árabe"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Africano"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Bielorruso"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Búlgaro"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Catalán"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Checo"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Danés"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Alemán"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Griego"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Inglés (Gran Bretaña)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Español"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "Persa"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Finlandés"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Francés"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Húngaro"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr "Indonesio"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Italiano"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Japonés"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Coreano"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Luxemburgués"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Noruego"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Alemán"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Polaco"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Portugués (Brasil)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Portugués"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Rumano"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Ruso"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Eslovaco"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Esloveno"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Serbio"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Sueco"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Turco"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Ucraniano"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "Vietnamita"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Chino simplificado"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "Chino tradicional"
+76 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Estonian\n"
"Language: et_EE\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumendid"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Väärtus peab olema lubatav JSON."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Vigane kohandatud välja päringu avaldis"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Vigane avaldiste loend. Peab olema mittetühi."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Vigane loogikaoperaator {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Päringutingimuste suurim hulk on ületatud."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} ei ole lubatud kohandatud väli."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} ei toeta päringu avaldist {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Suurim pesastamis sügavus ületatud."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Kohandatud välja ei leitud"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr ""
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1912,44 +1912,59 @@ msgstr ""
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/validators.py:36
msgid ", "
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr ""
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr ""
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr ""
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr ""
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2241,151 +2256,151 @@ msgstr ""
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr ""
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr ""
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr ""
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr ""
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr ""
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr ""
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr ""
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr ""
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr ""
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr ""
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr ""
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr ""
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr ""
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr ""
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr ""
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr ""
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr ""
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr ""
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr ""
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr ""
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr ""
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr ""
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr ""
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr ""
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr ""
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr ""
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr ""
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr ""
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr ""
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr ""
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr ""
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr ""
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr ""
+76 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Persian\n"
"Language: fa_IR\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "اسناد و مدارک"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "مقدار باید JSON معتبر باشد."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Invalid custom field query expression"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "لیست عبارت‌ها نامعتبر است. نباید خالی باشد."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "حداکثر تعداد شرایط پرس و جو از آن فراتر رفته است."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{نام! R} یک زمینه سفارشی معتبر نیست."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "حداکثر عمق تودرتویی بیش از حد مجاز است."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "زمینه سفارشی یافت نشد"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "گردش کار اجرا می شود"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "متغیر نامعتبر شناسایی شده است."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1912,44 +1912,59 @@ msgstr ""
msgid "As a final step, please complete the following form:"
msgstr "به عنوان مرحله آخر ، لطفاً فرم زیر را تکمیل کنید:"
#: documents/validators.py:36
msgid ", "
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr ""
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr ""
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr ""
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr ""
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2241,151 +2256,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "تنظیمات برنامه بدون کاغذ"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "انگلیسی (ایالات متحده)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "عربی"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "افریکان"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "وابسته به بلروس"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "وابسته به بلغاری"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "کاتالان"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "وابسته به چک"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "وابسته به دانمارکی"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "آلمانی"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "یونانی"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "انگلیسی (GB)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "اسپانیایی"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "فارسی"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "فنلاندی"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "فرانسوی"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "مجارستانی"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "ایتالیایی"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "وابسته به ژاپنی"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "کره ای"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "وابسته به لوکس"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "نروژی"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "هلندی"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "صیقل دادن"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "پرتغالی (برزیل)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "وابسته به پرتغالی"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "وابسته به رومانی"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "روسی"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "لگن"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "وابسته به اسلوونی"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "صرب"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "سوئدی"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "ترکی"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "وابسته به اوکراینی"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "چینی ساده شد"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "چینی سنتی"
+76 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Finnish\n"
"Language: fi_FI\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Asiakirjat"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Arvon on oltava kelvollista JSON:ia."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr ""
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr ""
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr ""
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr ""
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr ""
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "Virheellinen muuttuja havaittu."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1913,44 +1913,59 @@ msgstr ""
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/validators.py:36
msgid ", "
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr ""
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr ""
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr ""
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr ""
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2242,151 +2257,151 @@ msgstr ""
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Englanti (US)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Arabialainen"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr ""
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "valkovenäjä"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr ""
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Katalaani"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Tšekki"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Tanska"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Saksa"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Kreikka"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Englanti (US)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Espanja"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Suomi"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Ranska"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr ""
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Italia"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr ""
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr ""
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Luxemburg"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Norja"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Hollanti"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "puola"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "portugali (Brasilia)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "portugali"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "romania"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "venäjä"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Slovakia"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Slovenia"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Serbia"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "ruotsi"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Turkki"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Ukraina"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Kiina (yksinkertaistettu)"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr ""
+77 -62
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Language: fr_FR\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Documents"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "La valeur doit être un JSON valide."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Requête de champ personnalisé invalide"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Liste d'expressions invalide. Doit être non vide."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Opérateur logique {op!r} invalide"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Nombre maximum de conditions dans la requête dépassé."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} n'est pas un champ personnalisé valide."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} ne supporte pas l'expression {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Profondeur de récursion maximale dépassée."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Champ personnalisé non trouvé"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "le flux de travail s'exécute"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Droits insuffisants."
@@ -1676,7 +1676,7 @@ msgstr "Variable invalide détectée."
msgid "Duplicate document identifiers are not allowed."
msgstr "Les identificateurs de document en double ne sont pas autorisés."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Documents introuvables : %(ids)s"
@@ -1912,44 +1912,59 @@ msgstr "Vous vous apprêtez à utiliser votre compte %(provider_name)s pour vous
msgid "As a final step, please complete the following form:"
msgstr "Pour finir, veuillez remplir le formulaire suivant :"
#: documents/validators.py:36
msgid ", "
msgstr ""
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "Impossible d'analyser l'URI {value}, schéma manquant"
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr "Impossible d'analyser l'URI {value}, emplacement réseau ou chemin manquant"
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "Le schéma d'URI « {parts.scheme} » n'est pas autorisé. Schémas autorisés : {', '.join(allowed_schemes)}"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "Impossible d'analyser l'URI {value}"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr "More_like_id invalide"
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr "Configuration IA invalide."
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr "La requête d'arrière-plan IA a expiré."
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Spécifiez seulement un texte, titre, recherche ou more_like_id."
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Droits d'accès insuffisant pour partager %(id)s document."
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr "Le paquet est déjà en cours de traitement."
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Le lot de liens de partage est en cours de préparation. Veuillez réessayer plus tard."
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Le lot de liens de partage n'est pas disponible."
@@ -2241,151 +2256,151 @@ msgstr "Définit le délai d'attente du LLM en secondes"
msgid "paperless application settings"
msgstr "paramètres de l'application paperless"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Anglais (US)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Arabe"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Afrikaans"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Biélorusse"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Bulgare"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Catalan"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Tchèque"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Danois"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Allemand"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Grec"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Anglais (GB)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Espagnol"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "Persan"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Finnois"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Français"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Hongrois"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr "Indonésien"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Italien"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Japonais"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Coréen"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Luxembourgeois"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Norvégien"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Néerlandais"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Polonais"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Portugais (Brésil)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Portugais"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Roumain"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Russe"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Solvaque"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Slovène"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Serbe"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Suédois"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Turc"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Ukrainien"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "Vietnamien"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Chinois simplifié"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "Chinois traditionnel"
+77 -62
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
"Language: he_IL\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "מסמכים"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "ערך חייב להיות JSON תקין."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "ביטוי שאילתה לא חוקי של שדה מותאם אישית"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "רשימת ביטויים לא חוקית. חייב לכלול ערך."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "סימן פעולה לוגית לא חוקי {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "חריגה ממספר תנאי השאילתה המרבי."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} הוא לא שדה מותאם אישית חוקי."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} לא תומך בביטוי שאילתה {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "חריגה מעומק הקינון המרבי."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "שדה מותאם אישית לא נמצא"
@@ -1637,7 +1637,7 @@ msgid "workflow runs"
msgstr "הרצות זרימת עבודה"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "הרשאות אינן מספיקות."
@@ -1677,7 +1677,7 @@ msgstr "משתנה לא חוקי זוהה."
msgid "Duplicate document identifiers are not allowed."
msgstr "מזהי מסמכים כפולים אינם מורשים."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "מסמכים לא נמצאו: %(ids)s"
@@ -1914,44 +1914,59 @@ msgstr "שלך כדי להתחבר %(provider_name)s אתה עומד להשתמ
msgid "As a final step, please complete the following form:"
msgstr ": כצעד אחרון, אנא מלא את הטופס הבא:"
#: documents/validators.py:36
msgid ", "
msgstr ""
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "לא ניתן לפענח את ה-URI ‏{value}, חסר פרוטוקול (scheme)"
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr "לא ניתן לפענח את ה-URI ‏{value}, חסר מיקום רשת (net location) או נתיב"
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "פרוטוקול ה-URI ‏'{parts.scheme}' אינו מורשה. הפרוטוקולים המורשים הם: {', '.join(allowed_schemes)}"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "לא ניתן לפענח את ה URI ‏{value}"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr "מזהה more_like_id אינו תקין"
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr "הגדרות בינה מלאכותית שגויות."
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "יש לציין רק אחד מהבאים: text‏, title_search‏, query או more_like_id."
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "הרשאות לא מספיקות לשיתוף מסמך %(id)s."
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr "החבילה (Bundle) כבר נמצאת בתהליך עיבוד."
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "חבילת קישור השיתוף עדיין בהכנה. נא לנסות שוב מאוחר יותר."
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "חבילת קישור השיתוף אינה זמינה."
@@ -2243,151 +2258,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "הגדרות יישום paperless"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "אנגלית (ארה״ב)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "ערבית"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "אפריקאנס"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "בלרוסית"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "בולגרית"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "קטלאנית"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "צ'כית"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "דנית"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "גרמנית"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "יוונית"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "אנגלית (בריטניה)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "ספרדית"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "פרסית"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "פינית"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "צרפתית"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "הונגרית"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr "אינדונזית"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "איטלקית"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "יפנית"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "קוריאנית"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "לוקסמבורגית"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "נורווגית"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "הולנדית"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "פולנית"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "פורטוגלית ברזילאית"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "פורטוגלית"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "רומנית"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "רוסית"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "סלובקית"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "סלובנית"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "סרבית"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "שוודית"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "טורקית"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "אוקראינית"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "ווייטנאמית"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "סינית מפושטת"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "סינית מסורתית"
+76 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Hindi\n"
"Language: hi_IN\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "दस्तावेज़"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "मान वैध JSON होना चाहिए."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "अमान्य कस्टम फ़ील्ड क्वेरी एक्सप्रेशन"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "अमान्य एक्सप्रेशन सूची। खाली नहीं होनी चाहिए।"
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "अमान्य लॉजिकल ऑपरेटर {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "क्वेरी शर्तों की अधिकतम संख्या पार हो गई है।"
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} यह एक वैध कस्टम फ़ील्ड नहीं है।"
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} क्वेरी एक्सप्रेशन {expr!r} का समर्थन नहीं करता है।"
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "अधिकतम नेस्टिंग डेप्थ पार हो गई है।"
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "कस्टम फ़ील्ड नहीं मिला"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr ""
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1912,44 +1912,59 @@ msgstr ""
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/validators.py:36
msgid ", "
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr ""
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr ""
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr ""
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr ""
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2241,151 +2256,151 @@ msgstr ""
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr ""
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr ""
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr ""
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr ""
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr ""
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr ""
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr ""
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr ""
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr ""
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr ""
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr ""
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr ""
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr ""
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr ""
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr ""
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr ""
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr ""
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr ""
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr ""
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr ""
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr ""
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr ""
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr ""
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr ""
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr ""
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr ""
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr ""
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr ""
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr ""
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr ""
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr ""
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr ""
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr ""
+77 -62
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Croatian\n"
"Language: hr_HR\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenti"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Vrijednost mora biti važeći JSON."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Nevažeći izraz upita prilagođenog polja"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Nevažeći popis izraza. Ne smije biti prazno."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Nevažeći logički operator {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Previše uvjeta u upitu."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} nije važeće prilagođeno polje."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} ne podržava upit izraz {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Premašena je najveća razina ugniježđivanja."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Prilagođeno polje nije pronađeno"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "tijek rada pokrenut"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Nedovoljne ovlasti."
@@ -1676,7 +1676,7 @@ msgstr "Otkrivena je nevaljana vrsta datoteke."
msgid "Duplicate document identifiers are not allowed."
msgstr "Duplicirani identifikatori dokumenata nisu dopušteni."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumenti nisu pronađeni: %(ids)s"
@@ -1913,44 +1913,59 @@ msgstr "Upravo ćete koristiti svoj račun %(provider_name)s za prijavu."
msgid "As a final step, please complete the following form:"
msgstr "Kao posljednji korak ispunite sljedeći obrazac:"
#: documents/validators.py:36
msgid ", "
msgstr ""
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "Nije moguće analizirati URI {value}, nedostaje shema"
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr "Nije moguće analizirati URI {value}, nedostaje mrežna lokacija ili put"
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "URI shema '{parts.scheme}' nije dopuštena. Dopuštene sheme: {', '.join(allowed_schemes)}"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "Nije moguće raščlaniti URI {value}"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr "Nevažeći more_like_id"
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr "Nevažeća AI konfiguracija."
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr "Zahtjev prema AI pozadinskom sustavu je istekao."
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr "AI pozadinski sustav je odbio zahtjev. Provjerite zapise (logs) za više detalja."
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Navedite samo jedno od: text, title_search, query ili more_like_id."
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Nedovoljne ovlasti za dijeljenje dokumenta %(id)s."
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr "Paket se već obrađuje."
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Paket linka za dijeljenje se još priprema. Pokušajte ponovo kasnije."
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Paket linka za dijeljenje nije dostupan."
@@ -2242,151 +2257,151 @@ msgstr "LLM timeout (u sekundama)"
msgid "paperless application settings"
msgstr "postavke paperless aplikacije"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Engleski (US)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Arapski"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "afrički"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Bjeloruski"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "bugarski"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "katalonski"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Češki"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Danski"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Njemački"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "grčki"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Engleski (GB)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Španjolski"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "perzijski"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "finski"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Francuski"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "mađarski"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr "Iidonezijski"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Talijanski"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "japanski"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "koreanski"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Luksemburški"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "norveški"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Nizozemski"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Poljski"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Portugalski (Brazil)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Portugalski"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Rumunjski"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Ruski"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "slovački"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Slovenski"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Srpski"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Švedski"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Turski"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "ukrajinski"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "vijetnamski"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Pojednostavljeni kineski"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "Kineski tradicionalni"
+77 -62
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"Language: hu_HU\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumentumok"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Érvényes JSON érték szükséges."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Érvénytelen egyéni mező lekérdezési kifejezés"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Érvénytelen kifejezéslista. Nem lehet üres."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Érvénytelen logikai operátor {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Maximum lekérdezési feltételszám átlépve."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} nem érvényes egyéni mező."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "A(z) {data_type} nem támogatja a {expr!r} kifejezés lekérdezést."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Maximum beágyazási mélység túllépve."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Az egyéni mező nem található"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "munkafolyamat futtatások"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Nincs jogosúltsága."
@@ -1676,7 +1676,7 @@ msgstr "Érvénytelen változó észlelve."
msgid "Duplicate document identifiers are not allowed."
msgstr "A dokumentumazonosítók duplikálása nem megengedett."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumentumok nem találhatók: %(ids)s"
@@ -1913,44 +1913,59 @@ msgstr "A %(provider_name)s felhasználói fiókkal fogsz belépni."
msgid "As a final step, please complete the following form:"
msgstr "Utolsó lépésként kérjük válaszoljon az alábbi kérdésekre:"
#: documents/validators.py:36
msgid ", "
msgstr ""
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "A {value} URI értelmezése sikertelen, hiányzó séma"
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr "A {value} URI értelmezése sikertelen, hiányzó hálózati vagy elérési útvonal"
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "A '{parts.scheme}' séma nem engedélyezett. Engedélyezett sémák: {', '.join(allowed_schemes)}"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "A {value} URI értelmezése sikertelen"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr "Érvénytelen more_like_id"
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr "Érvénytelen MI konfiguráció."
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "A text, title_search, query, vagy more_like_id közül csak egyet adjon meg."
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Nincs megfelelő jogosultság a %(id)s dokumentum megosztásához."
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr "A csomag feldolgozása már folyamatban van."
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "A megosztási linkcsomag készítése folyamatban. Kérjük, próbálja meg később."
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "A megosztási linkcsomag nem elérhető."
@@ -2242,151 +2257,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "paperless alkalmazás beállítások"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Angol (US)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Arab"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Afrikai"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Fehérorosz"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Bolgár"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Katalán"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Cseh"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Dán"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Német"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Görög"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Angol (GB)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Spanyol"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "Perzsa"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Finn"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Francia"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Magyar"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr "Indonéz"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Olasz"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Japán"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Koreai"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Luxemburgi"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Norvég"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Holland"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Lengyel"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Portugál (Brazília)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Portugál"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Román"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Orosz"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Szlovák"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Szlovén"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Szerb"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Svéd"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Török"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Ukrán"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "Vietnámi"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Kínai egyszerűsített"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "Tradicionális kínai"
+77 -62
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
"Language: id_ID\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumen"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Nilai harus berupa JSON yang valid."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Ekspresi pencarian bidang khusus tidak valid"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Daftar ekspresi tidak valid. Tidak boleh kosong."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Operator logika {op!r} tidak valid"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Jumlah maksimal kondisi pencarian terlampaui."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} bukan bidang khusus yang valid."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} tidak mendukung ekspresi pencarian expr {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Kedalaman susunan maksimal terlampaui."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Bidang khusus tidak ditemukan"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "daftar jalankan alur kerja"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Izin tidak mencukupi"
@@ -1676,7 +1676,7 @@ msgstr "Variabel ilegal terdeteksi."
msgid "Duplicate document identifiers are not allowed."
msgstr "Penggunaan pengenal dokumen ganda tidak diperbolehkan."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumen tidak ditemukan: %(ids)s"
@@ -1913,44 +1913,59 @@ msgstr "Anda akan menggunakan akun %(provider_name)s Anda untuk masuk."
msgid "As a final step, please complete the following form:"
msgstr "Sebagai langkah terakhir, mohon formulir berikut:"
#: documents/validators.py:36
msgid ", "
msgstr ""
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "Gagal membaca URI {value}, skema tidak ditemukan"
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr "Gagal membaca URI {value}, lokasi jaringan atau path tidak ditemukan"
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "Skema URI '{parts.scheme}' tidak diizinkan. Skema yang diizinkan: {', '.join(allowed_schemes)}"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "Gagal membaca URI {value}"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Izin tidak mencukupi untuk berbagi dokumen %(id)s"
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr "Paket sedang diproses."
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Bundel tautan berbagi masih dalam proses persiapan. Silakan coba lagi nanti."
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Bundel tautan berbagi tidak tersedia."
@@ -2242,151 +2257,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "pengaturan aplikasi paperless"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Inggris (AS)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Arab"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Bahasa Afrika"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Belarusia"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Bahasa Bulgaria"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Katalan"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Bahasa Ceko"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Denmark"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Jerman"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Yunani"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Inggris (GB)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Spanyol"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "Persia"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Finlandia"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Prancis"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Hungaria"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr "Indonesia"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Italia"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Bahasa Jepang"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Bahasa Korea"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Luksemburg"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Norwegia"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Belanda"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Polandia"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Portugis (Brasil)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Portugis"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Rumania"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Rusia"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Slovakia"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Slovenia"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Serbia"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Swedia"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Turki"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Ukraina"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "Vietnam"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Mandarin Sederhana"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "Tionghoa Tradisional"
+86 -71
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Language: it_IT\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Documenti"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Il valore deve essere un JSON valido."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Campo personalizzato della query non valido"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Elenco delle espressioni non valido. Deve essere non vuoto."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Operatore logico non valido {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Numero massimo di condizioni di query superato."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} non è un campo personalizzato valido."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} Non supporta la jQuery Expo {Expo!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Profondità massima di nidificazione superata."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Campo personalizzato non trovato"
@@ -253,7 +253,7 @@ msgstr "documento radice per questa versione"
#: documents/models.py:325
msgid "version index"
msgstr "indice versione"
msgstr "indice della versione"
#: documents/models.py:329
msgid "Index of this version within the root document."
@@ -261,11 +261,11 @@ msgstr "Indice di questa versione all'interno del documento radice."
#: documents/models.py:333
msgid "version label"
msgstr "etichetta versione"
msgstr "etichetta della versione"
#: documents/models.py:337
msgid "Optional short label for a document version."
msgstr "Etichetta abbreviata facoltativa per una versione del documento."
msgstr "Etichetta breve facoltativa per una versione del documento."
#: documents/models.py:342 documents/models.py:961 documents/models.py:992
#: documents/models.py:1096 documents/models.py:2126
@@ -1006,23 +1006,23 @@ msgstr "note"
#: documents/models.py:996
msgid "page"
msgstr "pagina"
msgstr ""
#: documents/models.py:997
msgid "Page of the original file, starting at 1"
msgstr "Pagina del file originale, partendo da 1"
msgstr ""
#: documents/models.py:1052
msgid "format"
msgstr "formato"
msgstr ""
#: documents/models.py:1056
msgid "document barcode"
msgstr "codice a barre del documento"
msgstr ""
#: documents/models.py:1057
msgid "document barcodes"
msgstr "codici a barre del documento"
msgstr ""
#: documents/models.py:1066
msgid "Original"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "esecuzioni del flusso di lavoro"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Autorizzazioni insufficienti."
@@ -1676,7 +1676,7 @@ msgstr "Variabile non valida rilevata."
msgid "Duplicate document identifiers are not allowed."
msgstr "Non sono consentiti identificatori di documenti duplicati."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Documenti non trovati: %(ids)s"
@@ -1913,44 +1913,59 @@ msgstr "Stai per utilizzare il tuo account %(provider_name)s per effettuare il l
msgid "As a final step, please complete the following form:"
msgstr "Come ultimo passo, compila il seguente modulo:"
#: documents/validators.py:36
msgid ", "
msgstr ", "
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "Impossibile analizzare l'URI {value}, schema mancante"
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr "Impossibile analizzare l'URI {value}, posizione o percorso di rete mancante"
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "Lo schema URI '{parts.scheme}' non è consentito. Schemi consentiti: {', '.join(allowed_schemes)}"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "Impossibile analizzare l'URI {value}"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr "more_like_id non valido"
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr "Configurazione AI non valida."
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr "Richiesta di backend AI scaduta."
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr "Il backend IA ha rifiutato la richiesta. Controlla i log per i dettagli."
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Specificare solo uno tra text, title_search, query o more_like_id."
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Autorizzazioni insufficienti per condividere il documento %(id)s."
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr "Il pacchetto è già in fase di elaborazione."
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Il pacchetto di link di condivisione è ancora in fase di preparazione. Riprova più tardi."
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Il pacchetto di link di condivisione non è disponibile."
@@ -2168,7 +2183,7 @@ msgstr "Abilita la suddivisione sui codici a barre dei tag"
#: paperless/models.py:308
msgid "Stores the values of detected barcodes"
msgstr "Memorizza i valori dei codici a barre individuati"
msgstr ""
#: paperless/models.py:318
msgid "Sets the remote OCR engine"
@@ -2242,151 +2257,151 @@ msgstr "Impostare il timeout dell’LLM in secondi"
msgid "paperless application settings"
msgstr "impostazioni dell'applicazione paperless"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Inglese (US)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Arabo"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Afrikaans"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Bielorusso"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Bulgaro"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Catalano"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Ceco"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Danese"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Tedesco"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Greco"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Inglese (GB)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Spagnolo"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "Persiano"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Finlandese"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Francese"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Ungherese"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr "Indonesiano"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Italiano"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Giapponese"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Coreano"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Lussemburghese"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Norvegese"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Olandese"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Polacco"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Portoghese (Brasile)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Portoghese"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Rumeno"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Russo"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Slovacco"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Sloveno"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Serbo"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Svedese"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Turco"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Ucraino"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "Vietnamita"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Cinese semplificato"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "Cinese tradizionale"
+76 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "ドキュメント"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "値は有効なJSONである必要があります。"
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "無効なカスタムフィールドクエリ式"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "無効な式リストです。空であってはなりません。"
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "無効な論理演算子 {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "クエリ条件の最大数を超えました。"
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} は有効なカスタムフィールドではありません。"
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} はクエリ expr {expr!r} をサポートしていません。"
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "最大ネストの深さを超えました。"
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "カスタムフィールドが見つかりません"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "ワークフローの実行"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "無効な変数を検出しました"
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1913,44 +1913,59 @@ msgstr "%(provider_name)s アカウントでログインしようとしていま
msgid "As a final step, please complete the following form:"
msgstr "最後のステップとして、以下のフォームに記入してください"
#: documents/validators.py:36
msgid ", "
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr ""
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr ""
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr ""
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr ""
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2242,151 +2257,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "Paperless アプリケーションの設定"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "英語 (米国)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "アラビア語"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "アフリカーンス語"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "ベラルーシ語"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "ブルガリア語"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "カタロニア語"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "チェコ語"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "デンマーク語"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "ドイツ語"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "ギリシャ語"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "英語 (英国)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "スペイン語"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "フィンランド語"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "フランス語"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "ハンガリー語"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "イタリア語"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "日本語"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "韓国語"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "ルクセンブルク語"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "ノルウェー語"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "オランダ語"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "ポーランド語"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "ポルトガル語 (ブラジル)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "ポルトガル語"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "ルーマニア語"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "ロシア語"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "スロバキア語"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "スロベニア語"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "セルビア語"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "スウェーデン語"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "トルコ語"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "ウクライナ語"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "中国語 (簡体字)"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "中国語 (繁体)"
+77 -62
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Language: ko_KR\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "문서"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "값은 유효한 JSON이어야 합니다."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "잘못된 사용자 정의 필드 쿼리 표현식"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "잘못된 표현식 목록입니다. 비어 있지 않아야 합니다."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "잘못된 논리 연산자 {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "쿼리 조건의 최대 개수를 초과했습니다."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} 은 잘못된 사용자 정의 필드입니다."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type}은 쿼리 표현식 {expr!r}을(를) 지원하지 않습니다."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "최대 중첩 깊이를 초과했습니다."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "사용자 지정 필드를 찾을 수 없음"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "워크플로우 실행"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "잘못된 변수가 감지되었습니다."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1913,44 +1913,59 @@ msgstr "%(provider_name)s 의 계정을 사용하여 로그인하려고 합니
msgid "As a final step, please complete the following form:"
msgstr "마지막 단계로 다음 양식을 작성해 주세요:"
#: documents/validators.py:36
msgid ", "
msgstr ""
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "{value} URI를 파싱할 수 없습니다: 스킴이 누락되었습니다."
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr "{value} URI를 파싱할 수 없습니다: 네트워크 위치 또는 경로가 누락되었습니다."
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "URI 스킴 '{parts.scheme}'는 허용되지 않습니다. 허용된 스킴: {', '.join(allowed_schemes)}"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "{value} URI를 파싱할 수 없음"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2242,151 +2257,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "페이퍼리스 애플리케이션 설정"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "영어 (미국)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "아랍어"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "아프리칸스어"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "벨라루스어"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "불가리어"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "카탈로니아어"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "체코어"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "덴마크어"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "독일어"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "그리스어"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "영어 (영국)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "스페인어"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "페르시아어"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "핀란드어"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "프랑스어"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "헝가리어"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "이탈리아어"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "일본어"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "한국어"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "룩셈부르크어"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "노르웨이어"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "네덜란드어"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "폴란드어"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "포르투갈어 (브라질)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "포르투갈어"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "루마니아어"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "러시아어"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "슬로바키아어"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "슬로베니아어"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "세르비아어"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "스웨덴어"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "튀르키예어"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "우크라이나어"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "베트남어"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "중국어 간체"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "중국어 번체"
+76 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Luxembourgish\n"
"Language: lb_LU\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenter"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr ""
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr ""
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr ""
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr ""
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr ""
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr ""
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "Ongëlteg Zeechen detektéiert."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1912,44 +1912,59 @@ msgstr ""
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/validators.py:36
msgid ", "
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr ""
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr ""
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr ""
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr ""
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2241,151 +2256,151 @@ msgstr ""
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Englesch (USA)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr ""
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr ""
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Belarusesch"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr ""
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr ""
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Tschechesch"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Dänesch"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Däitsch"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr ""
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Englesch (GB)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Spuenesch"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr ""
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Franséisch"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr ""
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Italienesch"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr ""
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr ""
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Lëtzebuergesch"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr ""
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Hollännesch"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Polnesch"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Portugisesch (Brasilien)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Portugisesch"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Rumänesch"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Russesch"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr ""
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Slowenesch"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Serbesch"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Schwedesch"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Tierkesch"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr ""
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Chinesesch (Vereinfacht)"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr ""
+77 -62
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Lithuanian\n"
"Language: lt_LT\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumentai"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Reikšmė turi būti galiojantis JSON."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Neteisinga pasirinktinio lauko užklausos išraiška"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Neteisingas išraiškos sąrašas. Jis turi būti netuščias."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Neteisingas loginis operatorius {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Viršytas maksimalus užklausos sąlygų skaičius."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} nėra galiojantis pasirinktas laukas."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} nepalaiko užklausos išraiškos {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Viršytas maksimalus įdėjimo gylis."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Pasirinktinis laukas nerastas"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr ""
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1912,44 +1912,59 @@ msgstr "Ketinate prisijungimui naudoti savo %(provider_name)s paskyrą."
msgid "As a final step, please complete the following form:"
msgstr "Galiausiai užpildykite šią formą:"
#: documents/validators.py:36
msgid ", "
msgstr ""
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "Nepavyko apdoroti URI {value}, trūksta schemos"
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr "Nepavyko apdoroti URI {value}, trūksta tinklo vietos arba kelio"
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "URI schema '{parts.scheme}' nėra leistina. Galimos schemos: {', '.join(allowed_schemes)}"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "Nepavyko apdoroti URI {value}"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Nepakanka leidimų bendrinti dokumentą %(id)s."
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr "Rinkinys jau apdorojamas."
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Bendrinimo nuorodų rinkinys vis dar ruošiamas. Bandykite dar kartą vėliau."
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Dalinimos nuorodų rinkinys yra nepasiekiamas."
@@ -2241,151 +2256,151 @@ msgstr ""
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr ""
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr ""
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr ""
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr ""
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr ""
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr ""
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr ""
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Daniškai"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Vokiškai"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Graikų"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Anglų (GB)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Ispanų"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "Persų"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Suomių"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Prancūzų"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Vengrų"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr "Indoneziečių"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Italų"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Japonų"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Korėjiečių"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Liuksemburgiečių"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Norvegų"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Olandų"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Lenkų"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Portugalų (Brazilija)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Portugalų"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Rumunų"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Rusų"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Slovakų"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Slovėnų"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Serbų"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Švedų"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Turkų"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Ukrainiečių"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "Vietnamiečių"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Kinų supaprastinta"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "Kinų tradicinė"
+76 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Latvian\n"
"Language: lv_LV\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokuments"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr ""
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr ""
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr ""
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr ""
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr ""
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr ""
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr ""
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1912,44 +1912,59 @@ msgstr ""
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/validators.py:36
msgid ", "
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr ""
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr ""
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr ""
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr ""
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2241,151 +2256,151 @@ msgstr ""
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Angļu (ASV)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Arābu"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Āfrikāņu"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Baltkrievu"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Bulgāru"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Kataloniešu"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Čehu"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Dāņu"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Vācu"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Grieķu"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Angļu (ASV)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Spāņu"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Somu"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Franču"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Ungāru"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Itāļu"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Japāņu"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr ""
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Luksemburgiešu"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Norvēģu"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Holandiešu"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Poļu"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Portugāļu (Brazīlija)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Portugāļu"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Rumāņu"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Krievu"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Slovāku"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Slovēņu"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Sērbu"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Zviedru"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Turku"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Ukraiņu"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Ķīniešu (vienkāršota)"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr ""
+76 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Macedonian\n"
"Language: mk_MK\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr ""
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr ""
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr ""
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr ""
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr ""
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr ""
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr ""
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr ""
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1912,44 +1912,59 @@ msgstr ""
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/validators.py:36
msgid ", "
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr ""
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr ""
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr ""
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr ""
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2241,151 +2256,151 @@ msgstr ""
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr ""
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr ""
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr ""
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr ""
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr ""
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr ""
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr ""
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr ""
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr ""
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr ""
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr ""
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr ""
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr ""
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr ""
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr ""
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr ""
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr ""
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr ""
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr ""
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr ""
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr ""
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr ""
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr ""
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr ""
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr ""
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr ""
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr ""
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr ""
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr ""
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr ""
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr ""
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr ""
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr ""
+76 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Malay\n"
"Language: ms_MY\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumen"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr ""
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr ""
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr ""
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr ""
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr ""
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr ""
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr ""
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1912,44 +1912,59 @@ msgstr ""
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/validators.py:36
msgid ", "
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr ""
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr ""
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr ""
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr ""
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2241,151 +2256,151 @@ msgstr ""
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr ""
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr ""
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr ""
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr ""
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr ""
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr ""
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr ""
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr ""
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr ""
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr ""
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr ""
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr ""
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr ""
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr ""
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr ""
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr ""
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr ""
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr ""
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr ""
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr ""
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr ""
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr ""
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr ""
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr ""
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr ""
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr ""
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr ""
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr ""
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr ""
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr ""
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr ""
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr ""
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr ""
+76 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Language: nl_NL\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Documenten"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Waarde moet een geldige JSON zijn."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Ongeldige aangepaste veld query expressie"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Ongeldige expressielijst mag niet leeg zijn."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Ongeldige logische operator {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Maximum aantal query voorwaarden overschreden."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} is geen geldig aangepast veld."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} ondersteunt geen query expr {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Maximale nestdiepte overschreden."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Aangepast veld niet gevonden"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "Ongeldige variabele ontdekt."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1913,44 +1913,59 @@ msgstr "Je staat op het punt om met je %(provider_name)s account in te loggen."
msgid "As a final step, please complete the following form:"
msgstr "Vul als laatste stap het volgende formulier in:"
#: documents/validators.py:36
msgid ", "
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr ""
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr ""
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr ""
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr ""
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2242,151 +2257,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "paperless applicatie instellingen"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Engels (US)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Arabisch"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Afrikaans"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Wit-Russisch"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Bulgaars"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Catalaans"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Tsjechisch"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Deens"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Duits"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Grieks"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Engels (Brits)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Spaans"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "Perzisch"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Fins"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Frans"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Hongaars"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Italiaans"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Japans"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Koreaans"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Luxemburgs"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Noors"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Nederlands"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Pools"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Portugees (Brazilië)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Portugees"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Roemeens"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Russisch"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Slowaaks"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Sloveens"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Servisch"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Zweeds"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Turks"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Oekraïens"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "Vietnamees"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Chinees (vereenvoudigd)"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr ""
+77 -62
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"Language: no_NO\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenter"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Verdien må være gyldig JSON."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Ugyldig spørringsuttrykk for egendefinerte felt"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Ugyldig uttrykksliste. Kan ikke være tom."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Ugyldig logiske operator {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Maksimalt antall spørringsbetingelser er overskredet."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} er ikke et gyldig egendefinert felt."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} støtter ikke spørring expr {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "For mange nivåer med nøsting."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Egendefinert felt ble ikke funnet"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "workflow runs (NO)"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Utilstrekkelige tillatelser."
@@ -1676,7 +1676,7 @@ msgstr "Ugyldig variabel oppdaget."
msgid "Duplicate document identifiers are not allowed."
msgstr "Duplicate document identifiers are not allowed. (NO)"
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Documents not found: %(ids)s (NO)"
@@ -1913,44 +1913,59 @@ msgstr "You are about to use your %(provider_name)s account to login. (NO)"
msgid "As a final step, please complete the following form:"
msgstr "As a final step, please complete the following form: (NO)"
#: documents/validators.py:36
msgid ", "
msgstr ""
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "Unable to parse URI {value}, missing scheme (NO)"
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr "Unable to parse URI {value}, missing net location or path (NO)"
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)} (NO)"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "Unable to parse URI {value} (NO)"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr "Invalid more_like_id (NO)"
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr "Invalid AI configuration. (NO)"
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr "Forespørselen til KI-tjenesten fikk tidsavbrudd."
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Specify only one of text, title_search, query, or more_like_id. (NO)"
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Insufficient permissions to share document %(id)s. (NO)"
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr "Bundle is already being processed. (NO)"
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "The share link bundle is still being prepared. Please try again later. (NO)"
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "The share link bundle is unavailable. (NO)"
@@ -2242,151 +2257,151 @@ msgstr "Setter tidsavbrudd for LLM i sekunder"
msgid "paperless application settings"
msgstr "paperless application settings (NO)"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Engelsk (US)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Arabisk"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Afrikansk"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Hviterussisk"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Bulgarian (NO)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Katalansk"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Tsjekkisk"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Dansk"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Tysk"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Gresk"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Engelsk (GB)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Spansk"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "Persian (NO)"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Finsk"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Fransk"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Hungarian (NO)"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr "Indonesian (NO)"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Italiensk"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Japanese (NO)"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Korean (NO)"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Luxembourgsk"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Norsk"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Nederlandsk"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Polsk"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Portugisisk (Brasil)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Portugisisk"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Rumensk"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Russisk"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Slovakisk"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Slovenian (NO)"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Serbisk"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Svensk"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Tyrkisk"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Ukrainsk"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "Vietnamese (NO)"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Kinesisk forenklet"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "Chinese Traditional (NO)"
+77 -62
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Language: pl_PL\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenty"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Wartość musi być poprawnym JSON-em."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Nieprawidłowe wyrażenie zapytania pola niestandardowego"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Nieprawidłowa lista wyrażeń. Nie może być pusta."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Nieprawidłowy operator logiczny {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Maksymalna liczba warunków zapytania została przekroczona."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} nie jest prawidłowym polem niestandardowym."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} nie obsługuje wyrażenia zapytania {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Przekroczono maksymalną głębokość zagnieżdżenia."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Nie znaleziono pola niestandardowego"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "uruchomienia przepływu pracy"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Niewystarczające uprawnienia."
@@ -1676,7 +1676,7 @@ msgstr "Wykryto nieprawidłową zmienną."
msgid "Duplicate document identifiers are not allowed."
msgstr "Nie dopuszcza się powielania identyfikatorów dokumentów."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Nie znaleziono dokumentów: %(ids)s"
@@ -1913,44 +1913,59 @@ msgstr "Zamierzasz użyć konta %(provider_name)s aby się zalogować."
msgid "As a final step, please complete the following form:"
msgstr "Na koniec należy wypełnić poniższy formularz:"
#: documents/validators.py:36
msgid ", "
msgstr ""
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "Nie można przeanalizować URI {value}, brak schematu"
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr "Nie można przeanalizować URI {value}, brak lokalizacji sieciowej lub ścieżki"
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "Schemat URI '{parts.scheme}' jest niedozwolony. Dozwolone schematy: {', '.join(allowed_schemes)}"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "Nie można przetworzyć URI {value}"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr "Nieprawidłowy more_like_id"
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Brak uprawnień do udostępnienia dokumentu %(id)s."
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr "Pakiet jest już przetwarzany."
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Pakiet do udostępnienia jest nadal przygotowywany. Spróbuj ponownie później."
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Pakiet do udostępnienia jest niedostępny."
@@ -2242,151 +2257,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "paperless ustawienia aplikacji"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Angielski (USA)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "arabski"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Afrykanerski"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Białoruski"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Bułgarski"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Kataloński"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Czeski"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Duński"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Niemiecki"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Grecki"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Angielski (Wielka Brytania)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Hiszpański"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "perski"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Fiński"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Francuski"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Węgierski"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr "Indonezyjski"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Włoski"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Japoński"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Koreański"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Luksemburski"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Norweski"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Holenderski"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Polski"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Portugalski (Brazylia)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Portugalski"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Rumuński"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Rosyjski"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Słowacki"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Słoweński"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Serbski"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Szwedzki"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Turecki"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Ukraiński"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "Wietnamski"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Chiński uproszczony"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "chiński tradycyjny"
+77 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
"Language: pt_BR\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Documentos"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "O valor deve ser um JSON válido."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Expressão de consulta de campo personalizado inválida"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Lista de expressões inválida. Deve estar não vazia."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Operador lógico inválido {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Número máximo de condições de consulta excedido."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} não é um campo personalizado válido."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} não suporta a consulta expr {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Profundidade máxima do aninhamento excedida."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Campo personalizado não encontrado"
@@ -1637,7 +1637,7 @@ msgid "workflow runs"
msgstr "execução de fluxo de trabalho"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Permissões insuficientes."
@@ -1677,7 +1677,7 @@ msgstr "Variável inválida detectada."
msgid "Duplicate document identifiers are not allowed."
msgstr "Não são permitidos identificadores de documento duplicados."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Documentos não encontrados: %(ids)s"
@@ -1914,44 +1914,60 @@ msgstr "Você está prestes a usar sua conta %(provider_name)s para entrar."
msgid "As a final step, please complete the following form:"
msgstr "Como etapa final, por favor preencha o seguinte formulário:"
#: documents/validators.py:36
msgid ", "
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "Não é possível analisar o URI {value}, esquema ausente"
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr ""
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "Esquema URI '{parts.scheme}' não é permitido. Esquemas permitidos:\n"
"{', '.join(allowed_schemes)}"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "Não é possível analisar o URI {value}"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr "more_like_id inválido"
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr "Configuração de IA inválida."
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr "A requisição backend da IA expirou."
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Especifique apenas um text, title_search, consulta ou mais_like_id."
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Permissões insuficientes para compartilhar o documento %(id)s."
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr "Pacote já está sendo processado."
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "O pacote de link de compartilhamento ainda está sendo preparado. Tente novamente mais tarde."
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "O pacote de link de compartilhamento não está disponível."
@@ -2243,151 +2259,151 @@ msgstr "Define o tempo limite do LLM em segundos"
msgid "paperless application settings"
msgstr "configurações do aplicativo paperless"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Inglês (EUA)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Árabe"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Africanês"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Bielorrusso"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Búlgaro"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Catalão"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Tcheco"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Dinamarquês"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Alemão"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Grego"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Inglês (GB)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Espanhol"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "Persa"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Finlandês"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Francês"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Húngaro"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr "Indonésio"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Italiano"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Japonês"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Coreano"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Luxemburguês"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Norueguês"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Holandês"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Polonês"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Português (Brasil)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Português"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Romeno"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Russo"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Eslovaco"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Esloveno"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Sérvio"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Sueco"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Turco"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Ucraniano"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "vietnamita"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Chinês Simplificado"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "Chinês Tradicional"
+76 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Portuguese\n"
"Language: pt_PT\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Documentos"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "O valor deve ser JSON válido."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Expressão de consulta de campo personalizado inválido"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Lista de expressões inválida. Não deve estar vazia."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Operador lógico inválido {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "O número máximo de condições de consulta foi excedido."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} não é um campo personalizado válido."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} não aceita a expressão de consulta {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Campo personalizado não encontrado"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "Variável inválida detetada."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1913,44 +1913,59 @@ msgstr ""
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/validators.py:36
msgid ", "
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "Não foi possível analisar o URI {value}, o esquema está em falta"
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr ""
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr ""
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "Não foi possível analisar o URI {value}"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2242,151 +2257,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "configurações do paperless"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Inglês (EUA)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Árabe"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Africano"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Bielorrusso"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Búlgaro"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Catalão"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Checo"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Dinamarquês"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Deutsch"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Grego"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Inglês (GB)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Espanhol"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "Persa"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Finlandês"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Français"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Húngaro"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Italiano"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Japonês"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Coreano"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Luxemburguês"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Norueguês"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Nederlandse"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Polaco"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Português (Brasil)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Português"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Romeno"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Russo"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Eslovaco"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Esloveno"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Sérvio"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Sueco"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Turco"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Ucraniano"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "Vietnamita"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Chinês Simplificado"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr ""
+77 -62
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Romanian\n"
"Language: ro_RO\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Documente"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Valoarea trebuie să fie validă JSON."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Expresie de interogare pentru câmp personalizat nevalidă"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Listă de expresii nevalidă. Trebuie să nu fie goală."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Operator logic nevalid {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Numărul maxim de condiții de interogare a fost depășit."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} nu este un câmp personalizat valid."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} nu acceptă interogare expr {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Adâncimea maximă depășită."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Câmpul personalizat nu a fost găsit"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "rulări flux de lucru"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "Variabilă nevalidă detectată."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1913,44 +1913,59 @@ msgstr "Sunteți pe cale să vă utilizați contul %(provider_name)s pentru a v
msgid "As a final step, please complete the following form:"
msgstr "În etapa finală, vă rugăm să completați următorul formular:"
#: documents/validators.py:36
msgid ", "
msgstr ""
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "Imposibil de analizat URI {value}, schemă lipsă"
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr "Imposibil de analizat URI {value}, lipsă locație sau cale"
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "Schema URI '{parts.scheme}' nu este permisă. Schemele permise: {', '.join(allowed_schemes)}"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "Nu se poate analiza URI {value}"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2242,151 +2257,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "setări ale aplicației paperless"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Engleză (Americană)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Arabă"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Africană"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Bielorusă"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Bulgară"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Catalană"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Cehă"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Daneză"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Germană"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Greacă"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Engleză (Britanică)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Spaniolă"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "Persană"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Finlandeză"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Franceză"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Maghiară"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr "Indoneziană"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Italiană"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Japoneză"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Coreeană"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Luxemburgheză"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Norvegiană"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Olandeză"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Poloneză"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Portugheză (Brazilia)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Portugheză"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Română"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Rusă"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Slovacă"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Slovenă"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Sârbă"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Suedeză"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Turcă"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Ucrainiană"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "Vietnameză"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Chineză simplificată"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "Chineză Tradițională"
+83 -68
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Language: ru_RU\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Документы"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Значение должно быть корректным JSON."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Неверное выражение запроса пользовательского поля"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Недопустимый список выражений. Не может быть пустым."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Недопустимый логический оператор {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Превышено максимальное количество условий запроса."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} не является допустимым пользовательским полем."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} не поддерживает запрос {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Превышена максимальная глубина вложения."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Пользовательское поле не найдено"
@@ -1006,23 +1006,23 @@ msgstr "заметки"
#: documents/models.py:996
msgid "page"
msgstr "страница"
msgstr ""
#: documents/models.py:997
msgid "Page of the original file, starting at 1"
msgstr "Страница исходного файла, начиная с 1"
msgstr ""
#: documents/models.py:1052
msgid "format"
msgstr "формат"
msgstr ""
#: documents/models.py:1056
msgid "document barcode"
msgstr "штрих-код документа"
msgstr ""
#: documents/models.py:1057
msgid "document barcodes"
msgstr "штрих-коды документа"
msgstr ""
#: documents/models.py:1066
msgid "Original"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "запуски рабочего процесса"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Недостаточно прав."
@@ -1676,7 +1676,7 @@ msgstr "Обнаружена неверная переменная."
msgid "Duplicate document identifiers are not allowed."
msgstr "Повторяющиеся идентификаторы документа не допускаются."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Документы не найдены: %(ids)s"
@@ -1913,44 +1913,59 @@ msgstr "Вы собираетесь войти через сторонний с
msgid "As a final step, please complete the following form:"
msgstr "На завершение, пожалуйста заполните следующую форму:"
#: documents/validators.py:36
msgid ", "
msgstr ", "
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "Не удается распознать URI {value}, отсутствует схема"
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr "Не удалось распознать URI {value}, отсутствует сетевое расположение или путь"
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "Недопустимая схема URI '{parts.scheme}'. Разрешенные схемы: {', '.join(allowed_schemes)}"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "Невозможно распознать URI {value}"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr "Недопустимый more_like_id"
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr "Неверная конфигурация ИИ."
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr "Таймаут запроса ИИ."
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr "Движок ИИ отклонил запрос. Проверьте логи."
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Укажите только одно: текст, title_search, query или more _like_id."
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Недостаточно прав для совместного доступа к документу %(id)s."
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr "Пакет уже обрабатывается."
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Набор ссылок все еще готовится. Пожалуйста, повторите попытку позже."
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Пакет общих ссылок недоступен."
@@ -2168,7 +2183,7 @@ msgstr "Включает разделение на штрих-коды тего
#: paperless/models.py:308
msgid "Stores the values of detected barcodes"
msgstr "Сохраняет значения обнаруженных штрих-кодов"
msgstr ""
#: paperless/models.py:318
msgid "Sets the remote OCR engine"
@@ -2242,151 +2257,151 @@ msgstr "Установить тайм-аут LLM в секундах"
msgid "paperless application settings"
msgstr "настройки приложения paperless"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Английский (США)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Арабский"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Африкаанс"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Белорусский"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Болгарский"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Каталонский"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Чешский"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Датский"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Немецкий"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Греческий"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Английский (Великобритании)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Испанский"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "Персидский"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Финский"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Французский"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Венгерский"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr "индонезийский"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Итальянский"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Японский"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Корейский"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Люксембургский"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Норвежский"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Датский"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Польский"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Португальский (Бразилия)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Португальский"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Румынский"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Русский"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Словацкий"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Словенский"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Сербский"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Шведский"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Турецкий"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Украинский"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "Вьетнамский"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Китайский упрощенный"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "Китайский (традиционный)"
+77 -62
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-06 02:00\n"
"Last-Translator: \n"
"Language-Team: Slovak\n"
"Language: sk_SK\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenty"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Hodnota musí byť v platnom formáte JSON."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Neplatný výraz požiadavky na vlastné pole"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Neplatný zoznam výrazov. Nesmie byť prázdny."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Neplatný logický operátor {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Prekročili ste maximálny počet podmienok požiadavky."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} nie je platné vlastné pole."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} nepodporuje výraz požiadavky {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Bola prekročená maximálna hĺbka vetvenia."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Vlastné pole nebolo nájdené"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "spustenia pracovných postupov"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Nedostatočné oprávnenia."
@@ -1676,7 +1676,7 @@ msgstr "Zistená neplatná premenná."
msgid "Duplicate document identifiers are not allowed."
msgstr "Duplicitné identifikátory dokumentov nie sú povolené."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumenty sa nenašli: %(ids)s"
@@ -1913,44 +1913,59 @@ msgstr "Chystáte sa na prihlásenie použiť svoj účet %(provider_name)s."
msgid "As a final step, please complete the following form:"
msgstr "Ako posledný krok vyplňte nasledujúci formulár:"
#: documents/validators.py:36
msgid ", "
msgstr ""
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "Nepodarilo sa analyzovať URI {value}, chýba schéma"
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr "Nepodarilo sa analyzovať URI {value}; chýba sieťové umiestnenie alebo cesta."
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "Schéma URI „{parts.scheme}“ nie je povolená. Povolené schémy: {', '.join(allowed_schemes)}"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "Nepodarilo sa analyzovať URI {value}"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr "Neplatné more_like_id"
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr "Neplatná konfigurácia umelej inteligencie."
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr "Vypršal časový limit požiadavky na backend umelej inteligencie."
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr "Backend umelej inteligencie zamietol požiadavku. Podrobnosti nájdete v záznamoch."
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Zadajte iba jednu z možností: text, title_search, query alebo more_like_id."
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Nedostatočné oprávnenia na zdieľanie dokumentu %(id)s."
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr "Balík sa už spracúva."
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Balík odkazov na zdieľanie sa stále pripravuje. Skúste to znova neskôr."
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Balík odkazov na zdieľanie nie je k dispozícii."
@@ -2242,151 +2257,151 @@ msgstr "Nastaví časový limit LLM v sekundách"
msgid "paperless application settings"
msgstr "nastavenia aplikácie paperless"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Angličtina (US)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Arabčina"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Afrikánčina"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Bieloruština"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Bulharčina"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Catalan"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Čeština"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Dánčina"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Nemčina"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Gréčtina"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Angličtina (GB)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Španielčina"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "Perzština"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Finnish"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Francúzština"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Maďarčina"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr "Indonézština"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Taliančina"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Japončina"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Kórejčina"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Luxemburčina"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Nórčina"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Holandčina"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Polština"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Portugalčina (Brazília)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Portugalčina"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Rumunčina"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Ruština"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Slovenčina"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Slovinčina"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Srbčina"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Švédčina"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Turečtina"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Ukrainčina"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "Vietnamčina"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Čínština (zjednodušená)"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "Čínština (tradičná)"
+77 -62
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Slovenian\n"
"Language: sl_SI\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenti"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Vrednost mora biti veljaven JSON."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Neveljaven izraz poizvedbe po polju po meri"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Neveljaven seznam izrazov. Ne sme biti prazen."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Neveljaven logični operator {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Preseženo je bilo največje dovoljeno število pogojev poizvedbe."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} ni veljavno polje po meri."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} ne podpira izraza poizvedbe {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Presežena je bila največja globina gnezdenja."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Polja po meri ni bilo mogoče najti"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "poteka dela"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Nezadostna dovoljenja."
@@ -1676,7 +1676,7 @@ msgstr "Zaznani neveljavni znaki."
msgid "Duplicate document identifiers are not allowed."
msgstr "Podvojeni identifikatorji dokumentov niso dovoljeni."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumentov ni bilo mogoče najti: %(ids)s"
@@ -1913,44 +1913,59 @@ msgstr "Za prijavo boste uporabili račun ponudnika %(provider_name)s."
msgid "As a final step, please complete the following form:"
msgstr "Kot zadnji korak vas prosimo, da izpolnite naslednji obrazec:"
#: documents/validators.py:36
msgid ", "
msgstr ""
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "Ni mogoče razčleniti URI-ja {value}, manjka shema"
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr "Ni mogoče razčleniti URI-ja {value}, manjka omrežna lokacija ali pot"
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "Shema URI '{parts.scheme}' ni dovoljena. Dovoljene sheme: {', '.join(allowed_schemes)}"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "Ni mogoče razčleniti URI-ja {value}"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr "Neveljaven more_like_id"
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr "Neveljavna konfiguracija umetne inteligence."
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr "Časovna omejitev zahteve za umetno inteligenco je potekla."
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr "Zaledni sistem umetne inteligence je zavrnil zahtevo. Za podrobnosti preverite dnevnike."
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Navedite samo eno od naslednjih vrednosti: text, title_search, query ali more_like_id."
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Nezadostna dovoljenja za skupno rabo dokumenta %(id)s."
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr "Paket se že obdeluje."
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Paket povezav za deljenje je še vedno v pripravi. Poskusite znova pozneje."
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Paket povezav za deljenje ni na voljo."
@@ -2242,151 +2257,151 @@ msgstr "Nastavi časovno omejitev LLM v sekundah"
msgid "paperless application settings"
msgstr "aplikacijske nastavitve paperless"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Angleščina (ZDA)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Arabščina"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Afrikanščina"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Beloruščina"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Bolgarščina"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Katalonščina"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Češčina"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Danščina"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Nemščina"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Grščina"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Angleščina (GB)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Španščina"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "Perzijščina"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Finščina"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Francoščina"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Madžarščina"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr "Indonezijščina"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Italijanščina"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "japonščina"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Korejščina"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Luksemburški"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Norveščina"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Nizozemščina"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Poljščina"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Portugalščina (Brazilija)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Portugalščina"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Romunščina"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Ruščina"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Slovaščina"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Slovenščina"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Srbščina"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Švedščina"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Turščina"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Ukrajinščina"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "Vietnamščina"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Poenostavljena kitajščina"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "Tradicionalna kitajščina"
+76 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Albanian\n"
"Language: sq_AL\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Documents"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Vlera duhet të jetë JSON i vlefshëm."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Shprehje e pavlefshme kërkimi për fushë të personalizuar"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Listë shprehjesh e pavlefshme. Nuk duhet të jetë bosh."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Invalid logical operator {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Është tejkaluar numri maksimal i kushteve të kërkimit."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} nuk është fushë e personalizuar e vlefshme."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} nuk e mbështet shprehjen e kërkimit {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Është tejkaluar thellësia maksimale e ndërfutjes."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Fusha e personalizuar nuk u gjet"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "ekzekutime rrjedhash pune"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Leje të pamjaftueshme."
@@ -1676,7 +1676,7 @@ msgstr "U zbulua variabël e pavlefshme."
msgid "Duplicate document identifiers are not allowed."
msgstr "Identifikuesit dublikatë të dokumenteve nuk lejohen."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumentet nuk u gjetën: %(ids)s"
@@ -1913,44 +1913,59 @@ msgstr "You are about to use your %(provider_name)s llogari to login."
msgid "As a final step, please complete the following form:"
msgstr "Si hap i fundit, ju lutemi plotësoni formularin e mëposhtëm:"
#: documents/validators.py:36
msgid ", "
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr ""
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr ""
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr ""
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr ""
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr "Konfigurim AI i pavlefshëm."
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Leje të pamjaftueshme për të ndarë dokumentin %(id)s."
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr "Paketa po përpunohet tashmë."
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Paketa e lidhjes së ndarjes ende po përgatitet. Ju lutemi provoni përsëri më vonë."
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Paketa e lidhjes së ndarjes nuk është e disponueshme."
@@ -2242,151 +2257,151 @@ msgstr "Cakton kohën limit të LLM në sekonda"
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Anglisht (SHBA)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Arabisht"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr ""
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Bjellorusisht"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Bullgarisht"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr ""
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Çekisht"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Danisht"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Gjermanisht"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Greqisht"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Anglisht (MB)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Spanjisht"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "Persisht"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Finlandisht"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Frëngjisht"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Hungarisht"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Italisht"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Japonisht"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Koreane"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Luksemburgisht"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Norvegjeze"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Holandisht"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Polonisht"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Portugeze (Brazili)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Portugalisht"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Rumanisht"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Rusisht"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Sllovakisht"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Sllovenisht"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Serbisht"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Suedisht"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Turqisht"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr ""
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "Vietnamisht"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Kinezisht e thjeshtuar"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "Kinezisht tradicionale"
+77 -62
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Serbian (Latin)\n"
"Language: sr_CS\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenta"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Vrednost mora da bude važeći JSON."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Nevažeći izraz upita prilagođen polja"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Nevažeća lista izraza. Ne sme biti prazna."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Nevažeći logični operator {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Premašen je maksimalni broj uslova u upitu."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} nije validno prilagođeno polje."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} ne podržava izraz u upitu {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Premašena je maksimalna dubina grananja."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Nije pronađeno prilagođeno polje"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "pokretanje tokova rada"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Nedovoljne dozvole."
@@ -1676,7 +1676,7 @@ msgstr "Otkrivena je nevažeća promenljiva."
msgid "Duplicate document identifiers are not allowed."
msgstr "Duplirani identifikatori dokumenata nisu dozvoljeni."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumenti nisu pronađeni: %(ids)s"
@@ -1913,44 +1913,59 @@ msgstr "Uskoro ćete koristiti svoj nalog na %(provider_name)s za prijavu."
msgid "As a final step, please complete the following form:"
msgstr "Kao poslednji korak, molimo Vas da popunite sledeći obrazac:"
#: documents/validators.py:36
msgid ", "
msgstr ""
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "Nije moguće analizirati URI {value}, nedostaje šema"
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr "Nije moguće analizirati URI {value}, nedostaje mrežan lokacija ili putanja"
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "Šema URI-ja '{parts.scheme}' nije dozvoljena. Dozvoljene šeme {', '.join(allowed_schemes)}"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "Nije moguće analizirati URI {value}"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr "Nevažeći more_like_id"
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr "Nevažeća konfiguracija veštačke inteligencije."
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Navedite samo jedno od sledećeg: text, title_search, query ili more_like_id."
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Nedovoljne dozvole za deljenje dokumenta %(id)s."
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr "Paket se već obrađuje."
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Paket linkova za deljenje se još uvek priprema. Molimo pokušajte ponovo kasnije."
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Paket linkova za deljenje nije dostupan."
@@ -2242,151 +2257,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "podešavanje paperless aplikacije"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Engleski (US)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Arapski"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Afrički"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Beloruski"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Bugarski"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Katalonski"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Češki"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Danski"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Nemački"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Grčki"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Engleski (UK)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Španski"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "Persijski"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Finski"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Francuski"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Mađarski"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr "Indonežanski"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Italijanski"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Japanski"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Korejski"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Luksemburški"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Norveški"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Holandski"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Poljski"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Portugalski (Brazil)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Portugalski"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Rumunski"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Ruski"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Slovački"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Slovenački"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Srpski"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Švedski"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Turski"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Ukrajinski"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "Vijetnamski"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Kineski pojednostavljen"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "Tradicionalni kineski"
+77 -62
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
"Language: sv_SE\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokument"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Värdet måste vara giltigt JSON."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Ogiltigt sökordsuttryck för anpassade fält"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Ogiltig uttryckslista. Får inte vara tom."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Ogiltig logisk operator {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Maximalt antal frågevillkor överskrids."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} är inte ett giltigt anpassat fält."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} stöder inte frågan expr {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Maximalt antal nästlade nivåer överskrids."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Anpassat fält hittades inte"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "arbetsflöde körs"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Otillräckliga behörigheter."
@@ -1676,7 +1676,7 @@ msgstr "Ogiltig variabel upptäckt."
msgid "Duplicate document identifiers are not allowed."
msgstr "Dubbletter av dokumentidentifierare är inte tillåtna."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumenten hittades inte: %(ids)s"
@@ -1913,44 +1913,59 @@ msgstr "Du håller på att använda ditt %(provider_name)s-konto för att logga
msgid "As a final step, please complete the following form:"
msgstr "Slutför följande formulär som ett sista steg:"
#: documents/validators.py:36
msgid ", "
msgstr ""
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "Kunde inte tolka URI {value}, schema saknas"
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr "Kunde inte tolka URI {value}, nätverksplats eller sökväg saknas"
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "URI-schemat '{parts.scheme}' är inte tillåtet. Tillåtna scheman: {', '.join(allowed_schemes)}"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "Kunde inte tolka URI {value}"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr "Ogiltig more_like_id"
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr "Ogiltig AI-konfiguration."
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr "Begäran till AI-serverdelen tog för lång tid."
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr "AI-serverdelen avvisade begäran. Kontrollera loggarna för detaljer."
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Ange endast ett av text, title_search, query och more_like_id."
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Otillräckliga behörigheter för att dela dokument %(id)s."
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr "Paketet behandlas redan."
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Delningslänkpaketet förbereds fortfarande. Försök igen senare."
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Delningslänkpaketet är inte tillgängligt."
@@ -2242,151 +2257,151 @@ msgstr "Anger tidsgränsen för LLM i sekunder"
msgid "paperless application settings"
msgstr "programinställningar för Paperless"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Engelska (USA)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Arabiska"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Afrikaans"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Belarusiska"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Bulgariska"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Kataloniska"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Tjeckiska"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Danska"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Tyska"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Grekiska"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Engelska (GB)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Spanska"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "Persiska"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Finska"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Franska"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Ungerska"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr "Indonesiska"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Italienska"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Japanska"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Koreanska"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Luxemburgiska"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Norska"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Holländska"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Polska"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Portugisiska (Brasilien)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Portugisiska"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Rumänska"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Ryska"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Slovakiska"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Slovenska"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Serbiska"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Svenska"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Turkiska"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Ukrainiska"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "Vietnamesiska"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Kinesiska (förenklad)"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "Kinesiska traditionell"
+76 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
"Language: th_TH\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "เอกสาร"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "ค่า ต้องอยู่ในรูปแบบ JSON ที่ถูกต้อง"
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "รูปแบบการค้นหาฟิลด์ที่กำหนดเองไม่ถูกต้อง"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "รายการคำสั่งไม่ถูกต้อง ต้องไม่เว้นว่าง"
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "ตัวดำเนินการเชิงตรรกะ {op!r} ไม่ถูกต้อง"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "จำนวนเงื่อนไขในการค้นหาเกินกำหนด"
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} ไม่ใช่ฟิลด์ที่กำหนดเองที่ถูกต้อง"
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} ไม่รองรับรูปแบบการค้นหา {expr!r}"
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "จำนวนการซ้อนเงื่อนไขสูงสุดเกินขีดจำกัด"
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "ไม่พบฟิลด์ที่กำหนด"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "ตรวจพบตัวแปรไม่ถูกต้อง"
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1912,44 +1912,59 @@ msgstr ""
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/validators.py:36
msgid ", "
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr ""
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr ""
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr ""
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr ""
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2241,151 +2256,151 @@ msgstr ""
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "ภาษาอังกฤษ (สหรัฐฯ)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "ภาษาอาหรับ"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "ภาษาอาฟรีกานส์"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "ภาษาเบลารุส"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr ""
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "ภาษาคาตาลัน"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "ภาษาเช็ก"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "ภาษาเดนมาร์ก"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "ภาษาเยอรมัน"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "ภาษากรีก"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "ภาษาอังกฤษ (สหราชอาณาจักร)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "ภาษาสเปน"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "ภาษาฟินแลนด์"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "ภาษาฝรั่งเศส"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr ""
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "ภาษาอิตาลี"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr ""
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr ""
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "ภาษาลักเซมเบิร์ก"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "ภาษานอร์เวย์"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "ภาษาดัตช์"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "ภาษาโปแลนด์"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "ภาษาโปรตุเกส (บราซิล)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "ภาษาโปรตุเกส"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "ภาษาโรมาเนีย"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "ภาษารัสเซีย"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "ภาษาสโลวาเกีย"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "ภาษาสโลเวเนีย"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "ภาษาเซอร์เบีย"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "ภาษาสวีเดน"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "ภาษาตุรกี"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "ภาษายูเครน"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "ภาษาจีน (ตัวย่อ)"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr ""
+77 -62
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Language: tr_TR\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Belgeler"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Değer geçerli bir JSON olmalıdır."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Geçersiz özel alan sorgu ifadesi"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Geçersiz ifade listesi. Boş olmamalıdır."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Geçersiz mantıksal işleç {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "En çok sorgu koşulu sayısı aşıldı."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} geçerli bir özel alan değil."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type}, {expr!r} sorgu ifadesini desteklemiyor."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "En çok iç içe geçme izni aşıldı."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Özel alan bulunamadı"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "iş akışı çalıştırma"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Yetersiz izin."
@@ -1676,7 +1676,7 @@ msgstr "Geçersiz değişken algılandı."
msgid "Duplicate document identifiers are not allowed."
msgstr "Doküman kimliği çakışmasına izin verilmiyor."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dosyalar bulunamadı: %(ids)s"
@@ -1913,44 +1913,59 @@ msgstr "Giriş yapmak için %(provider_name)s hesabınızı kullanmak üzeresini
msgid "As a final step, please complete the following form:"
msgstr "Son adım olarak, lütfen aşağıdaki formu doldurun:"
#: documents/validators.py:36
msgid ", "
msgstr ""
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "URI {value} ayrıştırılamıyor, şema eksik"
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr "URI {value} ayrıştırılamıyor, ağ konumu veya yol eksik"
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "URI şeması ‘{parts.scheme}’ izin verilmez. İzin verilen şemalar: {‘, ’.join(allowed_schemes)}"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "URI {value} işlenemiyor"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr "Geçersiz more_like_id"
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr "Geçersiz yapay zeka konfigürasyonu."
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr "Yapay zeka isteği zaman aşımına uğradı."
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Yalnızca bir metin, title_search, sorgu veya more_like_id"
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "%(id)s dosyasını paylaşmak için yetkiniz yok."
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr "Paket zaten işlemede."
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2242,151 +2257,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "paperless uygulama ayarları"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "İngilizce (Birleşik Devletler)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Arapça"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Afrika dili"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Belarusça"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Bulgarca"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Katalanca"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Çekçe"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Danca"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Almanca"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Yunanca"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "İngilizce (GB)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "İspanyolca"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "Farsça"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Fince"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Fransızca"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Macarca"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "İtalyanca"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Japonca"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Korece"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Lüksemburgca"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Norveçce"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Hollandaca"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Polonyaca"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Portekizce (Brezilya)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Portekizce"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Romence"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Rusça"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Slovakça"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Slovakça"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Sırpça"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "İsveççe"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Türkçe"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Ukraynaca"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "Vietnamca"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Basitleştirilmiş Çince"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "Geleneksel Çince"
+76 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Ukrainian\n"
"Language: uk_UA\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Документи"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "Значення має бути коректним JSON."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Хибний вираз запиту користувацького поля"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Недопустимий список виразів. Має бути непустим."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Неприпустимий логічний оператор {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Перевищено максимальну кількість умов запиту."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} не є дійсним користувацьким полем."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} не підтримує вираз {expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Перевищена максимальна глибина вкладення."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Не знайдено користувацьке поле"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "Виявлено неправильну змінну."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1913,44 +1913,59 @@ msgstr "Ви збираєтеся використовувати ваш облі
msgid "As a final step, please complete the following form:"
msgstr "Як останній крок, будь ласка, заповніть наступну форму:"
#: documents/validators.py:36
msgid ", "
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr ""
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr ""
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr ""
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr ""
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2242,151 +2257,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "налаштування програми документообігу"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Англійська (США)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Арабська"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Африкаанс"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Білоруська"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Болгарська"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Каталонська"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Чеська"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Данська"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Німецька"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Грецька"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Англійська (Велика Британія)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Іспанська"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Фінська"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Французька"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Угорська"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Італійська"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Японська"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Корейська"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Люксембурзька"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Норвезька"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Нідерландська"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Польська"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Португальська (Бразилія)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Португальська"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Румунська"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Російська"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Словацька"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Словенська"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Сербська"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Шведська"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Турецька"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Українська"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Китайська спрощена"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr ""
+77 -62
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
"Language: vi_VN\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Tài liệu"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "."
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "Biểu thức truy vấn trường tùy chỉnh không hợp lệ"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "Danh sách biểu thức không hợp lệ. Phải không rỗng."
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "Toán tử lô-gic không hợp lệ {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "Đã vượt quá số điều kiện truy vấn tối đa."
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} không phải là trường tùy chỉnh hợp lệ."
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} không hỗ trợ expr truy vấn{expr!r}."
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Đã vượt quá độ sâu lồng nhau tối đa."
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Không tìm thấy trường tùy chỉnh"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "các lần chạy quy trình"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Không có đủ quyền."
@@ -1676,7 +1676,7 @@ msgstr "Đã phát hiện biến số không hợp lệ."
msgid "Duplicate document identifiers are not allowed."
msgstr "Không cho phép các định danh tài liệu trùng lặp"
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Không tìm thấy tài liệu: %(ids)s"
@@ -1913,44 +1913,59 @@ msgstr "Bạn sắp sử dụng tài khoản %(provider_name)s của bạn để
msgid "As a final step, please complete the following form:"
msgstr "Là bước cuối cùng, vui lòng hoàn thành mẫu đơn sau:"
#: documents/validators.py:36
msgid ", "
msgstr ""
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "Không thể phân tích URI {value}, thiếu giao thức"
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr "Không thể phân tích URI {value}, thiếu tên miền hoặc đường dẫn"
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "Giao thức URI '{parts.scheme}' không được phép. Các giao thức được phép: {', '.join(allowed_schemes)}"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "Không thể phân tích URI {value}"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Không đủ quyền để chia sẻ tài liệu %(id)s"
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr "Gói đang được xử lý"
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Liên kết chia sẻ gói vẫn đang được chuẩn bị. Vui lòng thử lại sau."
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Không tồn tại liên kết chia sẻ gói"
@@ -2242,151 +2257,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "thiết đặt ứng dụng không cần giấy tờ"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "Tiếng Anh (Hoa Kỳ)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "Tiếng Ả Rập"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Tiếng Afrikaans"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "Tiếng Belarus"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "Tiếng Bulgaria"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Tiếng Catalan"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "Séc"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "Đan Mạch"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "Tiếng Đức"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Tiếng Hy Lạp"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "Tiếng Anh (GB)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "Tiếng Tây Ban Nha"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "Tiếng Ba Tư"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "Tiếng Phần Lan"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "Tiếng Pháp"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "Tiếng Hungary"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr "Tiếng Indonesia"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "Tiếng Ý"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "Tiếng Nhật"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "Tiếng Hàn"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "Luxembourgish"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Tiếng Na Uy"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "Tiếng Hà Lan"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "Tiếng Ba Lan"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "Tiếng Bồ Đào Nha (Brazil)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "Tiếng Bồ Đào Nha"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "Tiếng Romania"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "Tiếng Nga"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "Tiếng Slovakia"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "Tiếng Slovenia"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "Tiếng Serbia"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "Tiếng Thụy Điển"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "Thổ Nhĩ Kỳ"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "Ukraine"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "Tiếng Việt"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "Tiếng Trung Giản thể"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "Tiếng Trung (Phồn thể)"
+114 -99
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "文档"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "值必须是有效的 JSON 格式。"
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "无效的自定义字段查询表达式"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "无效的表达式列表。必须不为空。"
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "无效的逻辑运算符 {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "超出查询条件的最大数量。"
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} 不是一个有效的自定义字段。"
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} 不支持查询表达式 {expr!r}。"
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "超出最大嵌套深度。"
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "Custom field not found"
@@ -286,11 +286,11 @@ msgstr "银行"
#: documents/models.py:564
msgid "Basket"
msgstr "篮子"
msgstr ""
#: documents/models.py:565
msgid "Bell"
msgstr "铃铛"
msgstr ""
#: documents/models.py:566
msgid "Bookmark"
@@ -402,7 +402,7 @@ msgstr "过滤器"
#: documents/models.py:596
msgid "Gear"
msgstr "齿轮"
msgstr ""
#: documents/models.py:597
msgid "Globe"
@@ -450,7 +450,7 @@ msgstr ""
#: documents/models.py:608
msgid "Printer"
msgstr "打印机"
msgstr ""
#: documents/models.py:609
msgid "Receipt"
@@ -458,19 +458,19 @@ msgstr "收据"
#: documents/models.py:610
msgid "Safe"
msgstr "安全"
msgstr ""
#: documents/models.py:611
msgid "Search"
msgstr "搜索"
msgstr ""
#: documents/models.py:612
msgid "Send"
msgstr "发送"
msgstr ""
#: documents/models.py:613
msgid "Shop"
msgstr "商店"
msgstr ""
#: documents/models.py:614
msgid "Stack"
@@ -490,15 +490,15 @@ msgstr "标签"
#: documents/models.py:618
msgid "Telephone"
msgstr "电话"
msgstr ""
#: documents/models.py:619
msgid "Truck"
msgstr "货车"
msgstr ""
#: documents/models.py:620
msgid "Barcode"
msgstr "条形码"
msgstr ""
#: documents/models.py:621
msgid "Wallet"
@@ -562,7 +562,7 @@ msgstr "页"
#: documents/models.py:646
msgid "icon"
msgstr "图标"
msgstr ""
#: documents/models.py:653
msgid "sort field"
@@ -1006,7 +1006,7 @@ msgstr "备注"
#: documents/models.py:996
msgid "page"
msgstr "页面"
msgstr ""
#: documents/models.py:997
msgid "Page of the original file, starting at 1"
@@ -1014,15 +1014,15 @@ msgstr ""
#: documents/models.py:1052
msgid "format"
msgstr "格式"
msgstr ""
#: documents/models.py:1056
msgid "document barcode"
msgstr "文档条形码"
msgstr ""
#: documents/models.py:1057
msgid "document barcodes"
msgstr "文档条形码"
msgstr ""
#: documents/models.py:1066
msgid "Original"
@@ -1404,23 +1404,23 @@ msgstr "移动到回收站"
#: documents/models.py:1795
msgid "Remote OCR"
msgstr "远程 OCR"
msgstr ""
#: documents/models.py:1799
msgid "Apply AI suggestions"
msgstr "应用 AI 建议"
msgstr ""
#: documents/models.py:1806
msgid "Document type"
msgstr "文档类型"
msgstr ""
#: documents/models.py:1807
msgid "Storage path"
msgstr "保存路径"
msgstr ""
#: documents/models.py:1808
msgid "Created date"
msgstr "创建日期"
msgstr ""
#: documents/models.py:1811
msgid "Workflow Action Type"
@@ -1573,27 +1573,27 @@ msgstr "移除PDF保护时的密码。用逗号或新行分隔。"
#: documents/models.py:2048
msgid "AI suggestion fields"
msgstr "AI 建议字段"
msgstr ""
#: documents/models.py:2052
msgid "Which of the AI-suggested fields to apply to the document."
msgstr "适用于文档的 AI-建议字段中的哪一个。"
msgstr ""
#: documents/models.py:2057
msgid "create missing objects"
msgstr "创建缺失对象"
msgstr ""
#: documents/models.py:2060
msgid "Create suggested tags, correspondents, document types and storage paths that do not already exist instead of skipping them."
msgstr "创建建议的标签、往来方、文档类型和存储路径(如果这些项目尚不存在),而不是跳过它们。"
msgstr ""
#: documents/models.py:2066
msgid "overwrite existing values"
msgstr "覆盖现有值"
msgstr ""
#: documents/models.py:2069
msgid "Apply suggestions even if the document already has a value for that field. Tags are always added to, never replaced."
msgstr "即使文档的该字段已有值,也应用建议的内容。标签始终采用追加方式,不会替换现有标签。"
msgstr ""
#: documents/models.py:2075
msgid "workflow action"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "工作流运行"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "权限不足。"
@@ -1676,7 +1676,7 @@ msgstr "检测到无效变量。"
msgid "Duplicate document identifiers are not allowed."
msgstr "不允许重复文档标识符。"
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "未找到文档:%(ids)s"
@@ -1913,44 +1913,59 @@ msgstr "您将使用您的 %(provider_name)s 账户登录."
msgid "As a final step, please complete the following form:"
msgstr "作为最后一步,请填写以下表格:"
#: documents/validators.py:36
msgid ", "
msgstr ","
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "无法解析 URI {value},缺少scheme"
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr "无法解析 URI {value},缺少网络位置或路径"
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "URI 格式 '{parts.scheme}' 不支持。支持的格式有:{', '.join(allowed_schemes)}"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "无法解析 URI {value}"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr "无效的more_like_id"
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr "无效的 AI 配置。"
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr "AI 后端请求超时。"
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr "AI 后端拒绝了请求。请检查日志的详细信息。"
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "只能指定 text、title_search、query 或 more_like_id 中的一项。"
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "权限不足以分享文件:%(id)s。"
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr "捆绑包已在处理中。"
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "分享链接包仍在准备中,请稍后再试。"
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "分享链接包不可用。"
@@ -2036,15 +2051,15 @@ msgstr "CMYK"
#: paperless/models.py:82
msgid "Azure AI Document Intelligence"
msgstr "Azure AI 文档智能"
msgstr ""
#: paperless/models.py:90
msgid "All supported documents"
msgstr "所有支持的文档"
msgstr ""
#: paperless/models.py:91
msgid "Only when a workflow enables it"
msgstr "仅当工作流启用时"
msgstr ""
#: paperless/models.py:95 paperless/models.py:105
msgid "OpenAI-compatible"
@@ -2168,23 +2183,23 @@ msgstr "启用标签条码拆分"
#: paperless/models.py:308
msgid "Stores the values of detected barcodes"
msgstr "存储检测到条形码的值"
msgstr ""
#: paperless/models.py:318
msgid "Sets the remote OCR engine"
msgstr "设置远程 OCR 引擎"
msgstr ""
#: paperless/models.py:327
msgid "Sets the remote OCR API key"
msgstr "设置远程 OCR API 密钥"
msgstr ""
#: paperless/models.py:335
msgid "Sets the remote OCR endpoint"
msgstr "设置远程 OCR 端点"
msgstr ""
#: paperless/models.py:343
msgid "Sets which documents are sent to the remote OCR engine"
msgstr "设置发送到远程 OCR 引擎的文档"
msgstr ""
#: paperless/models.py:355
msgid "Enables AI features"
@@ -2200,7 +2215,7 @@ msgstr "设置 LLM 嵌入模型"
#: paperless/models.py:375
msgid "Sets the LLM embedding API key"
msgstr "设置 LLM 嵌入模型的 API 密钥"
msgstr ""
#: paperless/models.py:382
msgid "Sets the LLM embedding endpoint, optional"
@@ -2242,151 +2257,151 @@ msgstr "设置 LLM 超时时间(秒)"
msgid "paperless application settings"
msgstr "paperless 应用设置"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "英语(美国)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "阿拉伯语"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "Afrikaans 荷兰语"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "白俄罗斯语"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "保加利亚语"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "Catalan 加泰罗尼亚语"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "捷克语"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "丹麦语"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "德语"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "Greek 希腊语"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "英语(英国)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "西班牙语"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "波斯文"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "已完成"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "法语"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "匈牙利语"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr "印度尼西亚语"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "意大利语"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "日语"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "韩语"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "卢森堡语"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "Norwegian 挪威语"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "荷兰语"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "波兰语"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "葡萄牙语 (巴西)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "葡萄牙语"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "罗马尼亚语"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "俄语"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "斯洛伐克语"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "斯洛语尼亚语"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "塞尔维亚语"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "瑞典语"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "土耳其语"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "乌克兰语"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "越南语"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "简体中文"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "繁体中文"
+80 -65
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-05 16:26+0000\n"
"PO-Revision-Date: 2026-10-05 16:27\n"
"Last-Translator: \n"
"Language-Team: Chinese Traditional\n"
"Language: zh_TW\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "文件"
#: documents/filters.py:464
#: documents/filters.py:463
msgid "Value must be valid JSON."
msgstr "參數值必須是有效的 JSON。"
#: documents/filters.py:483
#: documents/filters.py:482
msgid "Invalid custom field query expression"
msgstr "無效的自訂欄位查詢表達式"
#: documents/filters.py:493
#: documents/filters.py:492
msgid "Invalid expression list. Must be nonempty."
msgstr "無效的表達式列表,不能為空。"
#: documents/filters.py:514
#: documents/filters.py:513
msgid "Invalid logical operator {op!r}"
msgstr "無效的邏輯運算符 {op!r}"
#: documents/filters.py:528
#: documents/filters.py:527
msgid "Maximum number of query conditions exceeded."
msgstr "超過查詢條件的最大數量。"
#: documents/filters.py:592
#: documents/filters.py:591
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} 不是有效的自訂欄位。"
#: documents/filters.py:629
#: documents/filters.py:628
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} 不支援查詢表達式 {expr!r}。"
#: documents/filters.py:748 documents/models.py:137
#: documents/filters.py:747 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "超過最大巢狀深度。"
#: documents/filters.py:1125
#: documents/filters.py:1109
msgid "Custom field not found"
msgstr "找不到自訂欄位"
@@ -1018,11 +1018,11 @@ msgstr ""
#: documents/models.py:1056
msgid "document barcode"
msgstr "文件條碼"
msgstr ""
#: documents/models.py:1057
msgid "document barcodes"
msgstr "文件條碼"
msgstr ""
#: documents/models.py:1066
msgid "Original"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "執行工作流程"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:343 documents/views.py:2732
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "權限不足。"
@@ -1676,7 +1676,7 @@ msgstr "偵測到無效的變數。"
msgid "Duplicate document identifiers are not allowed."
msgstr "文件識別碼不得重複。"
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4787
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "找不到文件:%(ids)s"
@@ -1913,44 +1913,59 @@ msgstr "即將使用 %(provider_name)s 帳號登入。"
msgid "As a final step, please complete the following form:"
msgstr "最後一步,請填寫以下表單:"
#: documents/validators.py:36
msgid ", "
msgstr ""
#: documents/validators.py:24
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr "無法解析 URI {value},缺少協定"
#: documents/views.py:337 documents/views.py:2749
#: documents/validators.py:29
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr "無法解析 URI {value},缺少網路位置或路徑"
#: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "URI 協定「{parts.scheme}」不被允許。允許的協定有:{', '.join(allowed_schemes)}"
#: documents/validators.py:45
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr "無法解析 URI {value}"
#: documents/views.py:336 documents/views.py:2729
msgid "Invalid more_like_id"
msgstr "無效的 more_like_id"
#: documents/views.py:1684
#: documents/views.py:1676
msgid "Invalid AI configuration."
msgstr "無效的 AI 配置。"
#: documents/views.py:1695
#: documents/views.py:1687
msgid "AI backend request timed out."
msgstr "AI 後端請求逾時。"
#: documents/views.py:1707
#: documents/views.py:1699
msgid "AI backend rejected the request. Check logs for details."
msgstr "AI 後端拒絕了請求。請檢查日誌以取得詳細資訊。"
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:2554 documents/views.py:2870
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "只能指定 text、title_search、query 或 more_like_id 的其中一項。"
#: documents/views.py:4815
#: documents/views.py:4800
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "權限不足,無法共用文件:%(id)s"
#: documents/views.py:4862
#: documents/views.py:4846
msgid "Bundle is already being processed."
msgstr "組合已在處理中。"
#: documents/views.py:4926
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "共用連結組合仍在準備中,請稍後再試。"
#: documents/views.py:4940
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "共用連結組合無法使用。"
@@ -2168,7 +2183,7 @@ msgstr "啟用依標籤條碼進行拆分"
#: paperless/models.py:308
msgid "Stores the values of detected barcodes"
msgstr "儲存檢測到的條碼參數值"
msgstr ""
#: paperless/models.py:318
msgid "Sets the remote OCR engine"
@@ -2242,151 +2257,151 @@ msgstr "設定 LLM 逾時秒數"
msgid "paperless application settings"
msgstr "Paperless 應用程式設定"
#: paperless/settings/__init__.py:562
#: paperless/settings/__init__.py:561
msgid "English (US)"
msgstr "英文(美國)"
#: paperless/settings/__init__.py:563
#: paperless/settings/__init__.py:562
msgid "Arabic"
msgstr "阿拉伯文"
#: paperless/settings/__init__.py:564
#: paperless/settings/__init__.py:563
msgid "Afrikaans"
msgstr "南非荷蘭文"
#: paperless/settings/__init__.py:565
#: paperless/settings/__init__.py:564
msgid "Belarusian"
msgstr "白俄羅斯文"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:565
msgid "Bulgarian"
msgstr "保加利亞文"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:566
msgid "Catalan"
msgstr "加泰羅尼亞文"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:567
msgid "Czech"
msgstr "捷克文"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:568
msgid "Danish"
msgstr "丹麥文"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:569
msgid "German"
msgstr "德文"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:570
msgid "Greek"
msgstr "希臘文"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:571
msgid "English (GB)"
msgstr "英文(英國)"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:572
msgid "Spanish"
msgstr "西班牙文"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:573
msgid "Persian"
msgstr "波斯文"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:574
msgid "Finnish"
msgstr "芬蘭文"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:575
msgid "French"
msgstr "法文"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:576
msgid "Hungarian"
msgstr "匈牙利文"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:577
msgid "Indonesian"
msgstr "印尼文"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:578
msgid "Italian"
msgstr "義大利文"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:579
msgid "Japanese"
msgstr "日文"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:580
msgid "Korean"
msgstr "韓文"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:581
msgid "Luxembourgish"
msgstr "盧森堡文"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:582
msgid "Norwegian"
msgstr "挪威文"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:583
msgid "Dutch"
msgstr "荷蘭文"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:584
msgid "Polish"
msgstr "波蘭文"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:585
msgid "Portuguese (Brazil)"
msgstr "葡萄牙文(巴西)"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:586
msgid "Portuguese"
msgstr "葡萄牙文"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:587
msgid "Romanian"
msgstr "羅馬尼亞文"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:588
msgid "Russian"
msgstr "俄文"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:589
msgid "Slovak"
msgstr "斯洛伐克文"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:590
msgid "Slovenian"
msgstr "斯洛維尼亞文"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:591
msgid "Serbian"
msgstr "塞爾維亞文"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:592
msgid "Swedish"
msgstr "瑞典文"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:593
msgid "Turkish"
msgstr "土耳其文"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:594
msgid "Ukrainian"
msgstr "烏克蘭文"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:595
msgid "Vietnamese"
msgstr "越南文"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:596
msgid "Chinese Simplified"
msgstr "簡體中文"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:597
msgid "Chinese Traditional"
msgstr "繁體中文"
+46 -20
View File
@@ -1,4 +1,5 @@
import datetime
import json
import logging
import logging.config
import math
@@ -6,6 +7,7 @@ import multiprocessing
import os
import tempfile
from pathlib import Path
from typing import Any
from typing import Final
from urllib.parse import urlparse
@@ -23,7 +25,6 @@ from paperless.settings.parsers import get_bool_from_env
from paperless.settings.parsers import get_choice_from_env
from paperless.settings.parsers import get_float_from_env
from paperless.settings.parsers import get_int_from_env
from paperless.settings.parsers import get_json_from_env
from paperless.settings.parsers import get_list_from_env
from paperless.settings.parsers import get_path_from_env
@@ -330,10 +331,8 @@ SOCIALACCOUNT_ALLOW_SIGNUPS = get_bool_from_env(
"yes",
)
SOCIALACCOUNT_AUTO_SIGNUP = get_bool_from_env("PAPERLESS_SOCIAL_AUTO_SIGNUP")
SOCIALACCOUNT_PROVIDERS = get_json_from_env(
"PAPERLESS_SOCIALACCOUNT_PROVIDERS",
{},
dict,
SOCIALACCOUNT_PROVIDERS = json.loads(
os.getenv("PAPERLESS_SOCIALACCOUNT_PROVIDERS", "{}"),
)
SOCIAL_ACCOUNT_DEFAULT_GROUPS = get_list_from_env(
"PAPERLESS_SOCIAL_ACCOUNT_DEFAULT_GROUPS",
@@ -489,7 +488,7 @@ ALLAUTH_TRUSTED_CLIENT_IP_HEADER = os.getenv(
USE_X_FORWARDED_HOST = get_bool_from_env("PAPERLESS_USE_X_FORWARD_HOST", "false")
USE_X_FORWARDED_PORT = get_bool_from_env("PAPERLESS_USE_X_FORWARD_PORT", "false")
SECURE_PROXY_SSL_HEADER = (
tuple(get_json_from_env("PAPERLESS_PROXY_SSL_HEADER", [], list))
tuple(json.loads(os.environ["PAPERLESS_PROXY_SSL_HEADER"]))
if "PAPERLESS_PROXY_SSL_HEADER" in os.environ
else None
)
@@ -829,17 +828,23 @@ CONSUMER_DELETE_DUPLICATES = get_bool_from_env("PAPERLESS_CONSUMER_DELETE_DUPLIC
CONSUMER_RECURSIVE = get_bool_from_env("PAPERLESS_CONSUMER_RECURSIVE")
# Ignore regex patterns, matched against filename only
CONSUMER_IGNORE_PATTERNS = get_json_from_env(
"PAPERLESS_CONSUMER_IGNORE_PATTERNS",
[],
list,
CONSUMER_IGNORE_PATTERNS = list(
json.loads(
os.getenv(
"PAPERLESS_CONSUMER_IGNORE_PATTERNS",
json.dumps([]),
),
),
)
# Directories to always ignore. These are matched by directory name, not full path
CONSUMER_IGNORE_DIRS = get_json_from_env(
"PAPERLESS_CONSUMER_IGNORE_DIRS",
[],
list,
CONSUMER_IGNORE_DIRS = list(
json.loads(
os.getenv(
"PAPERLESS_CONSUMER_IGNORE_DIRS",
json.dumps([]),
),
),
)
CONSUMER_SUBDIRS_AS_TAGS = get_bool_from_env("PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS")
@@ -889,10 +894,13 @@ CONSUMER_ENABLE_TAG_BARCODE: Final[bool] = get_bool_from_env(
"PAPERLESS_CONSUMER_ENABLE_TAG_BARCODE",
)
CONSUMER_TAG_BARCODE_MAPPING = get_json_from_env(
"PAPERLESS_CONSUMER_TAG_BARCODE_MAPPING",
{"TAG:(.*)": "\\g<1>"},
dict,
CONSUMER_TAG_BARCODE_MAPPING = dict(
json.loads(
os.getenv(
"PAPERLESS_CONSUMER_TAG_BARCODE_MAPPING",
'{"TAG:(.*)": "\\\\g<1>"}',
),
),
)
CONSUMER_TAG_BARCODE_SPLIT: Final[bool] = get_bool_from_env(
@@ -1080,6 +1088,25 @@ CLASSIFIER_LANGUAGES: Final[dict[str, str]] = {
}
def _get_llm_extra_params() -> dict[str, Any]:
"""
Parse PAPERLESS_AI_LLM_EXTRA_PARAMS, a JSON object passed straight through
to the LLM backend's request body.
"""
raw = os.getenv("PAPERLESS_AI_LLM_EXTRA_PARAMS", "{}")
try:
parsed = json.loads(raw)
except json.JSONDecodeError as e:
raise ImproperlyConfigured(
"PAPERLESS_AI_LLM_EXTRA_PARAMS must be valid JSON",
) from e
if not isinstance(parsed, dict):
raise ImproperlyConfigured(
"PAPERLESS_AI_LLM_EXTRA_PARAMS must be a JSON object",
)
return parsed
def _get_classifier_language_setting(ocr_lang: str) -> str | None:
"""
Maps the primary Tesseract language to the classifier's stemming
@@ -1241,5 +1268,4 @@ LLM_ALLOW_INTERNAL_ENDPOINTS = get_bool_from_env(
"PAPERLESS_AI_LLM_ALLOW_INTERNAL_ENDPOINTS",
"true",
)
# JSON object passed straight through to the LLM backend's request body
LLM_EXTRA_PARAMS = get_json_from_env("PAPERLESS_AI_LLM_EXTRA_PARAMS", {}, dict)
LLM_EXTRA_PARAMS = _get_llm_extra_params()
-55
View File
@@ -312,58 +312,3 @@ def get_choice_from_env(
)
return value
@overload
def get_json_from_env(key: str, default: T, expected_type: type[T]) -> T: ...
@overload
def get_json_from_env(
key: str,
default: Any,
expected_type: None = None,
) -> Any: ...
def get_json_from_env(
key: str,
default: Any,
expected_type: type | None = None,
) -> Any:
"""
Gets an environment variable and parses it as JSON.
Args:
key: The environment variable key
default: Python value returned when the variable is not set
expected_type: If given, the parsed value must be an instance of it
Returns:
The parsed JSON value, or the default if the variable is not set
Raises:
ValueError: If the value is not valid JSON or is not the expected type.
The message names the offending variable.
"""
raw = os.environ.get(key)
if raw is None:
return default
import json
try:
parsed = json.loads(raw)
except json.JSONDecodeError as e:
raise ValueError(
f"Environment variable '{key}' is not valid JSON: {e.msg} "
f"(line {e.lineno}, column {e.colno}). Value: {raw!r}",
) from e
if expected_type is not None and not isinstance(parsed, expected_type):
raise ValueError(
f"Environment variable '{key}' must be a JSON {expected_type.__name__}, "
f"got {type(parsed).__name__}",
)
return parsed
@@ -8,7 +8,6 @@ from paperless.settings.parsers import get_bool_from_env
from paperless.settings.parsers import get_choice_from_env
from paperless.settings.parsers import get_float_from_env
from paperless.settings.parsers import get_int_from_env
from paperless.settings.parsers import get_json_from_env
from paperless.settings.parsers import get_list_from_env
from paperless.settings.parsers import get_path_from_env
from paperless.settings.parsers import parse_dict_from_str
@@ -612,43 +611,3 @@ class TestGetEnvChoice:
result = get_choice_from_env("TEST_ENV", large_choices)
assert result == "option_50"
class TestGetJsonFromEnv:
@pytest.mark.parametrize(
("env_value", "expected_type", "expected"),
[
pytest.param(None, list, ["default"], id="unset-uses-default"),
pytest.param('["a", "b"]', list, ["a", "b"], id="list"),
pytest.param('["a"]', None, ["a"], id="no-type-check"),
],
)
def test_returns_value(
self,
mocker: MockerFixture,
env_value: str | None,
expected_type: type | None,
expected: list[str],
) -> None:
env = {} if env_value is None else {"TEST_ENV": env_value}
mocker.patch.dict("os.environ", env, clear=True)
assert get_json_from_env("TEST_ENV", ["default"], expected_type) == expected
@pytest.mark.parametrize(
("env_value", "match"),
[
pytest.param('["a", , "b"]', "'TEST_ENV' is not valid JSON", id="invalid"),
pytest.param('{"a": 1}', "must be a JSON list, got dict", id="wrong-type"),
],
)
def test_raises(
self,
mocker: MockerFixture,
env_value: str,
match: str,
) -> None:
mocker.patch.dict("os.environ", {"TEST_ENV": env_value})
with pytest.raises(ValueError, match=match):
get_json_from_env("TEST_ENV", [], list)
@@ -7,6 +7,7 @@ from django.core.exceptions import ImproperlyConfigured
from paperless.settings import _get_allauth_trusted_proxy_count
from paperless.settings import _get_classifier_language_setting
from paperless.settings import _get_llm_extra_params
from paperless.settings import _get_search_language_setting
from paperless.settings import _parse_paperless_url
from paperless.settings import default_threads_per_worker
@@ -166,3 +167,45 @@ class TestPaperlessURLSettings(TestCase):
self.assertIn(url, settings.CSRF_TRUSTED_ORIGINS)
self.assertIn(url, settings.CORS_ALLOWED_ORIGINS)
class TestLlmExtraParams:
@pytest.mark.parametrize(
("env_value", "expected"),
[
pytest.param(None, {}, id="unset"),
pytest.param(
'{"reasoning_effort": "none"}',
{"reasoning_effort": "none"},
id="json-object",
),
],
)
def test_parses(
self,
monkeypatch,
env_value,
expected,
):
if env_value is None:
monkeypatch.delenv("PAPERLESS_AI_LLM_EXTRA_PARAMS", raising=False)
else:
monkeypatch.setenv("PAPERLESS_AI_LLM_EXTRA_PARAMS", env_value)
assert _get_llm_extra_params() == expected
@pytest.mark.parametrize(
("env_value", "match"),
[
pytest.param("reasoning_effort=none", "valid JSON", id="invalid-json"),
pytest.param('["none"]', "JSON object", id="not-an-object"),
],
)
def test_invalid_raises(
self,
monkeypatch,
env_value,
match,
):
monkeypatch.setenv("PAPERLESS_AI_LLM_EXTRA_PARAMS", env_value)
with pytest.raises(ImproperlyConfigured, match=match):
_get_llm_extra_params()
+3 -6
View File
@@ -6,7 +6,6 @@ from django.contrib.auth.models import User
from documents.models import Document
from documents.permissions import permitted_document_ids
from documents.permissions import user_is_unrestricted
from documents.versioning import annotate_effective_content
from paperless.config import AIConfig
from paperless_ai.base_model import ClassificationSuggestions
from paperless_ai.base_model import TaxonomyChoiceDict
@@ -112,7 +111,7 @@ def build_prompt_without_rag(
) -> str:
filename = document.filename or ""
content = truncate_content(
(document.get_effective_content() or "")[:4000],
document.content[:4000] or "",
chunk_size=config.llm_embedding_chunk_size,
context_size=config.llm_context_size,
)
@@ -226,9 +225,7 @@ def get_taxonomy_context(
# similar_documents is already ordered by descending weight; don't lose it.
similar_document_ids = [s["document_id"] for s in similar_documents]
similar_documents_by_id = annotate_effective_content(
Document.objects.all(),
).in_bulk(similar_document_ids)
similar_documents_by_id = Document.objects.in_bulk(similar_document_ids)
similar_docs = [
similar_documents_by_id[document_id]
for document_id in similar_document_ids
@@ -236,7 +233,7 @@ def get_taxonomy_context(
][:max_docs]
context_blocks = []
for similar in similar_docs:
text = (similar.get_effective_content() or "")[:1000]
text = similar.content[:1000] or ""
title = similar.title or similar.filename or "Untitled"
context_blocks.append(f"TITLE: {title}\n{text}")
except Exception:
+1 -1
View File
@@ -135,6 +135,6 @@ def build_llm_index_text(doc: Document) -> str:
lines.append(f"Custom Field - {instance.field.name}: {instance}")
lines.append("\nContent:\n")
lines.append(doc.get_effective_content() or "")
lines.append(doc.content or "")
return _normalize_llm_index_text("\n".join(lines))
+8 -15
View File
@@ -17,8 +17,6 @@ from documents.models import PaperlessTask
from documents.utils import IterWrapper
from documents.utils import QuerySetStream
from documents.utils import identity
from documents.versioning import annotate_effective_content
from documents.versioning import root_document_ids
from paperless.config import AIConfig
from paperless_ai.db import db_connection_released
from paperless_ai.embedding import build_llm_index_text
@@ -445,11 +443,11 @@ def update_llm_index(
"Skipping LLM index update: migration check deferred; "
"will retry next run."
)
documents = annotate_effective_content(
Document.objects.filter(root_document__isnull=True)
.select_related("correspondent", "document_type", "storage_path")
.prefetch_related("tags", "notes", "custom_fields__field"),
)
documents = Document.objects.select_related(
"correspondent",
"document_type",
"storage_path",
).prefetch_related("tags", "notes", "custom_fields__field")
no_documents = not documents.exists()
# Fast exit before touching config: nothing to index and no existing index.
@@ -485,7 +483,7 @@ def update_llm_index(
msg = "LLM index rebuilt successfully."
else:
scoped_documents = (
documents.filter(id__in=root_document_ids(document_ids))
documents.filter(id__in=document_ids)
if document_ids is not None
else documents
)
@@ -512,12 +510,7 @@ def update_llm_index(
def llm_index_add_or_update_document(document: Document):
"""
Add or atomically replace a document's chunks in the index. Only root
documents are indexed, so a version is indexed as its root document.
"""
if document.root_document_id is not None:
document = document.root_document
"""Add or atomically replace a document's chunks in the index."""
config = AIConfig()
new_nodes = build_document_node(
document,
@@ -695,7 +688,7 @@ def retrieve_similar_nodes(
)
query_text = truncate_embedding_query(
(document.title or "") + "\n" + (document.get_effective_content() or ""),
(document.title or "") + "\n" + (document.content or ""),
chunk_size=config.llm_embedding_chunk_size,
)
# Hold the shared read lock for the whole retrieval so the connection is
@@ -55,7 +55,6 @@ def mock_document():
doc.storage_path = None
doc.archive_serial_number = "12345"
doc.content = "This is the document content."
doc.get_effective_content.return_value = "This is the document content."
cf1 = MagicMock(__str__=lambda x: "Value1")
cf1.field = MagicMock()
@@ -435,55 +434,6 @@ def test_get_taxonomy_context_preserves_similarity_order_and_distinct_documents(
)
@pytest.mark.django_db
class TestClassifierEffectiveContent:
"""A root document's text for the LLM is its newest version's content."""
@staticmethod
def _root_with_version() -> Document:
root = DocumentFactory(title="Statement", content="stale text")
DocumentFactory(root_document=root, version_index=1, content="latest text")
return root
def test_prompt_uses_the_newest_versions_content(self) -> None:
"""
GIVEN:
- A root document with a version
WHEN:
- The classification prompt is built for the root
THEN:
- It contains the newest version's content
"""
prompt = build_prompt_without_rag(self._root_with_version(), AIConfig())
assert "latest text" in prompt
assert "stale text" not in prompt
@override_settings(LLM_EMBEDDING_BACKEND="huggingface")
def test_similar_document_context_uses_the_newest_versions_content(self) -> None:
"""
GIVEN:
- A similar root document with a version
WHEN:
- The similar-document context is built
THEN:
- It contains the newest version's content
"""
similar = self._root_with_version()
document = DocumentFactory(content="Some content")
fake_nodes = [
SimpleNamespace(metadata={"document_id": str(similar.pk)}, score=0.9),
]
with patch(
"paperless_ai.ai_classifier.retrieve_similar_nodes",
return_value=fake_nodes,
):
_candidates, context = get_taxonomy_context(document, user=None)
assert context == "TITLE: Statement\nlatest text"
@pytest.mark.django_db
@override_settings(LLM_EMBEDDING_BACKEND="huggingface")
def test_get_taxonomy_context_no_similar_docs():
-136
View File
@@ -388,108 +388,6 @@ def test_update_llm_index_partial_update(
assert after[str(doc2.pk)] == before[str(doc2.pk)]
@pytest.mark.django_db
class TestLlmIndexVersions:
"""The LLM index holds root documents only: a version is indexed as its root."""
def test_add_or_update_document_indexes_a_version_as_its_root(
self,
temp_llm_index_dir: Path,
mock_embed_model: FakeEmbedding,
) -> None:
"""
GIVEN:
- A root document with a version
WHEN:
- The version is passed to llm_index_add_or_update_document
THEN:
- Only the root document is in the index
"""
root = DocumentFactory(content="root content")
version = DocumentFactory(root_document=root, version_index=1)
indexing.llm_index_add_or_update_document(version)
with indexing.get_vector_store() as store:
indexed = store.get_modified_times()
assert set(indexed) == {str(root.pk)}
def test_rebuild_skips_versions(
self,
temp_llm_index_dir: Path,
mock_embed_model: FakeEmbedding,
) -> None:
"""
GIVEN:
- A root document with a version
WHEN:
- The LLM index is rebuilt
THEN:
- Only the root document is in the index
"""
root = DocumentFactory()
DocumentFactory(root_document=root, version_index=1)
indexing.update_llm_index(rebuild=True)
with indexing.get_vector_store() as store:
indexed = store.get_modified_times()
assert set(indexed) == {str(root.pk)}
def test_rebuild_indexes_the_newest_versions_content(
self,
temp_llm_index_dir: Path,
mock_embed_model: FakeEmbedding,
mocker: pytest_mock.MockerFixture,
) -> None:
"""
GIVEN:
- A root document with a version
WHEN:
- The LLM index is rebuilt
THEN:
- The root's text for the index is the version's content, answered
from the query rather than a query per document
"""
root = DocumentFactory(content="stale text")
DocumentFactory(root_document=root, version_index=1, content="latest text")
spy = mocker.spy(indexing, "build_document_node")
indexing.update_llm_index(rebuild=True)
indexed = spy.call_args.args[0]
assert indexed.pk == root.pk
assert indexed.effective_content == "latest text"
def test_incremental_update_by_version_id_refreshes_the_root(
self,
temp_llm_index_dir: Path,
mock_embed_model: FakeEmbedding,
) -> None:
"""
GIVEN:
- An indexed root document with a version whose root was modified since
WHEN:
- An incremental update is scoped to the version's id
THEN:
- The root's entry is refreshed and no entry exists for the version
"""
root = DocumentFactory()
version = DocumentFactory(root_document=root, version_index=1)
indexing.update_llm_index(rebuild=True)
Document.objects.filter(pk=root.pk).update(modified=timezone.now())
root.refresh_from_db()
indexing.update_llm_index(document_ids=[version.pk])
with indexing.get_vector_store() as store:
indexed = store.get_modified_times()
assert indexed == {str(root.pk): root.modified.isoformat()}
@pytest.mark.django_db
def test_add_or_update_document_updates_existing_entry(
temp_llm_index_dir: Path,
@@ -626,39 +524,6 @@ def test_retrieve_similar_nodes_truncates_query_to_embedding_chunk_size(
assert "word199" not in query_text
@pytest.mark.django_db
@override_settings(
LLM_EMBEDDING_BACKEND="huggingface",
LLM_BACKEND="ollama",
)
def test_retrieve_similar_nodes_queries_with_newest_versions_content(
temp_llm_index_dir: Path,
) -> None:
"""
GIVEN:
- A root document whose newest version carries different content
WHEN:
- Documents similar to the root are retrieved
THEN:
- The query text holds the newest version's content, not the root's own
"""
root = DocumentFactory(title="Statement", content="stale root text")
DocumentFactory(root_document=root, version_index=1, content="latest version text")
with (
patch("paperless_ai.indexing.load_or_build_index"),
patch("paperless_ai.indexing.llm_index_exists", return_value=True),
patch("llama_index.core.retrievers.VectorIndexRetriever") as mock_retriever_cls,
):
mock_retriever_cls.return_value.retrieve.return_value = []
indexing.retrieve_similar_nodes(root, top_k=3)
query_text = mock_retriever_cls.return_value.retrieve.call_args.args[0]
assert "latest version text" in query_text
assert "stale root text" not in query_text
class TestUpdateLlmIndexEmptyDocumentSet:
"""update_llm_index must clear the vector store table when all documents are deleted.
@@ -772,7 +637,6 @@ class TestLlmIndexAddOrUpdateDocumentEmptyContent:
doc = MagicMock(spec=Document)
doc.id = 42
doc.root_document_id = None
# Must not raise
indexing.llm_index_add_or_update_document(doc)
+1 -40
View File
@@ -12,7 +12,6 @@ from paperless_ai.embedding import _normalize_llm_index_text
from paperless_ai.embedding import build_llm_index_text
from paperless_ai.embedding import get_configured_model_name
from paperless_ai.embedding import get_embedding_model
from paperless_testing.factories import DocumentFactory
@pytest.fixture
@@ -47,7 +46,6 @@ def mock_document():
doc.correspondent.name = "Test Correspondent"
doc.archive_serial_number = "12345"
doc.content = "This is the document content."
doc.get_effective_content.return_value = "This is the document content."
cf1 = MagicMock(__str__=lambda x: "Value1")
cf1.field = MagicMock()
@@ -282,7 +280,7 @@ def test_build_llm_index_text(mock_document):
def test_build_llm_index_text_normalizes_ocr_punctuation_runs(mock_document):
mock_document.get_effective_content.return_value = (
mock_document.content = (
"Introduction ................................................ 7\n"
"Hardware Limitation ________________________________________ 9\n"
"Keep short punctuation like INV-100 and ellipses..."
@@ -296,43 +294,6 @@ def test_build_llm_index_text_normalizes_ocr_punctuation_runs(mock_document):
assert "ellipses..." in result
@pytest.mark.django_db
class TestBuildLlmIndexTextVersions:
"""A root document is indexed with its effective content, like in the search index."""
def test_root_uses_the_newest_versions_content(self) -> None:
"""
GIVEN:
- A root document with two versions
WHEN:
- The LLM index text is built for the root
THEN:
- It contains the newest version's content and not the others'
"""
root = DocumentFactory(content="stale text")
DocumentFactory(root_document=root, version_index=1, content="older text")
DocumentFactory(root_document=root, version_index=2, content="latest text")
text = build_llm_index_text(root)
assert "latest text" in text
assert "stale text" not in text
assert "older text" not in text
def test_root_without_versions_uses_its_own_content(self) -> None:
"""
GIVEN:
- A root document without versions
WHEN:
- The LLM index text is built for it
THEN:
- It contains the document's own content
"""
root = DocumentFactory(content="own text")
assert "own text" in build_llm_index_text(root)
def test_normalize_llm_index_text_collapses_ocr_leaders_without_joining_lines():
assert _normalize_llm_index_text("A........B\nC____D----E") == "A B\nC D E"
Generated
+135 -100
View File
@@ -364,7 +364,7 @@ wheels = [
[[package]]
name = "banks"
version = "2.4.5"
version = "2.5.1"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "deprecated" },
@@ -374,9 +374,9 @@ dependencies = [
{ name = "platformdirs" },
{ name = "pydantic" },
]
sdist = { url = "https://files.pythonhosted.org/packages/a1/b5/4784ee9518b97f9f69c714a4303f9a6186a7e4ff2349f89e24767e9754d9/banks-2.4.5.tar.gz", hash = "sha256:ff575732fc67d5493a73c21e0d7268bc49e86fff02b0b8735e8efb9fcb9af3a4", size = 190822, upload-time = "2026-07-07T08:14:12.055Z" }
sdist = { url = "https://files.pythonhosted.org/packages/f0/92/0449c32e718c10e4af40a3e040c830a77cdaeec6e9066622ee60e4c93e6e/banks-2.5.1.tar.gz", hash = "sha256:a7ca5c250b605ae90cfd6e4ca5dd6ce2ee377d5d59021b6feba44e345910026d", size = 196398, upload-time = "2026-09-10T10:15:34.569Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/50/b0/4d34cb2fe538aeb6d4b0723b3339cb932120db084a5c9a3c6966a26bbe1b/banks-2.4.5-py3-none-any.whl", hash = "sha256:ac2e0091b4c79379d4773c9d04a138a0d937ee27c5803bf0142acc6d6769eea1", size = 36145, upload-time = "2026-07-07T08:14:10.974Z" },
{ url = "https://files.pythonhosted.org/packages/3f/6f/06c0824ee2611de47a0fc731fa57f6042d3f573025d9f504adfd65e50d51/banks-2.5.1-py3-none-any.whl", hash = "sha256:b7c91365626bab4b46197d24ce04cd69540730ed669a50a399f240318ba3dcfb", size = 39462, upload-time = "2026-09-10T10:15:35.606Z" },
]
[[package]]
@@ -1446,11 +1446,11 @@ wheels = [
[[package]]
name = "fsspec"
version = "2026.1.0"
version = "2026.6.0"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/d5/7d/5df2650c57d47c57232af5ef4b4fdbff182070421e405e0d62c6cdbfaa87/fsspec-2026.1.0.tar.gz", hash = "sha256:e987cb0496a0d81bba3a9d1cee62922fb395e7d4c3b575e57f547953334fe07b", size = 310496, upload-time = "2026-01-09T15:21:35.562Z" }
sdist = { url = "https://files.pythonhosted.org/packages/10/a1/ae4e3e5003468d6391d2c77b6fa1cd73bd5d13511d81c642d7b28ac90ed4/fsspec-2026.6.0.tar.gz", hash = "sha256:f5bac145310fe30e16e1471bd6840b2d990d609e872251d7e674241822abf01a", size = 313646, upload-time = "2026-06-16T01:57:28.105Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/01/c9/97cc5aae1648dcb851958a3ddf73ccd7dbe5650d95203ecb4d7720b4cdbf/fsspec-2026.1.0-py3-none-any.whl", hash = "sha256:cb76aa913c2285a3b49bdd5fc55b1d7c708d7208126b60f2eb8194fe1b4cbdcc", size = 201838, upload-time = "2026-01-09T15:21:34.041Z" },
{ url = "https://files.pythonhosted.org/packages/e5/22/4222d7ddf3da30f363edaa98e329c2bce6c65497c9cb2810931c8b2c0fbc/fsspec-2026.6.0-py3-none-any.whl", hash = "sha256:02e0b71817df9b2169dc30a16832045764def1191b43dcff5bb85bdee212d2a1", size = 203949, upload-time = "2026-06-16T01:57:26.358Z" },
]
[[package]]
@@ -2621,101 +2621,136 @@ wheels = [
[[package]]
name = "multidict"
version = "6.7.1"
version = "6.9.1"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/1a/c2/c2d94cbe6ac1753f3fc980da97b3d930efe1da3af3c9f5125354436c073d/multidict-6.7.1.tar.gz", hash = "sha256:ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d", size = 102010, upload-time = "2026-01-26T02:46:45.979Z" }
sdist = { url = "https://files.pythonhosted.org/packages/d6/99/1d4d69c3512d0ddbfa3a1b69cfd9a151012ab2eb4eabbb096201b1f0b7d8/multidict-6.9.1.tar.gz", hash = "sha256:0f06e60fa190aa7abd0914c2a766736fdc8e9f34878c4346338534b73d1b20e2", size = 182404, upload-time = "2026-09-21T17:59:05.362Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/ce/f1/a90635c4f88fb913fbf4ce660b83b7445b7a02615bda034b2f8eb38fd597/multidict-6.7.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ff981b266af91d7b4b3793ca3382e53229088d193a85dfad6f5f4c27fc73e5d", size = 76626, upload-time = "2026-01-26T02:43:26.485Z" },
{ url = "https://files.pythonhosted.org/packages/a6/9b/267e64eaf6fc637a15b35f5de31a566634a2740f97d8d094a69d34f524a4/multidict-6.7.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:844c5bca0b5444adb44a623fb0a1310c2f4cd41f402126bb269cd44c9b3f3e1e", size = 44706, upload-time = "2026-01-26T02:43:27.607Z" },
{ url = "https://files.pythonhosted.org/packages/dd/a4/d45caf2b97b035c57267791ecfaafbd59c68212004b3842830954bb4b02e/multidict-6.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f2a0a924d4c2e9afcd7ec64f9de35fcd96915149b2216e1cb2c10a56df483855", size = 44356, upload-time = "2026-01-26T02:43:28.661Z" },
{ url = "https://files.pythonhosted.org/packages/fd/d2/0a36c8473f0cbaeadd5db6c8b72d15bbceeec275807772bfcd059bef487d/multidict-6.7.1-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8be1802715a8e892c784c0197c2ace276ea52702a0ede98b6310c8f255a5afb3", size = 244355, upload-time = "2026-01-26T02:43:31.165Z" },
{ url = "https://files.pythonhosted.org/packages/5d/16/8c65be997fd7dd311b7d39c7b6e71a0cb449bad093761481eccbbe4b42a2/multidict-6.7.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2e2d2ed645ea29f31c4c7ea1552fcfd7cb7ba656e1eafd4134a6620c9f5fdd9e", size = 246433, upload-time = "2026-01-26T02:43:32.581Z" },
{ url = "https://files.pythonhosted.org/packages/01/fb/4dbd7e848d2799c6a026ec88ad39cf2b8416aa167fcc903baa55ecaa045c/multidict-6.7.1-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:95922cee9a778659e91db6497596435777bd25ed116701a4c034f8e46544955a", size = 225376, upload-time = "2026-01-26T02:43:34.417Z" },
{ url = "https://files.pythonhosted.org/packages/b6/8a/4a3a6341eac3830f6053062f8fbc9a9e54407c80755b3f05bc427295c2d0/multidict-6.7.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6b83cabdc375ffaaa15edd97eb7c0c672ad788e2687004990074d7d6c9b140c8", size = 257365, upload-time = "2026-01-26T02:43:35.741Z" },
{ url = "https://files.pythonhosted.org/packages/f7/a2/dd575a69c1aa206e12d27d0770cdf9b92434b48a9ef0cd0d1afdecaa93c4/multidict-6.7.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:38fb49540705369bab8484db0689d86c0a33a0a9f2c1b197f506b71b4b6c19b0", size = 254747, upload-time = "2026-01-26T02:43:36.976Z" },
{ url = "https://files.pythonhosted.org/packages/5a/56/21b27c560c13822ed93133f08aa6372c53a8e067f11fbed37b4adcdac922/multidict-6.7.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:439cbebd499f92e9aa6793016a8acaa161dfa749ae86d20960189f5398a19144", size = 246293, upload-time = "2026-01-26T02:43:38.258Z" },
{ url = "https://files.pythonhosted.org/packages/5a/a4/23466059dc3854763423d0ad6c0f3683a379d97673b1b89ec33826e46728/multidict-6.7.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6d3bc717b6fe763b8be3f2bee2701d3c8eb1b2a8ae9f60910f1b2860c82b6c49", size = 242962, upload-time = "2026-01-26T02:43:40.034Z" },
{ url = "https://files.pythonhosted.org/packages/1f/67/51dd754a3524d685958001e8fa20a0f5f90a6a856e0a9dcabff69be3dbb7/multidict-6.7.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:619e5a1ac57986dbfec9f0b301d865dddf763696435e2962f6d9cf2fdff2bb71", size = 237360, upload-time = "2026-01-26T02:43:41.752Z" },
{ url = "https://files.pythonhosted.org/packages/64/3f/036dfc8c174934d4b55d86ff4f978e558b0e585cef70cfc1ad01adc6bf18/multidict-6.7.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0b38ebffd9be37c1170d33bc0f36f4f262e0a09bc1aac1c34c7aa51a7293f0b3", size = 245940, upload-time = "2026-01-26T02:43:43.042Z" },
{ url = "https://files.pythonhosted.org/packages/3d/20/6214d3c105928ebc353a1c644a6ef1408bc5794fcb4f170bb524a3c16311/multidict-6.7.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:10ae39c9cfe6adedcdb764f5e8411d4a92b055e35573a2eaa88d3323289ef93c", size = 253502, upload-time = "2026-01-26T02:43:44.371Z" },
{ url = "https://files.pythonhosted.org/packages/b1/e2/c653bc4ae1be70a0f836b82172d643fcf1dade042ba2676ab08ec08bff0f/multidict-6.7.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:25167cc263257660290fba06b9318d2026e3c910be240a146e1f66dd114af2b0", size = 247065, upload-time = "2026-01-26T02:43:45.745Z" },
{ url = "https://files.pythonhosted.org/packages/c8/11/a854b4154cd3bd8b1fd375e8a8ca9d73be37610c361543d56f764109509b/multidict-6.7.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:128441d052254f42989ef98b7b6a6ecb1e6f708aa962c7984235316db59f50fa", size = 241870, upload-time = "2026-01-26T02:43:47.054Z" },
{ url = "https://files.pythonhosted.org/packages/8d/9c/f20e0e2cf80e4b2e4b1c365bf5fe104ee633c751a724246262db8f1a0b13/multidict-6.7.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a90f75c956e32891a4eda3639ce6dd86e87105271f43d43442a3aedf3cddf172", size = 76893, upload-time = "2026-01-26T02:43:52.754Z" },
{ url = "https://files.pythonhosted.org/packages/fe/cf/18ef143a81610136d3da8193da9d80bfe1cb548a1e2d1c775f26b23d024a/multidict-6.7.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fccb473e87eaa1382689053e4a4618e7ba7b9b9b8d6adf2027ee474597128cd", size = 45456, upload-time = "2026-01-26T02:43:53.893Z" },
{ url = "https://files.pythonhosted.org/packages/a9/65/1caac9d4cd32e8433908683446eebc953e82d22b03d10d41a5f0fefe991b/multidict-6.7.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b0fa96985700739c4c7853a43c0b3e169360d6855780021bfc6d0f1ce7c123e7", size = 43872, upload-time = "2026-01-26T02:43:55.041Z" },
{ url = "https://files.pythonhosted.org/packages/cf/3b/d6bd75dc4f3ff7c73766e04e705b00ed6dbbaccf670d9e05a12b006f5a21/multidict-6.7.1-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:cb2a55f408c3043e42b40cc8eecd575afa27b7e0b956dfb190de0f8499a57a53", size = 251018, upload-time = "2026-01-26T02:43:56.198Z" },
{ url = "https://files.pythonhosted.org/packages/fd/80/c959c5933adedb9ac15152e4067c702a808ea183a8b64cf8f31af8ad3155/multidict-6.7.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eb0ce7b2a32d09892b3dd6cc44877a0d02a33241fafca5f25c8b6b62374f8b75", size = 258883, upload-time = "2026-01-26T02:43:57.499Z" },
{ url = "https://files.pythonhosted.org/packages/86/85/7ed40adafea3d4f1c8b916e3b5cc3a8e07dfcdcb9cd72800f4ed3ca1b387/multidict-6.7.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c3a32d23520ee37bf327d1e1a656fec76a2edd5c038bf43eddfa0572ec49c60b", size = 242413, upload-time = "2026-01-26T02:43:58.755Z" },
{ url = "https://files.pythonhosted.org/packages/d2/57/b8565ff533e48595503c785f8361ff9a4fde4d67de25c207cd0ba3befd03/multidict-6.7.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9c90fed18bffc0189ba814749fdcc102b536e83a9f738a9003e569acd540a733", size = 268404, upload-time = "2026-01-26T02:44:00.216Z" },
{ url = "https://files.pythonhosted.org/packages/e0/50/9810c5c29350f7258180dfdcb2e52783a0632862eb334c4896ac717cebcb/multidict-6.7.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:da62917e6076f512daccfbbde27f46fed1c98fee202f0559adec8ee0de67f71a", size = 269456, upload-time = "2026-01-26T02:44:02.202Z" },
{ url = "https://files.pythonhosted.org/packages/f3/8d/5e5be3ced1d12966fefb5c4ea3b2a5b480afcea36406559442c6e31d4a48/multidict-6.7.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bfde23ef6ed9db7eaee6c37dcec08524cb43903c60b285b172b6c094711b3961", size = 256322, upload-time = "2026-01-26T02:44:03.56Z" },
{ url = "https://files.pythonhosted.org/packages/31/6e/d8a26d81ac166a5592782d208dd90dfdc0a7a218adaa52b45a672b46c122/multidict-6.7.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3758692429e4e32f1ba0df23219cd0b4fc0a52f476726fff9337d1a57676a582", size = 253955, upload-time = "2026-01-26T02:44:04.845Z" },
{ url = "https://files.pythonhosted.org/packages/59/4c/7c672c8aad41534ba619bcd4ade7a0dc87ed6b8b5c06149b85d3dd03f0cd/multidict-6.7.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:398c1478926eca669f2fd6a5856b6de9c0acf23a2cb59a14c0ba5844fa38077e", size = 251254, upload-time = "2026-01-26T02:44:06.133Z" },
{ url = "https://files.pythonhosted.org/packages/7b/bd/84c24de512cbafbdbc39439f74e967f19570ce7924e3007174a29c348916/multidict-6.7.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c102791b1c4f3ab36ce4101154549105a53dc828f016356b3e3bcae2e3a039d3", size = 252059, upload-time = "2026-01-26T02:44:07.518Z" },
{ url = "https://files.pythonhosted.org/packages/fa/ba/f5449385510825b73d01c2d4087bf6d2fccc20a2d42ac34df93191d3dd03/multidict-6.7.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a088b62bd733e2ad12c50dad01b7d0166c30287c166e137433d3b410add807a6", size = 263588, upload-time = "2026-01-26T02:44:09.382Z" },
{ url = "https://files.pythonhosted.org/packages/d7/11/afc7c677f68f75c84a69fe37184f0f82fce13ce4b92f49f3db280b7e92b3/multidict-6.7.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3d51ff4785d58d3f6c91bdbffcb5e1f7ddfda557727043aa20d20ec4f65e324a", size = 259642, upload-time = "2026-01-26T02:44:10.73Z" },
{ url = "https://files.pythonhosted.org/packages/2b/17/ebb9644da78c4ab36403739e0e6e0e30ebb135b9caf3440825001a0bddcb/multidict-6.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fc5907494fccf3e7d3f94f95c91d6336b092b5fc83811720fae5e2765890dfba", size = 251377, upload-time = "2026-01-26T02:44:12.042Z" },
{ url = "https://files.pythonhosted.org/packages/f2/22/929c141d6c0dba87d3e1d38fbdf1ba8baba86b7776469f2bc2d3227a1e67/multidict-6.7.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2b41f5fed0ed563624f1c17630cb9941cf2309d4df00e494b551b5f3e3d67a23", size = 76174, upload-time = "2026-01-26T02:44:18.509Z" },
{ url = "https://files.pythonhosted.org/packages/c7/75/bc704ae15fee974f8fccd871305e254754167dce5f9e42d88a2def741a1d/multidict-6.7.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:84e61e3af5463c19b67ced91f6c634effb89ef8bfc5ca0267f954451ed4bb6a2", size = 45116, upload-time = "2026-01-26T02:44:19.745Z" },
{ url = "https://files.pythonhosted.org/packages/79/76/55cd7186f498ed080a18440c9013011eb548f77ae1b297206d030eb1180a/multidict-6.7.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:935434b9853c7c112eee7ac891bc4cb86455aa631269ae35442cb316790c1445", size = 43524, upload-time = "2026-01-26T02:44:21.571Z" },
{ url = "https://files.pythonhosted.org/packages/e9/3c/414842ef8d5a1628d68edee29ba0e5bcf235dbfb3ccd3ea303a7fe8c72ff/multidict-6.7.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:432feb25a1cb67fe82a9680b4d65fb542e4635cb3166cd9c01560651ad60f177", size = 249368, upload-time = "2026-01-26T02:44:22.803Z" },
{ url = "https://files.pythonhosted.org/packages/f6/32/befed7f74c458b4a525e60519fe8d87eef72bb1e99924fa2b0f9d97a221e/multidict-6.7.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e82d14e3c948952a1a85503817e038cba5905a3352de76b9a465075d072fba23", size = 256952, upload-time = "2026-01-26T02:44:24.306Z" },
{ url = "https://files.pythonhosted.org/packages/03/d6/c878a44ba877f366630c860fdf74bfb203c33778f12b6ac274936853c451/multidict-6.7.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4cfb48c6ea66c83bcaaf7e4dfa7ec1b6bbcf751b7db85a328902796dfde4c060", size = 240317, upload-time = "2026-01-26T02:44:25.772Z" },
{ url = "https://files.pythonhosted.org/packages/68/49/57421b4d7ad2e9e60e25922b08ceb37e077b90444bde6ead629095327a6f/multidict-6.7.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1d540e51b7e8e170174555edecddbd5538105443754539193e3e1061864d444d", size = 267132, upload-time = "2026-01-26T02:44:27.648Z" },
{ url = "https://files.pythonhosted.org/packages/b7/fe/ec0edd52ddbcea2a2e89e174f0206444a61440b40f39704e64dc807a70bd/multidict-6.7.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:273d23f4b40f3dce4d6c8a821c741a86dec62cded82e1175ba3d99be128147ed", size = 268140, upload-time = "2026-01-26T02:44:29.588Z" },
{ url = "https://files.pythonhosted.org/packages/b0/73/6e1b01cbeb458807aa0831742232dbdd1fa92bfa33f52a3f176b4ff3dc11/multidict-6.7.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d624335fd4fa1c08a53f8b4be7676ebde19cd092b3895c421045ca87895b429", size = 254277, upload-time = "2026-01-26T02:44:30.902Z" },
{ url = "https://files.pythonhosted.org/packages/6a/b2/5fb8c124d7561a4974c342bc8c778b471ebbeb3cc17df696f034a7e9afe7/multidict-6.7.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:12fad252f8b267cc75b66e8fc51b3079604e8d43a75428ffe193cd9e2195dfd6", size = 252291, upload-time = "2026-01-26T02:44:32.31Z" },
{ url = "https://files.pythonhosted.org/packages/5a/96/51d4e4e06bcce92577fcd488e22600bd38e4fd59c20cb49434d054903bd2/multidict-6.7.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:03ede2a6ffbe8ef936b92cb4529f27f42be7f56afcdab5ab739cd5f27fb1cbf9", size = 250156, upload-time = "2026-01-26T02:44:33.734Z" },
{ url = "https://files.pythonhosted.org/packages/db/6b/420e173eec5fba721a50e2a9f89eda89d9c98fded1124f8d5c675f7a0c0f/multidict-6.7.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:90efbcf47dbe33dcf643a1e400d67d59abeac5db07dc3f27d6bdeae497a2198c", size = 249742, upload-time = "2026-01-26T02:44:35.222Z" },
{ url = "https://files.pythonhosted.org/packages/44/a3/ec5b5bd98f306bc2aa297b8c6f11a46714a56b1e6ef5ebda50a4f5d7c5fb/multidict-6.7.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5c4b9bfc148f5a91be9244d6264c53035c8a0dcd2f51f1c3c6e30e30ebaa1c84", size = 262221, upload-time = "2026-01-26T02:44:36.604Z" },
{ url = "https://files.pythonhosted.org/packages/cd/f7/e8c0d0da0cd1e28d10e624604e1a36bcc3353aaebdfdc3a43c72bc683a12/multidict-6.7.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:401c5a650f3add2472d1d288c26deebc540f99e2fb83e9525007a74cd2116f1d", size = 258664, upload-time = "2026-01-26T02:44:38.008Z" },
{ url = "https://files.pythonhosted.org/packages/52/da/151a44e8016dd33feed44f730bd856a66257c1ee7aed4f44b649fb7edeb3/multidict-6.7.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:97891f3b1b3ffbded884e2916cacf3c6fc87b66bb0dde46f7357404750559f33", size = 249490, upload-time = "2026-01-26T02:44:39.386Z" },
{ url = "https://files.pythonhosted.org/packages/6d/b3/e6b21c6c4f314bb956016b0b3ef2162590a529b84cb831c257519e7fde44/multidict-6.7.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:c76c4bec1538375dad9d452d246ca5368ad6e1c9039dadcf007ae59c70619ea1", size = 83175, upload-time = "2026-01-26T02:44:44.894Z" },
{ url = "https://files.pythonhosted.org/packages/fb/76/23ecd2abfe0957b234f6c960f4ade497f55f2c16aeb684d4ecdbf1c95791/multidict-6.7.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:57b46b24b5d5ebcc978da4ec23a819a9402b4228b8a90d9c656422b4bdd8a963", size = 48460, upload-time = "2026-01-26T02:44:46.106Z" },
{ url = "https://files.pythonhosted.org/packages/c4/57/a0ed92b23f3a042c36bc4227b72b97eca803f5f1801c1ab77c8a212d455e/multidict-6.7.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e954b24433c768ce78ab7929e84ccf3422e46deb45a4dc9f93438f8217fa2d34", size = 46930, upload-time = "2026-01-26T02:44:47.278Z" },
{ url = "https://files.pythonhosted.org/packages/b5/66/02ec7ace29162e447f6382c495dc95826bf931d3818799bbef11e8f7df1a/multidict-6.7.1-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3bd231490fa7217cc832528e1cd8752a96f0125ddd2b5749390f7c3ec8721b65", size = 242582, upload-time = "2026-01-26T02:44:48.604Z" },
{ url = "https://files.pythonhosted.org/packages/58/18/64f5a795e7677670e872673aca234162514696274597b3708b2c0d276cce/multidict-6.7.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:253282d70d67885a15c8a7716f3a73edf2d635793ceda8173b9ecc21f2fb8292", size = 250031, upload-time = "2026-01-26T02:44:50.544Z" },
{ url = "https://files.pythonhosted.org/packages/c8/ed/e192291dbbe51a8290c5686f482084d31bcd9d09af24f63358c3d42fd284/multidict-6.7.1-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0b4c48648d7649c9335cf1927a8b87fa692de3dcb15faa676c6a6f1f1aabda43", size = 228596, upload-time = "2026-01-26T02:44:51.951Z" },
{ url = "https://files.pythonhosted.org/packages/1e/7e/3562a15a60cf747397e7f2180b0a11dc0c38d9175a650e75fa1b4d325e15/multidict-6.7.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:98bc624954ec4d2c7cb074b8eefc2b5d0ce7d482e410df446414355d158fe4ca", size = 257492, upload-time = "2026-01-26T02:44:53.902Z" },
{ url = "https://files.pythonhosted.org/packages/24/02/7d0f9eae92b5249bb50ac1595b295f10e263dd0078ebb55115c31e0eaccd/multidict-6.7.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1b99af4d9eec0b49927b4402bcbb58dea89d3e0db8806a4086117019939ad3dd", size = 255899, upload-time = "2026-01-26T02:44:55.316Z" },
{ url = "https://files.pythonhosted.org/packages/00/e3/9b60ed9e23e64c73a5cde95269ef1330678e9c6e34dd4eb6b431b85b5a10/multidict-6.7.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6aac4f16b472d5b7dc6f66a0d49dd57b0e0902090be16594dc9ebfd3d17c47e7", size = 247970, upload-time = "2026-01-26T02:44:56.783Z" },
{ url = "https://files.pythonhosted.org/packages/3e/06/538e58a63ed5cfb0bd4517e346b91da32fde409d839720f664e9a4ae4f9d/multidict-6.7.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:21f830fe223215dffd51f538e78c172ed7c7f60c9b96a2bf05c4848ad49921c3", size = 245060, upload-time = "2026-01-26T02:44:58.195Z" },
{ url = "https://files.pythonhosted.org/packages/b2/2f/d743a3045a97c895d401e9bd29aaa09b94f5cbdf1bd561609e5a6c431c70/multidict-6.7.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f5dd81c45b05518b9aa4da4aa74e1c93d715efa234fd3e8a179df611cc85e5f4", size = 235888, upload-time = "2026-01-26T02:44:59.57Z" },
{ url = "https://files.pythonhosted.org/packages/38/83/5a325cac191ab28b63c52f14f1131f3b0a55ba3b9aa65a6d0bf2a9b921a0/multidict-6.7.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:eb304767bca2bb92fb9c5bd33cedc95baee5bb5f6c88e63706533a1c06ad08c8", size = 243554, upload-time = "2026-01-26T02:45:01.054Z" },
{ url = "https://files.pythonhosted.org/packages/20/1f/9d2327086bd15da2725ef6aae624208e2ef828ed99892b17f60c344e57ed/multidict-6.7.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:c9035dde0f916702850ef66460bc4239d89d08df4d02023a5926e7446724212c", size = 252341, upload-time = "2026-01-26T02:45:02.484Z" },
{ url = "https://files.pythonhosted.org/packages/e8/2c/2a1aa0280cf579d0f6eed8ee5211c4f1730bd7e06c636ba2ee6aafda302e/multidict-6.7.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:af959b9beeb66c822380f222f0e0a1889331597e81f1ded7f374f3ecb0fd6c52", size = 246391, upload-time = "2026-01-26T02:45:03.862Z" },
{ url = "https://files.pythonhosted.org/packages/e5/03/7ca022ffc36c5a3f6e03b179a5ceb829be9da5783e6fe395f347c0794680/multidict-6.7.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:41f2952231456154ee479651491e94118229844dd7226541788be783be2b5108", size = 243422, upload-time = "2026-01-26T02:45:05.296Z" },
{ url = "https://files.pythonhosted.org/packages/91/cc/db74228a8be41884a567e88a62fd589a913708fcf180d029898c17a9a371/multidict-6.7.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8f333ec9c5eb1b7105e3b84b53141e66ca05a19a605368c55450b6ba208cb9ee", size = 75190, upload-time = "2026-01-26T02:45:10.651Z" },
{ url = "https://files.pythonhosted.org/packages/d5/22/492f2246bb5b534abd44804292e81eeaf835388901f0c574bac4eeec73c5/multidict-6.7.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:a407f13c188f804c759fc6a9f88286a565c242a76b27626594c133b82883b5c2", size = 44486, upload-time = "2026-01-26T02:45:11.938Z" },
{ url = "https://files.pythonhosted.org/packages/f1/4f/733c48f270565d78b4544f2baddc2fb2a245e5a8640254b12c36ac7ac68e/multidict-6.7.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0e161ddf326db5577c3a4cc2d8648f81456e8a20d40415541587a71620d7a7d1", size = 43219, upload-time = "2026-01-26T02:45:14.346Z" },
{ url = "https://files.pythonhosted.org/packages/24/bb/2c0c2287963f4259c85e8bcbba9182ced8d7fca65c780c38e99e61629d11/multidict-6.7.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:1e3a8bb24342a8201d178c3b4984c26ba81a577c80d4d525727427460a50c22d", size = 245132, upload-time = "2026-01-26T02:45:15.712Z" },
{ url = "https://files.pythonhosted.org/packages/a7/f9/44d4b3064c65079d2467888794dea218d1601898ac50222ab8a9a8094460/multidict-6.7.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97231140a50f5d447d3164f994b86a0bed7cd016e2682f8650d6a9158e14fd31", size = 252420, upload-time = "2026-01-26T02:45:17.293Z" },
{ url = "https://files.pythonhosted.org/packages/8b/13/78f7275e73fa17b24c9a51b0bd9d73ba64bb32d0ed51b02a746eb876abe7/multidict-6.7.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6b10359683bd8806a200fd2909e7c8ca3a7b24ec1d8132e483d58e791d881048", size = 233510, upload-time = "2026-01-26T02:45:19.356Z" },
{ url = "https://files.pythonhosted.org/packages/4b/25/8167187f62ae3cbd52da7893f58cb036b47ea3fb67138787c76800158982/multidict-6.7.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:283ddac99f7ac25a4acadbf004cb5ae34480bbeb063520f70ce397b281859362", size = 264094, upload-time = "2026-01-26T02:45:20.834Z" },
{ url = "https://files.pythonhosted.org/packages/a1/e7/69a3a83b7b030cf283fb06ce074a05a02322359783424d7edf0f15fe5022/multidict-6.7.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:538cec1e18c067d0e6103aa9a74f9e832904c957adc260e61cd9d8cf0c3b3d37", size = 260786, upload-time = "2026-01-26T02:45:22.818Z" },
{ url = "https://files.pythonhosted.org/packages/fe/3b/8ec5074bcfc450fe84273713b4b0a0dd47c0249358f5d82eb8104ffe2520/multidict-6.7.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7eee46ccb30ff48a1e35bb818cc90846c6be2b68240e42a78599166722cea709", size = 248483, upload-time = "2026-01-26T02:45:24.368Z" },
{ url = "https://files.pythonhosted.org/packages/48/5a/d5a99e3acbca0e29c5d9cba8f92ceb15dce78bab963b308ae692981e3a5d/multidict-6.7.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fa263a02f4f2dd2d11a7b1bb4362aa7cb1049f84a9235d31adf63f30143469a0", size = 248403, upload-time = "2026-01-26T02:45:25.982Z" },
{ url = "https://files.pythonhosted.org/packages/35/48/e58cd31f6c7d5102f2a4bf89f96b9cf7e00b6c6f3d04ecc44417c00a5a3c/multidict-6.7.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:2e1425e2f99ec5bd36c15a01b690a1a2456209c5deed58f95469ffb46039ccbb", size = 240315, upload-time = "2026-01-26T02:45:27.487Z" },
{ url = "https://files.pythonhosted.org/packages/94/33/1cd210229559cb90b6786c30676bb0c58249ff42f942765f88793b41fdce/multidict-6.7.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:497394b3239fc6f0e13a78a3e1b61296e72bf1c5f94b4c4eb80b265c37a131cd", size = 245528, upload-time = "2026-01-26T02:45:28.991Z" },
{ url = "https://files.pythonhosted.org/packages/64/f2/6e1107d226278c876c783056b7db43d800bb64c6131cec9c8dfb6903698e/multidict-6.7.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:233b398c29d3f1b9676b4b6f75c518a06fcb2ea0b925119fb2c1bc35c05e1601", size = 258784, upload-time = "2026-01-26T02:45:30.503Z" },
{ url = "https://files.pythonhosted.org/packages/4d/c1/11f664f14d525e4a1b5327a82d4de61a1db604ab34c6603bb3c2cc63ad34/multidict-6.7.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:93b1818e4a6e0930454f0f2af7dfce69307ca03cdcfb3739bf4d91241967b6c1", size = 251980, upload-time = "2026-01-26T02:45:32.603Z" },
{ url = "https://files.pythonhosted.org/packages/e1/9f/75a9ac888121d0c5bbd4ecf4eead45668b1766f6baabfb3b7f66a410e231/multidict-6.7.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:f33dc2a3abe9249ea5d8360f969ec7f4142e7ac45ee7014d8f8d5acddf178b7b", size = 243602, upload-time = "2026-01-26T02:45:34.043Z" },
{ url = "https://files.pythonhosted.org/packages/e0/6d/f9293baa6146ba9507e360ea0292b6422b016907c393e2f63fc40ab7b7b5/multidict-6.7.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:0458c978acd8e6ea53c81eefaddbbee9c6c5e591f41b3f5e8e194780fe026581", size = 82401, upload-time = "2026-01-26T02:45:40.254Z" },
{ url = "https://files.pythonhosted.org/packages/7a/68/53b5494738d83558d87c3c71a486504d8373421c3e0dbb6d0db48ad42ee0/multidict-6.7.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:c0abd12629b0af3cf590982c0b413b1e7395cd4ec026f30986818ab95bfaa94a", size = 48143, upload-time = "2026-01-26T02:45:41.635Z" },
{ url = "https://files.pythonhosted.org/packages/37/e8/5284c53310dcdc99ce5d66563f6e5773531a9b9fe9ec7a615e9bc306b05f/multidict-6.7.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:14525a5f61d7d0c94b368a42cff4c9a4e7ba2d52e2672a7b23d84dc86fb02b0c", size = 46507, upload-time = "2026-01-26T02:45:42.99Z" },
{ url = "https://files.pythonhosted.org/packages/e4/fc/6800d0e5b3875568b4083ecf5f310dcf91d86d52573160834fb4bfcf5e4f/multidict-6.7.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:17307b22c217b4cf05033dabefe68255a534d637c6c9b0cc8382718f87be4262", size = 239358, upload-time = "2026-01-26T02:45:44.376Z" },
{ url = "https://files.pythonhosted.org/packages/41/75/4ad0973179361cdf3a113905e6e088173198349131be2b390f9fa4da5fc6/multidict-6.7.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7a7e590ff876a3eaf1c02a4dfe0724b6e69a9e9de6d8f556816f29c496046e59", size = 246884, upload-time = "2026-01-26T02:45:47.167Z" },
{ url = "https://files.pythonhosted.org/packages/c3/9c/095bb28b5da139bd41fb9a5d5caff412584f377914bd8787c2aa98717130/multidict-6.7.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:5fa6a95dfee63893d80a34758cd0e0c118a30b8dcb46372bf75106c591b77889", size = 225878, upload-time = "2026-01-26T02:45:48.698Z" },
{ url = "https://files.pythonhosted.org/packages/07/d0/c0a72000243756e8f5a277b6b514fa005f2c73d481b7d9e47cd4568aa2e4/multidict-6.7.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a0543217a6a017692aa6ae5cc39adb75e587af0f3a82288b1492eb73dd6cc2a4", size = 253542, upload-time = "2026-01-26T02:45:50.164Z" },
{ url = "https://files.pythonhosted.org/packages/c0/6b/f69da15289e384ecf2a68837ec8b5ad8c33e973aa18b266f50fe55f24b8c/multidict-6.7.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f99fe611c312b3c1c0ace793f92464d8cd263cc3b26b5721950d977b006b6c4d", size = 252403, upload-time = "2026-01-26T02:45:51.779Z" },
{ url = "https://files.pythonhosted.org/packages/a2/76/b9669547afa5a1a25cd93eaca91c0da1c095b06b6d2d8ec25b713588d3a1/multidict-6.7.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9004d8386d133b7e6135679424c91b0b854d2d164af6ea3f289f8f2761064609", size = 244889, upload-time = "2026-01-26T02:45:53.27Z" },
{ url = "https://files.pythonhosted.org/packages/7e/a9/a50d2669e506dad33cfc45b5d574a205587b7b8a5f426f2fbb2e90882588/multidict-6.7.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e628ef0e6859ffd8273c69412a2465c4be4a9517d07261b33334b5ec6f3c7489", size = 241982, upload-time = "2026-01-26T02:45:54.919Z" },
{ url = "https://files.pythonhosted.org/packages/c5/bb/1609558ad8b456b4827d3c5a5b775c93b87878fd3117ed3db3423dfbce1b/multidict-6.7.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:841189848ba629c3552035a6a7f5bf3b02eb304e9fea7492ca220a8eda6b0e5c", size = 232415, upload-time = "2026-01-26T02:45:56.981Z" },
{ url = "https://files.pythonhosted.org/packages/d8/59/6f61039d2aa9261871e03ab9dc058a550d240f25859b05b67fd70f80d4b3/multidict-6.7.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:ce1bbd7d780bb5a0da032e095c951f7014d6b0a205f8318308140f1a6aba159e", size = 240337, upload-time = "2026-01-26T02:45:58.698Z" },
{ url = "https://files.pythonhosted.org/packages/a1/29/fdc6a43c203890dc2ae9249971ecd0c41deaedfe00d25cb6564b2edd99eb/multidict-6.7.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b26684587228afed0d50cf804cc71062cc9c1cdf55051c4c6345d372947b268c", size = 248788, upload-time = "2026-01-26T02:46:00.862Z" },
{ url = "https://files.pythonhosted.org/packages/a9/14/a153a06101323e4cf086ecee3faadba52ff71633d471f9685c42e3736163/multidict-6.7.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:9f9af11306994335398293f9958071019e3ab95e9a707dc1383a35613f6abcb9", size = 242842, upload-time = "2026-01-26T02:46:02.824Z" },
{ url = "https://files.pythonhosted.org/packages/41/5f/604ae839e64a4a6efc80db94465348d3b328ee955e37acb24badbcd24d83/multidict-6.7.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b4938326284c4f1224178a560987b6cf8b4d38458b113d9b8c1db1a836e640a2", size = 240237, upload-time = "2026-01-26T02:46:05.898Z" },
{ url = "https://files.pythonhosted.org/packages/81/08/7036c080d7117f28a4af526d794aab6a84463126db031b007717c1a6676e/multidict-6.7.1-py3-none-any.whl", hash = "sha256:55d97cc6dae627efa6a6e548885712d4864b81110ac76fa4e534c03819fa4a56", size = 12319, upload-time = "2026-01-26T02:46:44.004Z" },
{ url = "https://files.pythonhosted.org/packages/e3/24/3823efc330630a1f132bcd0a9b182ddec3c53f452f551c8e8d3aaf5a2d20/multidict-6.9.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:910d4260512660484c0dc1588a316fbb35a40c081c36fc51d1225351af17cfe4", size = 96739, upload-time = "2026-09-21T17:54:42.815Z" },
{ url = "https://files.pythonhosted.org/packages/6a/69/36331fe1d3aeb0c525a9972d6cf82791075a395aa96f026f060009d691ae/multidict-6.9.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:33fa55b990f81c2927e01399ace0d18926c69d69baa8cdaa819424132fb97987", size = 58514, upload-time = "2026-09-21T17:54:44.064Z" },
{ url = "https://files.pythonhosted.org/packages/8c/ca/5860651f782078ef13f2761c2593f4ba066d76f626b2f30f23a7f838b775/multidict-6.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:369b5aa01b241cd3fea6890bdbb11a1425d87bf1515831500d518f4223e9d72c", size = 57303, upload-time = "2026-09-21T17:54:45.304Z" },
{ url = "https://files.pythonhosted.org/packages/c7/9f/c56e2fa223cb5d182660e1a09eec38880f96b7cd22769582f74447c60418/multidict-6.9.1-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:803f8b575a71b1b299d677c28db0653459c79b5308874efec813f17b7457c7f1", size = 320076, upload-time = "2026-09-21T17:54:46.826Z" },
{ url = "https://files.pythonhosted.org/packages/59/97/eda4fe0cad51f96096363ed32d3e0f8df28dab00beff4d92adc9db517726/multidict-6.9.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b8a65621b98984a62e59403009591b8a5a7736273aefe1cab64cfb85b365cc07", size = 315489, upload-time = "2026-09-21T17:54:48.25Z" },
{ url = "https://files.pythonhosted.org/packages/24/14/10b1ded0a4085a51c3054125f854da4f47ce4fec724a2d2503231b83f3db/multidict-6.9.1-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:13849a1d4f54c3809ae721e9e83ab28f5ea602f33660cb84eb6ef261eac706c1", size = 296716, upload-time = "2026-09-21T17:54:49.749Z" },
{ url = "https://files.pythonhosted.org/packages/dc/14/04d155dd18528443cb9009f3a9f35f7417773797d072c95104ff17b8b9b7/multidict-6.9.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:dd9a137a4a9becda3094f3831cd026380f75f6855e051eefe4c73ade524f1cc3", size = 330244, upload-time = "2026-09-21T17:54:51.26Z" },
{ url = "https://files.pythonhosted.org/packages/8b/90/284d10b3a9e5b312a8ec5b7a175fc7d560eefdc99886320449891a197992/multidict-6.9.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:9ae9614c317c50836689ce2dfde07c05fe0b16378562e2221746c3913ede3c80", size = 331288, upload-time = "2026-09-21T17:54:52.595Z" },
{ url = "https://files.pythonhosted.org/packages/27/50/f420de3683f9b047fc5588064d84043ef57a7152ef451b8373dfc7068d22/multidict-6.9.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e8f1e362c9352b50ed120f001046fdbb80810c9d56580f4c3fc13bbe30823387", size = 320663, upload-time = "2026-09-21T17:54:53.91Z" },
{ url = "https://files.pythonhosted.org/packages/01/ab/0120a650d7ce4fe167299c13a13cc4ee2dc72458a9c0e9e9330b824b73c9/multidict-6.9.1-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0dd655518f136febd96c05131a76a863e32fc2a1d7acd4e3c959e3ceb77d8345", size = 291139, upload-time = "2026-09-21T17:54:55.313Z" },
{ url = "https://files.pythonhosted.org/packages/b3/3f/c66342f73ee5cd2c9b1dda6cfce89b5f348c48921b8c8b6e59aafbbfe31a/multidict-6.9.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2c5d675da8f1cb5650271c8ad5e95c0a3e5a183c105e72d953b12877b1c8d0fd", size = 310044, upload-time = "2026-09-21T17:54:56.745Z" },
{ url = "https://files.pythonhosted.org/packages/05/0d/e44b90d9e77e44ec3473c4c7ac7ea95764d7e8fbf6d5a085ef9bff7ce0c2/multidict-6.9.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:658f90f49cf5af2441cad0a2b801c3ef520471989a1ec55bcb25b255b2ca8d2f", size = 303279, upload-time = "2026-09-21T17:54:58.178Z" },
{ url = "https://files.pythonhosted.org/packages/97/8a/7741f7c23c211fae31ab546f0ba41569dae7671cf7ca30d5afb59e9d92aa/multidict-6.9.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:43124fe172ada86d03ac3c8dc8179091341f6724d5e5d5b160e1587e4cd3761b", size = 326177, upload-time = "2026-09-21T17:54:59.825Z" },
{ url = "https://files.pythonhosted.org/packages/e8/63/0cdbfbbe36316b2ef4b8e011afaca2cf291a73fe4fabf34dd0b22e3ee48a/multidict-6.9.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b2f0adc22a4eb31e545221d93fc73a0f6a8cc2379d0f4309f71d1d17ba938b82", size = 323526, upload-time = "2026-09-21T17:55:01.43Z" },
{ url = "https://files.pythonhosted.org/packages/98/05/0c86e9678e78f4596df0ed7f59d2aa755107da3f2a92f1b7fa150e94cbb8/multidict-6.9.1-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:7fc59e9ba821b220944ccfe0f89c9dc4745f6d097569992356eb03869f21e953", size = 290278, upload-time = "2026-09-21T17:55:02.993Z" },
{ url = "https://files.pythonhosted.org/packages/95/8e/71bd7f43c4883cba6c5f96db88bd2311d52e74ad7680be5915938490d56f/multidict-6.9.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:87cc632c88ee5dc80e12681047839304d98ee5c9a708d686505767001c9b8b9a", size = 321142, upload-time = "2026-09-21T17:55:04.48Z" },
{ url = "https://files.pythonhosted.org/packages/2d/00/bf59d6bb22a4c152e4039574c29490caf3c65107715121807b4bd7cde244/multidict-6.9.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b828cf64d62dc09ac183f03c1aeedd164ade96a2ce4934109452edf29de1dd13", size = 319045, upload-time = "2026-09-21T17:55:06.119Z" },
{ url = "https://files.pythonhosted.org/packages/d9/0d/4b5afb6d3e545c9af0cdfe2db8f6f4c6664568c23d863d888674e447e6a4/multidict-6.9.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:29138fef49828542e859828107e42e50d0e587c513b7eb4b2d92bade2b0860fe", size = 98360, upload-time = "2026-09-21T17:55:11.508Z" },
{ url = "https://files.pythonhosted.org/packages/89/ab/1b9ca66251899981b21138b87da9d5a9c2c81af12b1ea7d19466972f7fe2/multidict-6.9.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:19e31815d41cefc365489e591d105d2baceb2f65aa75d29471fbdbda8651e006", size = 59979, upload-time = "2026-09-21T17:55:12.866Z" },
{ url = "https://files.pythonhosted.org/packages/36/eb/6ae44062466c26c8469ef43f2481a6a48d8cea0587b2d54514ec92e2adfd/multidict-6.9.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6ed30be8918e18c8bed0a2e8b70639ecf02feb61ed00ca2e41cfcb2a50fa3f42", size = 57736, upload-time = "2026-09-21T17:55:14.223Z" },
{ url = "https://files.pythonhosted.org/packages/b9/5c/a67817593019257a4ac8b0d1b4c426030e637c047b0692ef405439ecea7a/multidict-6.9.1-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:637f4ae36264bd7b8d9a60193acddc1d735ad52e8ed53a19931ea6d921fea8e5", size = 333097, upload-time = "2026-09-21T17:55:15.591Z" },
{ url = "https://files.pythonhosted.org/packages/90/bf/599ae2e6222822d88a247a8a7ae82fe6fd25d5700757b79603d5edafe6a0/multidict-6.9.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:35fc236507fb1b3138f0af5ecd5f94ed752d4d6d826248eae425f86204013eea", size = 334196, upload-time = "2026-09-21T17:55:17.015Z" },
{ url = "https://files.pythonhosted.org/packages/15/10/d8aac5acacbe7f5c117866c776ec26d5f15a868759b6f37ad8e7ed3b5b02/multidict-6.9.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e58952f04772f59f11c6e007471449809a30165188669bca8fdb19dde40a8f24", size = 317465, upload-time = "2026-09-21T17:55:18.412Z" },
{ url = "https://files.pythonhosted.org/packages/19/0a/714f796f7293a8b1c5c3f465a26996231d5450c54e85d64ef1258c091134/multidict-6.9.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d35a4f1c63f07fbb8c8f9946dea98b21eddf6c57421585f71d91864be3ba2a24", size = 345914, upload-time = "2026-09-21T17:55:20.306Z" },
{ url = "https://files.pythonhosted.org/packages/da/b1/e37fbf769c567be277bcf32df6234035a4384677fcc1bd852752be3d6b93/multidict-6.9.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b5f8771aaaed7f80e84a4e471d2f29ab6721e4595075e54d03ae1ed951b2000a", size = 351163, upload-time = "2026-09-21T17:55:22.21Z" },
{ url = "https://files.pythonhosted.org/packages/ed/5b/db08419c1e1f7c9d60cfd2787b2b517d7ae4ebbda8281b48a33eb5141467/multidict-6.9.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:976fd7689d69ec78d67d31d38d396d8adb562f7e8368279f76aed4aa451fa06d", size = 336881, upload-time = "2026-09-21T17:55:23.699Z" },
{ url = "https://files.pythonhosted.org/packages/9b/07/cc9bc8a62651d2d53ab93ee4993b3a71b7cb78eb8ebfc9c757a5b6698617/multidict-6.9.1-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:95052e8777a86bae87c0bd0b5ab22d809e3d1d02bf69e3e66ddda5ba75a05805", size = 303405, upload-time = "2026-09-21T17:55:25.305Z" },
{ url = "https://files.pythonhosted.org/packages/b6/0c/8e912afafa70e944dbb8bec4b66ca6e008511395278c0d3dd0e89567536a/multidict-6.9.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1a8adfcaf96f587ab138476eaddef95f29b8a2a8a9afbfea8d2fd62180995d02", size = 324265, upload-time = "2026-09-21T17:55:26.989Z" },
{ url = "https://files.pythonhosted.org/packages/66/6a/62c2af80fb085e6234805017af857b8e913dfac7a55e9c1349c27768c58a/multidict-6.9.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:1a53de2772cfb74559df2eb4456ec4eeb908435ec55a84b69370d9d745d62aa8", size = 322085, upload-time = "2026-09-21T17:55:28.732Z" },
{ url = "https://files.pythonhosted.org/packages/f8/6b/35bf801b336fd960811207203ffdcdc24acc3558b3e7ff2e1c914b141e70/multidict-6.9.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f2ce963299d42fa3f22a90adc0fdf174792ffef5ff4c7ffb68260548fb05580", size = 338107, upload-time = "2026-09-21T17:55:30.303Z" },
{ url = "https://files.pythonhosted.org/packages/80/41/495ef65bf5bba29d142d81b3fe1b8154b919bed70e96491b1e93c3c26f0f/multidict-6.9.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5b30ddf7234e611ca877575b62840e6af5977f92f1f9d532eedbb05a44ff8004", size = 339631, upload-time = "2026-09-21T17:55:32.012Z" },
{ url = "https://files.pythonhosted.org/packages/19/bd/057fdff5f4e04dcd40a960e38f77d19d3c4b67dd243ffa5f43718edb29fc/multidict-6.9.1-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:63ada7ee2e9345695f9e9bc4c65d72222253f07b1ac94fd0e37555cc6f3c7f60", size = 302080, upload-time = "2026-09-21T17:55:33.817Z" },
{ url = "https://files.pythonhosted.org/packages/3f/de/9ace933ee8dad808632523726f42255b09600087219e3d4ead7369820910/multidict-6.9.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3c95601ed98fad3f6e2f8fe809c3b526b0fab31ef525e00a155e227f3d17f58a", size = 341107, upload-time = "2026-09-21T17:55:35.471Z" },
{ url = "https://files.pythonhosted.org/packages/d8/ac/7c1204406097bfc5c283d4a3287d61166807d189917567df4c1318484fc4/multidict-6.9.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c148e8b596000dd3e4bfe206e70f3e666be18d72032e0012555f2373c52e35d6", size = 333482, upload-time = "2026-09-21T17:55:37.002Z" },
{ url = "https://files.pythonhosted.org/packages/6d/d3/f4ae5945ea2de597eaeb4eca3a74c59783ace54482c9b49435442b63efa8/multidict-6.9.1-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:03d47df72f084f757c1cb771188d5f4e3a805e4abc4d67e32509272343ae9382", size = 55771, upload-time = "2026-09-21T17:55:44.016Z" },
{ url = "https://files.pythonhosted.org/packages/93/7d/15468239920040d01c686e5ae669e6382f7bf31fc3e5e0a6b8f1c3b32d3b/multidict-6.9.1-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:6bc94fe17c3c56e5418f79515b786b101845f70609b0d19d0c1ba13448e5633a", size = 57116, upload-time = "2026-09-21T17:55:45.315Z" },
{ url = "https://files.pythonhosted.org/packages/17/1b/b958f06aac2d8b1e485eb1c105b1b159cbf3868249e5142142451577dad2/multidict-6.9.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8f2973bbd2bebd9d2e0cd6394c1292a1a19ccd56bdcbe1e174059f1a39be5b40", size = 97692, upload-time = "2026-09-21T17:55:46.674Z" },
{ url = "https://files.pythonhosted.org/packages/93/6c/d6cfe18e61010166d7237d7527c775eb9843e7078feadea45b7628751b60/multidict-6.9.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:de7738b8c0bb74c4cc16bbd7fb49fc2bcf6430dba11b3432cd52768ae40933e8", size = 59556, upload-time = "2026-09-21T17:55:48.22Z" },
{ url = "https://files.pythonhosted.org/packages/46/46/9b4c1127cece0289fb207d04aae5116382ddfcb2a4dc8e0cb49a33f3c7b3/multidict-6.9.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e5ccad4b7bac125722f48d6f862bed3b514d8526deea06316bb72f152cd30a7c", size = 57357, upload-time = "2026-09-21T17:55:49.998Z" },
{ url = "https://files.pythonhosted.org/packages/bc/fc/c18b07100a6064573e49e538d13d47eb2b5221f48080512df78aef54ab04/multidict-6.9.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:a49ff5cdb33654cb7d6a3c377aa2a83ddefaa1db31eb10bcf3c180aa84f9af8a", size = 330433, upload-time = "2026-09-21T17:55:51.435Z" },
{ url = "https://files.pythonhosted.org/packages/62/ff/52a0082adeb69656b634609d4fb0ae65456deaae4cca3d5a12656626dc50/multidict-6.9.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b22ff30006a2f28f8bff878fb93413cbe3a4d1fd517c28081d848c90e9cfd2c8", size = 332487, upload-time = "2026-09-21T17:55:52.937Z" },
{ url = "https://files.pythonhosted.org/packages/39/3e/80bd4729635a7af371ff4dcc312594cf96e73f98854491be8740792de430/multidict-6.9.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3adf06c66041aa21eeb8a71e82379b74773298c8e6d3d839b151aae441a99b94", size = 316911, upload-time = "2026-09-21T17:55:54.751Z" },
{ url = "https://files.pythonhosted.org/packages/15/f4/7ea4a907e053e924e2e1694d90560f79f72056504bfd5e8483695f9527d2/multidict-6.9.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:963a8d8f97057082679523d0fd4c53a38f86bc58cabe4556faef682ae53fa2fa", size = 344950, upload-time = "2026-09-21T17:55:56.5Z" },
{ url = "https://files.pythonhosted.org/packages/0d/16/9642ae41fbfbdc546aa481c2b07ae1bc087a94ab5f5020b4d9ab77da401f/multidict-6.9.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b66ccc5c2cdd26e74fa5d4c29ffae424cc6148bf93ce574821783fb3b6d452c5", size = 350264, upload-time = "2026-09-21T17:55:58.073Z" },
{ url = "https://files.pythonhosted.org/packages/93/f2/e06c8e42074d0a4b8419bfe92afbd1d262190b69549ecbcd2dffa4f103c2/multidict-6.9.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7fd79c521f6290c69125fa2b85fa65d9e657e6a8ffaf722dc881b926bef4aa5c", size = 336213, upload-time = "2026-09-21T17:55:59.723Z" },
{ url = "https://files.pythonhosted.org/packages/98/43/d7cf9ef4700e7c25244590d1b4f20cf12cbed86beba6c17be4d9e48c1099/multidict-6.9.1-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1d804e4caf5d5da37d6dac1325da5629ebef1e27a294c2b568b295814aa36c7b", size = 302555, upload-time = "2026-09-21T17:56:01.666Z" },
{ url = "https://files.pythonhosted.org/packages/7d/3a/54209920324bc3928f5f2ba28b01a6dd957a9d48c3aaff77e38faaf5668d/multidict-6.9.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bb0d664505f4b112f384cffeee82e91e3f6448d8e574989479db4439b68cba05", size = 322247, upload-time = "2026-09-21T17:56:03.265Z" },
{ url = "https://files.pythonhosted.org/packages/33/50/df96f961b178b621ab0adbf9221d4fd21534e1064fd9f5e85c1fa27fea55/multidict-6.9.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:9e14d17773b1b3c758ff153659a1824608a0cb562c45f484b5ed8a433428444a", size = 321787, upload-time = "2026-09-21T17:56:04.894Z" },
{ url = "https://files.pythonhosted.org/packages/a7/9b/37f354562a8f82f9c1f63d3a94300fc82126d50320175f0702bbd544f87c/multidict-6.9.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:083735b7f395894e43adb278d5dae901448883a835ff8f1977e285fefdb10418", size = 335498, upload-time = "2026-09-21T17:56:06.783Z" },
{ url = "https://files.pythonhosted.org/packages/1e/44/78e366efc6c004185295cc9eb9711c10f13eadf3b547603b9c5526329976/multidict-6.9.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b65121091567847a8cb520d364ab22ba90e00d3cc55fa9eb34bb439f0684bcd1", size = 338244, upload-time = "2026-09-21T17:56:09.162Z" },
{ url = "https://files.pythonhosted.org/packages/ad/2b/ab5bd3964691abe4d14b43bdbdb8a621b77cea2ca352dc93159ec0a4575b/multidict-6.9.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:ea999ae6e80e66ad5eea287860951b033d0104ca34d6d87c7b5125ebe0e12721", size = 301641, upload-time = "2026-09-21T17:56:11.227Z" },
{ url = "https://files.pythonhosted.org/packages/ea/a8/f6bc899f5aafaba755edc8e4bb934bc00b1e405f8d3fbc1dd10283738074/multidict-6.9.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:095d900c242e00fbe5f321ee072e7278b4153e78c5ce9c1efde167d62c1e4771", size = 340162, upload-time = "2026-09-21T17:56:13.076Z" },
{ url = "https://files.pythonhosted.org/packages/eb/03/a8fc809ef364b8c231c065ea2ea2f97ae86d4f9a0e36b5721759fd606778/multidict-6.9.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6441cc837aea58be7d9baef1b2383eb8311ab9303f500f99ac90b584cd78bb14", size = 332826, upload-time = "2026-09-21T17:56:15.175Z" },
{ url = "https://files.pythonhosted.org/packages/23/db/95bd0afb130a0149c955f1f066143528d60864e64f41ff5a1e1313609361/multidict-6.9.1-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:024123f0ab402ab33828e24eb80fa8f25167d0d3783ba5f287e39ed741e6abf9", size = 54892, upload-time = "2026-09-21T17:56:22.63Z" },
{ url = "https://files.pythonhosted.org/packages/94/cc/8aa34ae8d09498e8da003f485c03371b55cf1bc6d56cff861b3a7de61251/multidict-6.9.1-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:af1b5a92315048c3e36bbebfa7d4760a9c3e910bc4166f11b20d77d20d6bcfca", size = 56251, upload-time = "2026-09-21T17:56:24.36Z" },
{ url = "https://files.pythonhosted.org/packages/52/48/22baa3b95375096369b04c4348af14139570f302f951773d2c68bf0ccf2e/multidict-6.9.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:b2483da477932ad1983d1d33c18bc3771c6fb00cfbaaed70a875fd547ef8e840", size = 96345, upload-time = "2026-09-21T17:56:25.777Z" },
{ url = "https://files.pythonhosted.org/packages/2f/3e/b96779dcac28ec6d491fd821112a0156b519b6701bba186cdf6f6df737f4/multidict-6.9.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:db4d697b18b6ef5528b1f36bfa25072cd2a421869f5963bc0e92c8a34b9e2800", size = 58901, upload-time = "2026-09-21T17:56:27.364Z" },
{ url = "https://files.pythonhosted.org/packages/f9/b4/8e6d950f02ca6ecc00ecf671f2ddb5dab7017671a8d197326f75621f5786/multidict-6.9.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:854fd2f1bc6e8a56b89910b5cd7261a8b40f13ebb31572da985ce59c7da0886d", size = 56491, upload-time = "2026-09-21T17:56:28.901Z" },
{ url = "https://files.pythonhosted.org/packages/ed/8f/212ed7e03282c7bc271e3796bf985b53d5727c2827361e3dd9c5ee6b093f/multidict-6.9.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:03731f6fc036180700c9dc2308205a48e5ca6f3ff03087739ab746f294022201", size = 332297, upload-time = "2026-09-21T17:56:30.495Z" },
{ url = "https://files.pythonhosted.org/packages/a0/97/555aab000e03ecba85c0a1837fd5674d8bf10949490df7800da3a40660ce/multidict-6.9.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:989261c5f1735a165f2e4e87cf6d5f17ab734fa18f9ad0383d5adfcdaefce701", size = 329197, upload-time = "2026-09-21T17:56:32.652Z" },
{ url = "https://files.pythonhosted.org/packages/3d/25/f3539b5bdc147beba66015795dfe589eedcc580348fb1a8c69b1df4196b5/multidict-6.9.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b4c9e5d05b126b267ac048a89a0e2d9b48b1b648add62d4872906304a8590610", size = 308456, upload-time = "2026-09-21T17:56:34.657Z" },
{ url = "https://files.pythonhosted.org/packages/1e/7d/4665cad8fc326787d218879be879d86dfe32f006c1f88ae47b04d3b52fd5/multidict-6.9.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9d0a21cf76153de8f2d96a877991d6bc59b9ab5180b949e50db73cc193b4a694", size = 343382, upload-time = "2026-09-21T17:56:36.606Z" },
{ url = "https://files.pythonhosted.org/packages/41/01/e1e9abe27f492b22dede492bc423015597412b14ce074f7475f4ecd80185/multidict-6.9.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e7386aa18d98d6b8af44b92173654ec469237fda35f8e8523e43b581a86f476a", size = 346848, upload-time = "2026-09-21T17:56:38.344Z" },
{ url = "https://files.pythonhosted.org/packages/f8/e5/8d54118bc228e64e1087f1729647b93bbea225eda4a3f914663a6f410bca/multidict-6.9.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b69651732c64afb691e50cdc3387cae305e0eeff8804fe3e3ce203876494932a", size = 333612, upload-time = "2026-09-21T17:56:40.041Z" },
{ url = "https://files.pythonhosted.org/packages/76/e1/9509dafc1fc68948e75842a74533ddfa64af57f2b17810e9cacfa68a829b/multidict-6.9.1-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1fee9a16d88a1c4865610de31ef5c666671020d7a81d1f510eaf3c97d00ebeba", size = 304246, upload-time = "2026-09-21T17:56:42.313Z" },
{ url = "https://files.pythonhosted.org/packages/1d/b6/96b93808e1bec0b51d49d89859e49b82a94f7b2e58eca0fc44ffcafd3ae5/multidict-6.9.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7814bbee202acd3bd240204c17d8b87a4c48c81064fd8674dbe527d94d5a4290", size = 321983, upload-time = "2026-09-21T17:56:44.399Z" },
{ url = "https://files.pythonhosted.org/packages/d9/1c/08e5184df026b9d8e05a6dce5da22628e46bc4a7c7f03b8bf3c6939a8c46/multidict-6.9.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:95f273bea318a194f656527ee2ed19494327bc500b8e87d9358e3222579aa28d", size = 315927, upload-time = "2026-09-21T17:56:46.208Z" },
{ url = "https://files.pythonhosted.org/packages/d7/5d/9ff39e7387f6fcc9a81af5dbf055fde08149849a04f8df10ca5b086b0d39/multidict-6.9.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:73bcafa21a78d0776b3ee7cd2a63c66f968eb7db8e8d594e32d7329950f6e828", size = 336827, upload-time = "2026-09-21T17:56:48.021Z" },
{ url = "https://files.pythonhosted.org/packages/5a/be/30fbb2cab22203128928066de94be247dc9a3230bf2bfc54437ac3b5f9f7/multidict-6.9.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:1a938761c77e0e6edb0c93d02f4e988d44a69e5195e5a3b893e5553311347132", size = 336317, upload-time = "2026-09-21T17:56:49.778Z" },
{ url = "https://files.pythonhosted.org/packages/bf/f0/2480aef6b7d8e7ab89b064ae14f12ec069570dab3a5c13e0155912293247/multidict-6.9.1-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:37245ca4105386194dd1d292a6f2aae09bfe1bd7ac6f9ec25093e3cf8e9b143b", size = 303258, upload-time = "2026-09-21T17:56:51.829Z" },
{ url = "https://files.pythonhosted.org/packages/4c/04/dbe59cf4ea3778600e8e70e30b31aa9118ad6da2844bc9f717804cbaa000/multidict-6.9.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:f0700527dd5bfa8b7204b08330542f4f388899d3c14d885d8a368992e0eb562d", size = 337232, upload-time = "2026-09-21T17:56:53.537Z" },
{ url = "https://files.pythonhosted.org/packages/f4/8c/abe55548f06f12878588f08eb803c5a391283f01243f784cb00adac79231/multidict-6.9.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6b7e54fd883671d1a8810704851c044b7173287c552b9f5c3d9e0eb9f00ae194", size = 330261, upload-time = "2026-09-21T17:56:55.335Z" },
{ url = "https://files.pythonhosted.org/packages/08/64/4f2a5eeea10b6d42634ba168ec6efc732ef218772e57b8239cd485c202f6/multidict-6.9.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:0b2fb8c349d1103863750b5d8cb5ace766917f4b35f3d883c8f778853eaa9f76", size = 107694, upload-time = "2026-09-21T17:57:01.785Z" },
{ url = "https://files.pythonhosted.org/packages/32/ce/c68d08ac2096c1528ff20d77fd10f7e401db3e534ac5a1c7726e36a77c2f/multidict-6.9.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:56d834b74c993a7d7cb2b8ab33a0d55c3e0d4a3d2f2da2808a4ad3d79189711b", size = 64766, upload-time = "2026-09-21T17:57:03.52Z" },
{ url = "https://files.pythonhosted.org/packages/3a/9a/9f5c270c88fe289b4876fe28f9932a70e015a7916aff1e5b0325f7597b11/multidict-6.9.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:783ba7d845d79ce976afd9c1e91a4e5714671defa198ee789e8b23316083a485", size = 62723, upload-time = "2026-09-21T17:57:05.104Z" },
{ url = "https://files.pythonhosted.org/packages/7c/63/c9a0b131354dd949426166cef712d708f436a8cf261114f8d5d2aec440ca/multidict-6.9.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:4d718fa1b5f0d0dd75e86fbbc5b0c93ea3a5d65216c85c61cd5d7cdddfe08455", size = 290445, upload-time = "2026-09-21T17:57:06.687Z" },
{ url = "https://files.pythonhosted.org/packages/9d/41/ed27d1d20ba91f4e13e8f7dcfaa592614ae0e1d5f45e03171d23c3b098ac/multidict-6.9.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a313bad717dde740959d50850c315b75fd4eb0c5e6b4dc8535db0f1c369be125", size = 304375, upload-time = "2026-09-21T17:57:08.717Z" },
{ url = "https://files.pythonhosted.org/packages/66/6f/a7b26167173c3b73d6e5ebb0856c5154ad005156c3a2fa4062329921819c/multidict-6.9.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:ef01d29fca550ab871fd99154f82c6472aacf8e7def272dfb07b460123850390", size = 281746, upload-time = "2026-09-21T17:57:10.713Z" },
{ url = "https://files.pythonhosted.org/packages/34/1d/da27bdd49b0cb84263288f5f48dbd915f2d17fd228fee2078ca607e80277/multidict-6.9.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0f3bd290711c6e9486173a6ee7cd4e7f00c3971c7908c1ec1b6e5437c5e4c6f9", size = 311499, upload-time = "2026-09-21T17:57:12.467Z" },
{ url = "https://files.pythonhosted.org/packages/d0/36/ab0299a7abf53e38ff75d96c64480f1e2ff8edde985f93f7a1ad5e08bd94/multidict-6.9.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:81cdc537e0a42e3c0170752fcadbe450246d5c3b4b7231d6eb9672456605ac94", size = 313553, upload-time = "2026-09-21T17:57:14.548Z" },
{ url = "https://files.pythonhosted.org/packages/5a/44/e21be702efc9c9ba097c8be874c68860b1cb6cf9c85611263039bf95b37e/multidict-6.9.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8b193bf7a443c97d81c47052f60c486071a4bdef4a573fa2514f920089414d45", size = 299898, upload-time = "2026-09-21T17:57:16.192Z" },
{ url = "https://files.pythonhosted.org/packages/00/8d/e93bc0dc947c7f872e502cfaa7ad9d98f001e1c93cfa6f4940457a6e187a/multidict-6.9.1-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:7a0c98f6a636adf0d7edd60c61589eaf52d149239af754d0bfeb0effedba53a8", size = 273054, upload-time = "2026-09-21T17:57:17.793Z" },
{ url = "https://files.pythonhosted.org/packages/5e/c9/945b44493fbe7af26ffe1e43c506b376daeab070fc1a0923bef9bbf572eb/multidict-6.9.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:6e6b7e3a1520c39a2772f414cd9ddf5995f77e4e823dfa1522af383addd465a3", size = 294751, upload-time = "2026-09-21T17:57:19.631Z" },
{ url = "https://files.pythonhosted.org/packages/24/79/0969a9b38b814e5fa3af1b0a57708c49b3d9b3d55c208bac6e98b87bb028/multidict-6.9.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:ca65cced0d67a9039e93bcd98a369920e499bf98296844ff56ead01c9085321f", size = 284523, upload-time = "2026-09-21T17:57:21.313Z" },
{ url = "https://files.pythonhosted.org/packages/1d/1e/c32ddf53234c228b1a374ddabca19f542ac7f32752f5155982abe2304833/multidict-6.9.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:372c063f37480f62c1ae32dc3a1a0a5942b180c883f99789075a8a8ec3c4e709", size = 290275, upload-time = "2026-09-21T17:57:23.206Z" },
{ url = "https://files.pythonhosted.org/packages/5d/09/7a99a3daafd987330abb865a2d36e432fd8bf18e790ddda55c5de15eb98f/multidict-6.9.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:827c92145b3b976b39430129c89d213b250dacbe5fce678e9a03940e6e848983", size = 303350, upload-time = "2026-09-21T17:57:25.086Z" },
{ url = "https://files.pythonhosted.org/packages/2e/09/7e6ebaecc4e226d7fe27973c271d58b75c14c24e84c23736d21dc39997dd/multidict-6.9.1-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:9b0124b9c17e9890f0819b2e7a5f65ec9a2f5aabd6c8e7ad090c1675cf70dee6", size = 272232, upload-time = "2026-09-21T17:57:27.193Z" },
{ url = "https://files.pythonhosted.org/packages/1f/6e/420e9e879b21cbdb5036214ee238efabcfab7bf262d3fc124132050f79ff/multidict-6.9.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:23136f5a564654eb61061ec6d5620a4c1ea32c8f552b65e9982a12b72bff601b", size = 300525, upload-time = "2026-09-21T17:57:29.004Z" },
{ url = "https://files.pythonhosted.org/packages/b7/7f/c6b0896850b3ceb190ca302760d63148843371f027c5dde3d1d732343a08/multidict-6.9.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f2524ec55b3e65cbe235a8b3c36e2af3b635be02ed05e20c94e70c5c943c009e", size = 295933, upload-time = "2026-09-21T17:57:30.837Z" },
{ url = "https://files.pythonhosted.org/packages/bd/c5/614d2eb9995232d066aae7f17d1d454060b6b5d882b22fbaf6150b05ef1d/multidict-6.9.1-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:c0c88085affd35c33e124e36930c5ad96aff9294ce195eaa0fd9cec962b64a82", size = 55009, upload-time = "2026-09-21T17:57:39.746Z" },
{ url = "https://files.pythonhosted.org/packages/7f/24/f7179ecdf9cdd3581ace3292c3b883a1a500a374aa4e619bf6eb521c62e5/multidict-6.9.1-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:a8b75dd3d3638d9a19f23e84af4ffab3b8940422c0df2da2a77005ef5aa3d7ea", size = 56273, upload-time = "2026-09-21T17:57:41.544Z" },
{ url = "https://files.pythonhosted.org/packages/ac/72/c9dffcecccd1f8b9a58f960ec4eaecab62c4edb08d5bb984d4de67fe3fdb/multidict-6.9.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:006c4478de0a1876f4834e14255776286f09b9846b505fe63f67f9d173a9487c", size = 96390, upload-time = "2026-09-21T17:57:43.385Z" },
{ url = "https://files.pythonhosted.org/packages/e9/3f/76542360e655cecdb7c158c7af88c69c4db0d2aac3421659d41214927229/multidict-6.9.1-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:2784090c30a586d5b45197bd9c32f87fb927216cde302f6cfd76d76577e90f08", size = 58900, upload-time = "2026-09-21T17:57:45.105Z" },
{ url = "https://files.pythonhosted.org/packages/04/15/f28c71af461dd4ff15653a165cfd8ddaf01f3387ff80d2dd0de057d527d0/multidict-6.9.1-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:7c708566da8014b120a64b1eb6d200c6c0c8cb36296383723cdb6fc82038270b", size = 56540, upload-time = "2026-09-21T17:57:46.913Z" },
{ url = "https://files.pythonhosted.org/packages/19/de/5ee4050c3ddad88c605a89fc1cd18e89abd40a64f183e6fb5276b6eb7f52/multidict-6.9.1-cp315-cp315-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:042fb0196047e786936a730bd302de83143950da45f2c16078da8f35e1cf7919", size = 331818, upload-time = "2026-09-21T17:57:48.825Z" },
{ url = "https://files.pythonhosted.org/packages/70/e2/2d4e3c3ee70f583334ff236fe6a3babf7a05ce56169a15df65453af647c0/multidict-6.9.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a2212a0c842c723d919ea4a22a9296cb6b244b386e4e6ea92adfc7fbf3095519", size = 329800, upload-time = "2026-09-21T17:57:50.91Z" },
{ url = "https://files.pythonhosted.org/packages/d6/14/f64bd05667343a7250cdd99f81bda2270e3959f00832441f10c7f904e1c1/multidict-6.9.1-cp315-cp315-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fd882aa29bf402b62bf1fd7c19fd5df4b6528cf468a908864b39368572b662a9", size = 312048, upload-time = "2026-09-21T17:57:53.053Z" },
{ url = "https://files.pythonhosted.org/packages/64/bf/a91256ce00199e7544e3eda79c4e9544eb7388c38fa22f11638c2e357ccb/multidict-6.9.1-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c57541034d12b215ab0a2bfa371d1a8a198da18176d0426c27105b9161a6862d", size = 343676, upload-time = "2026-09-21T17:57:55.069Z" },
{ url = "https://files.pythonhosted.org/packages/14/48/628b978413518159228c2b2ec38645362ceb6427e935d83d716e26490a49/multidict-6.9.1-cp315-cp315-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d73fed4e37158ff00cd271871170b79e40138db51e625fd352fa17c6acb34f67", size = 347028, upload-time = "2026-09-21T17:57:57.157Z" },
{ url = "https://files.pythonhosted.org/packages/8c/73/5f9dc2b5ac7dd7a82458ae9cd283b99c185834f23442ace295362dcc5e45/multidict-6.9.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:79da2491348b30810728050b4a8ec0416f85884125c2fd44655b3d01150d9c3e", size = 335670, upload-time = "2026-09-21T17:57:59.126Z" },
{ url = "https://files.pythonhosted.org/packages/f8/84/6f319ee000f5ab3fa0055b194ad706fddd552c60c76a21d581c87db1d46c/multidict-6.9.1-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b4da208a63434d21a3df64d29758e650fc4aa8cb05848554b76949c296539cca", size = 307804, upload-time = "2026-09-21T17:58:01.2Z" },
{ url = "https://files.pythonhosted.org/packages/3f/24/61be5fe1616d033532e8d63dc789c0f35b9793917834713eefe050589ba9/multidict-6.9.1-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:877ca17fdcfdf5c397493a71e5ff97a87bb181417fe717fdadc77c08c09301ac", size = 323409, upload-time = "2026-09-21T17:58:03.383Z" },
{ url = "https://files.pythonhosted.org/packages/22/a6/eab8aaf59892169a0f4e8e78a5516a6caa6abd8e96e6410111258f4ef0ef/multidict-6.9.1-cp315-cp315-musllinux_1_2_armv7l.whl", hash = "sha256:40aec5299e1ed71fbb988389059da381c3c1a60e0c649acceb2a35d9b128848e", size = 315746, upload-time = "2026-09-21T17:58:05.372Z" },
{ url = "https://files.pythonhosted.org/packages/42/b1/d1e14bab80a74babf6e2ac971a878b84fdcf3a972f3ec3400ca12260fac5/multidict-6.9.1-cp315-cp315-musllinux_1_2_i686.whl", hash = "sha256:4a409ccc42aefec904038695d5d7fd6d8f3af2721b7b6401d55135ec7d6d298e", size = 334529, upload-time = "2026-09-21T17:58:07.35Z" },
{ url = "https://files.pythonhosted.org/packages/f5/50/a05b1d36f6d3363a5a334cebbf11624c9c7a69d66fd23345eb53b1d43b7e/multidict-6.9.1-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:0a5769559e3312dd96731fbe15b4abb6033368ac1cad5a98dadd21946a4c7d6c", size = 336455, upload-time = "2026-09-21T17:58:09.112Z" },
{ url = "https://files.pythonhosted.org/packages/cd/0d/bf33cb097380252b08e1177b5ae0cab822c47ce80d236f3f724953c76721/multidict-6.9.1-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:03fac50ddfd8302175b77863a015eccfae76767cda5506eef86df559ba861e1f", size = 305865, upload-time = "2026-09-21T17:58:10.921Z" },
{ url = "https://files.pythonhosted.org/packages/ba/ee/a2bd133391204b1cec5a5caf327dc9a06710439b7403220860a8fb164560/multidict-6.9.1-cp315-cp315-musllinux_1_2_s390x.whl", hash = "sha256:5ecace251ccfa705bf3d7d35c5032cf750f5c629809740405697bce5c118c4a4", size = 337531, upload-time = "2026-09-21T17:58:12.846Z" },
{ url = "https://files.pythonhosted.org/packages/a8/32/c0972486f81a06c3bbb23063c85afaac53c51608f7e35bcb101a1006408b/multidict-6.9.1-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:ecc89dbd4155b2f8a47f4bbd89242a35ed15e8e0ec581cab5ac65fa38407329d", size = 332464, upload-time = "2026-09-21T17:58:14.673Z" },
{ url = "https://files.pythonhosted.org/packages/aa/57/89d2d3dedfae2558853c1770c7cbcdfd5211eb4c4090b1e8cb570544a490/multidict-6.9.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:8879510a76940670517ea1cb589978da44b86e286ec3e50d664ef330817afce7", size = 107679, upload-time = "2026-09-21T17:58:21.98Z" },
{ url = "https://files.pythonhosted.org/packages/c8/df/0c2a28870181c1762f90952b897f6db46c934ce073efe0442604cbc276db/multidict-6.9.1-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:aec65b53a07f580606593f877eefbb29a45939bfc0d3fe6e6d9f42b41b749f68", size = 64753, upload-time = "2026-09-21T17:58:23.622Z" },
{ url = "https://files.pythonhosted.org/packages/43/7e/9c6a3e7619459407d8958f7e56ab3dda7f0738f5aed9bb4ad48076e8de83/multidict-6.9.1-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:14c56f73e78faa1f68bbb826197cd5871994e70e841b8590829c35912ece5c64", size = 62732, upload-time = "2026-09-21T17:58:25.46Z" },
{ url = "https://files.pythonhosted.org/packages/38/eb/fd56c9d83ba0cdc3cf66f9acb278b24ef1f043b620b96d145685a3b57338/multidict-6.9.1-cp315-cp315t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:38c9986f9ce50c459b10de216a05f4bd7ed5ac63887d56e500a52bb464b861ce", size = 288648, upload-time = "2026-09-21T17:58:27.115Z" },
{ url = "https://files.pythonhosted.org/packages/df/ef/51e79c2442b0f56ac4ac580108d713078b31297e028d468fc220971a305d/multidict-6.9.1-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:15db6a102cbaf1949cf028ecf080aac76d20bcd29ad4e092574db6c6b7af78a5", size = 304919, upload-time = "2026-09-21T17:58:29.143Z" },
{ url = "https://files.pythonhosted.org/packages/6f/e4/774700cc5739353fe88a7204ed30e78a9403d98d4bb2496cc91f096d2e71/multidict-6.9.1-cp315-cp315t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:bd82c4977196681a499bb6ca9e462afbc5c91c1c15b6a991dfbd72733fea4dd2", size = 289094, upload-time = "2026-09-21T17:58:30.938Z" },
{ url = "https://files.pythonhosted.org/packages/ca/41/0bec327bc3a8271825376b6d8a469d1f80e3ba1e2e730e019836e29663c3/multidict-6.9.1-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:bb58ba73a3f96f9a3e46b1fab69929d7edbbddb3133ee74b5c3c54074a53c4f1", size = 312007, upload-time = "2026-09-21T17:58:32.964Z" },
{ url = "https://files.pythonhosted.org/packages/c3/7a/9906bf5f1fe20e8e755affccc1a69ecd8aebb079ac65386e5ffc8eefbe75/multidict-6.9.1-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7c6eecfab7ce4cd9487ff8ba936fe38cdfd68c04faf3d5c710363c6a8e695659", size = 314657, upload-time = "2026-09-21T17:58:35.285Z" },
{ url = "https://files.pythonhosted.org/packages/33/92/cf6d665a45663bbe216420fe632da10e9f4f842b07ce02bc3ddf8eb882b8/multidict-6.9.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9c62e71e6289d78c0108d8aeb495f8bd3cad4bc1632fedddc9297ddf287ecc20", size = 301563, upload-time = "2026-09-21T17:58:37.472Z" },
{ url = "https://files.pythonhosted.org/packages/97/4c/9f1b7945526905d58b4b2d422e2ea81326dda71f9bdc9c32c8002639234a/multidict-6.9.1-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:539c2cd5fed0947c135cd7eabaaac55f48300dfa1de0f3ca4edb5efa6606f471", size = 278540, upload-time = "2026-09-21T17:58:39.551Z" },
{ url = "https://files.pythonhosted.org/packages/5c/d9/133aa472fc1be181de29a0c2e1c4cd778280882f532b404395f646742e46/multidict-6.9.1-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:3100d169ceb7bc8f05f89a6db11d1b21f119975fc26f29dc45a472e3569f0879", size = 294858, upload-time = "2026-09-21T17:58:41.791Z" },
{ url = "https://files.pythonhosted.org/packages/bd/38/21f2305dd20ac5038fa581b5d7e0d8dbbd70dc6b50231c22ec173dacddda/multidict-6.9.1-cp315-cp315t-musllinux_1_2_armv7l.whl", hash = "sha256:696477ad71385c4795e3b8e4cf10b0d2c28c2a1ca6a955e031cb1e62993e9ee3", size = 285461, upload-time = "2026-09-21T17:58:43.844Z" },
{ url = "https://files.pythonhosted.org/packages/ad/21/465a43c214d1d7e2d0c974e727d4b5935f8a0868838b5df9d0984c83c1dc/multidict-6.9.1-cp315-cp315t-musllinux_1_2_i686.whl", hash = "sha256:f5844e7befc707367807586f550fa97e23dcfef0728f02b98c7bc498a961a5df", size = 288964, upload-time = "2026-09-21T17:58:46.16Z" },
{ url = "https://files.pythonhosted.org/packages/2d/58/72a3e8d56c1e05146d2d1841dbaacf8986375eded1e5a58d30eef191a580/multidict-6.9.1-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:abc7c2e4b47bfe6a9aea434d3fdebb9597ee636e914e92ba352f2068b9142f4c", size = 303924, upload-time = "2026-09-21T17:58:48.395Z" },
{ url = "https://files.pythonhosted.org/packages/6f/b9/911084c04530a682a54536b4f738d3992a593b5ff6fea1d6a1f02f3acc6b/multidict-6.9.1-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:7ab379f95caee071a37cbd8be86d4c65accc651d391f9f97748fef006f38769c", size = 278479, upload-time = "2026-09-21T17:58:50.494Z" },
{ url = "https://files.pythonhosted.org/packages/45/eb/9a333346c02c928a9e82534638bce85697c10c46b4901fcd70af19357356/multidict-6.9.1-cp315-cp315t-musllinux_1_2_s390x.whl", hash = "sha256:557a4e1708df428ebe6c3081c83a273d275dad2446ce0d81fc648ac71afdb18d", size = 301650, upload-time = "2026-09-21T17:58:52.554Z" },
{ url = "https://files.pythonhosted.org/packages/67/2f/1d936c4e45c8199db6082b6836e9182e31aa393de0de652637790831ca4b/multidict-6.9.1-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:475d04d5192eba487a3e2f935976340baa24529046e9c1c9c7a3b7bf80445ae1", size = 298024, upload-time = "2026-09-21T17:58:55.03Z" },
{ url = "https://files.pythonhosted.org/packages/be/59/e26cb779be4c591d1a910f59d29aca9fba4de70349840a833beba2652371/multidict-6.9.1-py3-none-any.whl", hash = "sha256:7bf6478188f4e47bf5686e8a33da4ae28bf43b1b2528d9ee144d28492bfac60b", size = 19176, upload-time = "2026-09-21T17:59:03.501Z" },
]
[[package]]
@@ -3139,7 +3174,7 @@ requires-dist = [
{ name = "django-compression-middleware", specifier = "~=0.5.0" },
{ name = "django-cors-headers", specifier = "~=4.9.0" },
{ name = "django-extensions", specifier = "~=4.1" },
{ name = "django-filter", specifier = ">=25.1,<27.0" },
{ name = "django-filter", specifier = ">=25.1,<27" },
{ name = "django-guardian", specifier = ">=3.3.3,<3.6" },
{ name = "django-multiselectfield", specifier = "~=1.0.1" },
{ name = "django-rich", specifier = "~=2.2.0" },