mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2026-07-24 12:54:55 +00:00
Compare commits
28
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5569447ea0 | ||
|
|
17796357ee | ||
|
|
b47b9800a1 | ||
|
|
0be884d441 | ||
|
|
fce2fbb8f6 | ||
|
|
fa01396dfd | ||
|
|
c9443e890f | ||
|
|
21e4721a82 | ||
|
|
1985da14f8 | ||
|
|
59a737f669 | ||
|
|
90bee4285f | ||
|
|
7dca0bfa6a | ||
|
|
3a34bdc7b0 | ||
|
|
c7899a9a84 | ||
|
|
82fc1c6cee | ||
|
|
cd3c162e6e | ||
|
|
50c88dab7a | ||
|
|
5744a75e6a | ||
|
|
02c6b5f3e4 | ||
|
|
b566232542 | ||
|
|
be40356d2e | ||
|
|
5ea8cf2335 | ||
|
|
84a04301d1 | ||
|
|
3edda48324 | ||
|
|
f86bc57880 | ||
|
|
97662b6c5c | ||
|
|
6e052d5507 | ||
|
|
afb19fe637 |
@@ -56,7 +56,7 @@ services:
|
||||
environment:
|
||||
PAPERLESS_REDIS: redis://broker:6379
|
||||
PAPERLESS_DBHOST: db
|
||||
PAPERLESS_DBENGINE: postgres
|
||||
PAPERLESS_DBENGINE: postgresql
|
||||
env_file:
|
||||
- stack.env
|
||||
volumes:
|
||||
|
||||
+10
-9
@@ -833,10 +833,10 @@ contract you signed 8 years ago).
|
||||
|
||||
When you search paperless for a document, it tries to match this query
|
||||
against your documents. Paperless will look for matching documents by
|
||||
inspecting their content, title, correspondent, type, tags, notes, and
|
||||
custom field values. Paperless returns a scored list of results, so that
|
||||
documents matching your query better will appear further up in the search
|
||||
results.
|
||||
inspecting their content, title, correspondent, type, and tags. Paperless
|
||||
returns a scored list of results, so that documents matching your query
|
||||
better will appear further up in the search results. Notes and custom field
|
||||
values can be searched using the advanced search syntax described below.
|
||||
|
||||
By default, paperless returns only documents which contain all words
|
||||
typed in the search bar. A few things to know about how matching works:
|
||||
@@ -891,9 +891,9 @@ Supported date keywords: `today`, `yesterday`, `previous week`,
|
||||
|
||||
#### Searching custom fields
|
||||
|
||||
Custom field values are included in the full-text index, so a plain search
|
||||
already matches documents whose custom field values contain your search terms.
|
||||
To narrow by field name or value specifically:
|
||||
Custom field names and values are included in the full-text index, but they
|
||||
are not searched by a plain, unqualified query. Use the advanced search syntax
|
||||
to search by field name or value:
|
||||
|
||||
```
|
||||
custom_fields.value:policy
|
||||
@@ -921,8 +921,9 @@ custom_fields.name:"Contract Number" custom_fields.value:1312
|
||||
|
||||
#### Searching notes
|
||||
|
||||
Notes content is included in full-text search automatically. To search
|
||||
by note author or content specifically:
|
||||
Notes are included in the full-text index, but they are not searched by a
|
||||
plain, unqualified query. Use the advanced search syntax to search by note
|
||||
author or content:
|
||||
|
||||
```
|
||||
notes.user:alice
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "paperless-ngx"
|
||||
version = "3.0.0"
|
||||
version = "3.0.1"
|
||||
description = "A community-supported supercharged document management system: scan, index and archive all your physical documents"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.11"
|
||||
@@ -75,7 +75,7 @@ dependencies = [
|
||||
"sqlite-vec==0.1.9",
|
||||
"tantivy~=0.26.0",
|
||||
"tika-client~=0.11.0",
|
||||
"torch~=2.12.0",
|
||||
"torch~=2.13.0",
|
||||
"watchfiles>=1.1.1",
|
||||
"whitenoise~=6.11",
|
||||
"zxing-cpp~=3.0.0",
|
||||
|
||||
+20
-16
@@ -1393,8 +1393,8 @@
|
||||
<context context-type="linenumber">302</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
@@ -3647,6 +3647,21 @@
|
||||
<context context-type="linenumber">85</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -7444,17 +7459,6 @@
|
||||
<context context-type="linenumber">92</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -11515,21 +11519,21 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="5558341108007064934" datatype="html">
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="1168781785897678748" datatype="html">
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
</trans-unit>
|
||||
<trans-unit id="3852289441366561594" datatype="html">
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "paperless-ngx-ui",
|
||||
"version": "3.0.0",
|
||||
"version": "3.0.1",
|
||||
"scripts": {
|
||||
"preinstall": "npx only-allow pnpm",
|
||||
"ng": "ng",
|
||||
|
||||
@@ -304,7 +304,7 @@
|
||||
<div class="row mb-3">
|
||||
<div class="col">
|
||||
<p i18n>
|
||||
Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI.
|
||||
Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
@for (message of messages(); track message) {
|
||||
<div class="message d-flex flex-row small" [class.justify-content-end]="message.role === 'user'">
|
||||
<div class="p-2 m-2" [class.bg-body]="message.role === 'user'">
|
||||
<span>
|
||||
<span class="text-break">
|
||||
{{ message.content }}
|
||||
@if (message.isStreaming) { <span class="blinking-cursor">|</span> }
|
||||
</span>
|
||||
@if (message.role === 'assistant' && message.references?.length) {
|
||||
<div class="chat-references list-group mt-3">
|
||||
@for (reference of message.references; track reference.id) {
|
||||
<a class="list-group-item list-group-item-action text-primary" [routerLink]="['/documents', reference.id]">
|
||||
<a class="list-group-item list-group-item-action d-flex text-primary text-break" [routerLink]="['/documents', reference.id]">
|
||||
<i-bs width="0.9em" height="0.9em" name="file-text" class="me-1"></i-bs><span>{{ reference.title }}</span>
|
||||
</a>
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
.chat-messages {
|
||||
max-height: 350px;
|
||||
overflow-y: auto;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
.chat-references {
|
||||
|
||||
@@ -17,6 +17,6 @@
|
||||
|
||||
<ng-template #popoverContent>
|
||||
<div>
|
||||
{{confirmMessage}} <button class="btn btn-link btn-sm text-danger p-0 m-0 lh-1" type="button" (click)="onConfirm($event)">Yes</button>
|
||||
{{confirmMessage}} <button class="btn btn-link btn-sm text-danger p-0 m-0 lh-1" type="button" (click)="onConfirm($event)" i18n>Yes</button>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
+24
-1
@@ -18,6 +18,7 @@ import {
|
||||
DocumentAttributesComponent,
|
||||
DocumentAttributesSectionKind,
|
||||
} from './document-attributes.component'
|
||||
import { ManagementListComponent } from './management-list/management-list.component'
|
||||
|
||||
@Component({
|
||||
selector: 'pngx-dummy-section',
|
||||
@@ -170,10 +171,32 @@ describe('DocumentAttributesComponent', () => {
|
||||
expect(component.activeManagementList).toBeNull()
|
||||
|
||||
component.activeNavID.set(1)
|
||||
const managementList = Object.create(ManagementListComponent.prototype)
|
||||
component.activeOutlet = {
|
||||
componentInstance: managementList,
|
||||
} as any
|
||||
expect(component.activeSection.kind).toBe(
|
||||
DocumentAttributesSectionKind.ManagementList
|
||||
)
|
||||
expect(component.activeManagementList).toBeDefined()
|
||||
expect(component.activeManagementList).toBe(managementList)
|
||||
})
|
||||
|
||||
it('should use the current component instance when the outlet is reused', () => {
|
||||
jest.spyOn(permissionsService, 'currentUserCan').mockReturnValue(true)
|
||||
component.activeNavID.set(1)
|
||||
const firstManagementList = Object.create(ManagementListComponent.prototype)
|
||||
const secondManagementList = Object.create(
|
||||
ManagementListComponent.prototype
|
||||
)
|
||||
component.activeOutlet = {
|
||||
componentInstance: firstManagementList,
|
||||
} as any
|
||||
|
||||
expect(component.activeManagementList).toBe(firstManagementList)
|
||||
|
||||
component.activeOutlet.componentInstance = secondManagementList
|
||||
|
||||
expect(component.activeManagementList).toBe(secondManagementList)
|
||||
})
|
||||
|
||||
it('should return activeCustomFields correctly', () => {
|
||||
|
||||
+3
-6
@@ -132,11 +132,8 @@ export class DocumentAttributesComponent implements OnInit, OnDestroy {
|
||||
]
|
||||
|
||||
@ViewChild('activeOutlet', { read: NgComponentOutlet })
|
||||
set activeOutlet(outlet: NgComponentOutlet | undefined) {
|
||||
this.activeComponent.set(outlet?.componentInstance ?? null)
|
||||
}
|
||||
activeOutlet: NgComponentOutlet
|
||||
|
||||
readonly activeComponent = signal<unknown>(null)
|
||||
readonly activeNavID = signal<number>(null)
|
||||
|
||||
get visibleSections(): DocumentAttributesSection[] {
|
||||
@@ -161,14 +158,14 @@ export class DocumentAttributesComponent implements OnInit, OnDestroy {
|
||||
this.activeSection?.kind !== DocumentAttributesSectionKind.ManagementList
|
||||
)
|
||||
return null
|
||||
const instance = this.activeComponent()
|
||||
const instance = this.activeOutlet?.componentInstance
|
||||
return instance instanceof ManagementListComponent ? instance : null
|
||||
}
|
||||
|
||||
get activeCustomFields(): CustomFieldsComponent | null {
|
||||
if (this.activeSection?.kind !== DocumentAttributesSectionKind.CustomFields)
|
||||
return null
|
||||
const instance = this.activeComponent()
|
||||
const instance = this.activeOutlet?.componentInstance
|
||||
return instance instanceof CustomFieldsComponent ? instance : null
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ import {
|
||||
estimateBrightnessForColor,
|
||||
hexToHsl,
|
||||
} from 'src/app/utils/color'
|
||||
import { environment } from 'src/environments/environment'
|
||||
import { DEFAULT_APP_TITLE, environment } from 'src/environments/environment'
|
||||
import { DEFAULT_DISPLAY_FIELDS, DisplayField } from '../data/document'
|
||||
import { SavedView } from '../data/saved-view'
|
||||
import {
|
||||
@@ -359,9 +359,8 @@ export class SettingsService {
|
||||
}),
|
||||
tap((uisettings) => {
|
||||
this.assignSafeSettings(uisettings.settings)
|
||||
if (this.get(SETTINGS_KEYS.APP_TITLE)?.length) {
|
||||
environment.appTitle = this.get(SETTINGS_KEYS.APP_TITLE)
|
||||
}
|
||||
environment.appTitle =
|
||||
this.get(SETTINGS_KEYS.APP_TITLE) || DEFAULT_APP_TITLE
|
||||
this.maybeMigrateSettings()
|
||||
// to update lang cookie
|
||||
if (this.settings['language']?.length)
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
const base_url = new URL(document.baseURI)
|
||||
|
||||
export const DEFAULT_APP_TITLE = 'Paperless-ngx'
|
||||
|
||||
export const environment = {
|
||||
production: true,
|
||||
apiBaseUrl: document.baseURI + 'api/',
|
||||
apiVersion: '10', // match src/paperless/settings.py
|
||||
appTitle: 'Paperless-ngx',
|
||||
appTitle: DEFAULT_APP_TITLE,
|
||||
tag: 'prod',
|
||||
version: '3.0.0',
|
||||
version: '3.0.1',
|
||||
webSocketHost: window.location.host,
|
||||
webSocketProtocol: window.location.protocol == 'https:' ? 'wss:' : 'ws:',
|
||||
webSocketBaseUrl: base_url.pathname + 'ws/',
|
||||
|
||||
@@ -2,11 +2,13 @@
|
||||
// `ng build --configuration production` replaces `environment.ts` with `environment.prod.ts`.
|
||||
// The list of file replacements can be found in `angular.json`.
|
||||
|
||||
export const DEFAULT_APP_TITLE = 'Paperless-ngx'
|
||||
|
||||
export const environment = {
|
||||
production: false,
|
||||
apiBaseUrl: 'http://localhost:8000/api/',
|
||||
apiVersion: '10',
|
||||
appTitle: 'Paperless-ngx',
|
||||
appTitle: DEFAULT_APP_TITLE,
|
||||
tag: 'dev',
|
||||
version: 'DEVELOPMENT',
|
||||
webSocketHost: 'localhost:8000',
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Default Permissions</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">Wis</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Ja</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Filter by owner</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Ja</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">Eenmalige migrasie van instellings na die databasis is suksesvol voltooi!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">Kan nie instellings na die databasis migreer nie, probeer handmatig bewaar.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">U kan die toer weer vanuit die instellingsblad begin.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Default Permissions</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Clear</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Yes</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Filter by owner</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Yes</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Successfully completed one-time migratration of settings to the database!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Unable to migrate settings to the database, please try saving manually.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">You can restart the tour from the settings page.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">الصلاحيات الافتراضية</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">تنظيف</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">نعم</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">تصفية حسب المالك</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">نعم</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html" approved="yes">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">تم بنجاح ترحيل الإعدادات مرة واحدة إلى قاعدة البيانات!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">غير قادر على ترحيل الإعدادات إلى قاعدة البيانات، الرجاء محاولة الحفظ يدوياً.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">يمكنك إعادة تشغيل الجولة من صفحة الإعدادات.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Default Permissions</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">Ачысціць</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Так</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Filter by owner</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Так</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">Паспяхова выканана аднаразовая міграцыя налад у базу!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">Немагчыма перанесці налады ў базу дадзеных, паспрабуйце захаваць уручную.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">You can restart the tour from the settings page.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Права по подразбиране</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated"> Настройките се прилагат към този потребителски акаунт за обекти (маркери, правила за поща и т. н., но не и документи), създадени чрез уеб интерфейса. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">Изчистване</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Да</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">Филтър по собственик</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Да</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">Успешно завършена еднократна миграция на настройките към базата данни!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">Неуспешно мигриране на настройки в база данни, моля опитайте ръчно запазване.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">Можете да рестартирате обиколката от страницата с настройки.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Permisos per defecte</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated"> S'apliquen a aquest compte d'usuari per als objectes (etiquetes, regles de correu, etc.) creats des de la interfície web. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">Neteja</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Sí</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">Filtrar per propietari</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Sí</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">Completat correctament la migració de la configuració de la base de dades!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">No es pot migrar la configuració de la base de dades, prova manualment.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">Pots reiniciar el tour des de les opcions.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Výchozí oprávnění</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated"> Nastavení se vztahují na tento uživatelský účet pro objekty (štítky, pravidla pošty atd. ale ne dokumenty) vytvořené prostřednictvím webového uživatelského rozhraní. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="final">Smazat</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Ano</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">Filtrovat podle vlastníka</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Ano</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html" approved="yes">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12770,7 +12774,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">Úspěšně dokončena jednorázová migrace nastavení do databáze!</target>
|
||||
</trans-unit>
|
||||
@@ -12778,7 +12782,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">Nelze přesunout nastavení do databáze, zkuste ho uložit ručně.</target>
|
||||
</trans-unit>
|
||||
@@ -12786,7 +12790,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">Prohlídku můžete znovu spustit ze stránky s nastavením.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Default Permissions</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">Ryd</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Ja</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Filter by owner</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Ja</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html" approved="yes">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Successfully completed one-time migratration of settings to the database!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Unable to migrate settings to the database, please try saving manually.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">You can restart the tour from the settings page.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Standardberechtigungen</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated"> Einstellungen gelten für dieses Benutzerkonto für Objekte (Tags, E-Mail-Regeln, etc. - jedoch nicht für Dokumente), die über die Weboberfläche erstellt wurden. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">Zurücksetzen</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Ja</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">Nach Eigentümer filtern</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Ja</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12770,7 +12774,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">Einmalige Migration der Einstellungen in die Datenbank erfolgreich abgeschlossen!</target>
|
||||
</trans-unit>
|
||||
@@ -12778,7 +12782,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">Einstellungen konnten nicht in die Datenbank migriert werden. Bitte versuchen Sie, manuell zu speichern.</target>
|
||||
</trans-unit>
|
||||
@@ -12786,7 +12790,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">Sie können die Tour in den Einstellungen erneut starten.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="final">Standardberechtigungen</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html" approved="yes">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="final"> Einstellungen gelten für dieses Benutzerkonto für Objekte (Tags, E-Mail-Regeln, etc. - jedoch nicht für Dokumente), die über die Weboberfläche erstellt wurden. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html" approved="yes">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="final">Zurücksetzen</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Ja</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html" approved="yes">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="final">Nach Eigentümer filtern</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Ja</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html" approved="yes">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -9715,7 +9719,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-card-small/document-card-small.component.html</context>
|
||||
<context context-type="linenumber">8</context>
|
||||
</context-group>
|
||||
<target state="needs-translation"><x id="INTERPOLATION" equiv-text="document().title | documentTitle }}"/> thumbnail</target>
|
||||
<target state="translated"><x id="INTERPOLATION" equiv-text="document().title | documentTitle }}"/> Vorschau</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2784168796433474565" datatype="html" approved="yes">
|
||||
<source>Filter by tag</source>
|
||||
@@ -12078,13 +12082,13 @@
|
||||
</context-group>
|
||||
<target state="final">KI aktiviert</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="8028880048909383956" datatype="html">
|
||||
<trans-unit id="8028880048909383956" datatype="html" approved="yes">
|
||||
<source>Consider privacy implications when enabling AI features, especially if using a remote model.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
|
||||
<context context-type="linenumber">288</context>
|
||||
</context-group>
|
||||
<target state="translated">Berücksichtigen Sie die Auswirkungen auf die Privatsphäre der Benutzer, wenn Sie KI-Funktionen aktivieren, insbesondere wenn Sie ein nicht lokales Modell verwenden.</target>
|
||||
<target state="final">Berücksichtigen Sie die Auswirkungen auf die Privatsphäre der Benutzer, wenn Sie KI-Funktionen aktivieren, insbesondere wenn Sie kein lokales Modell verwenden.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="8131374115579345652" datatype="html">
|
||||
<source>LLM Embedding Backend</source>
|
||||
@@ -12770,7 +12774,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="final">Einmalige Migration der Einstellungen in die Datenbank erfolgreich abgeschlossen!</target>
|
||||
</trans-unit>
|
||||
@@ -12778,7 +12782,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="final">Einstellungen konnten nicht in die Datenbank migriert werden. Bitte versuchen Sie, manuell zu speichern.</target>
|
||||
</trans-unit>
|
||||
@@ -12786,7 +12790,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="final">Sie können die Tour in den Einstellungen erneut starten.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Προεπιλεγμένα δικαιώματα</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">Καθαρισμός</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Ναι</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Filter by owner</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Ναι</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">Ολοκληρώθηκε με επιτυχία η μετεγκατάσταση των ρυθμίσεων στη βάση δεδομένων!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">Δεν είναι δυνατή η μετεγκατάσταση των ρυθμίσεων στη βάση δεδομένων, παρακαλώ δοκιμάστε χειροκίνητα.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">Μπορείτε να επανεκκινήσετε την περιήγηση από τη σελίδα ρυθμίσεων.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Permisos por defecto</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated"> La configuración aplica a esta cuenta de usuario para objetos (Etiquetas, Reglas de correo, etc. pero no documentos) creados a través de la interfaz web. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="final">Limpiar</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Si</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">Filtrar por propietario</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Si</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">¡Se completó con éxito la migración única de la configuración a la base de datos!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">No se puede migrar la configuración a la base de datos, por favor intente guardarla manualmente.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">Puede reiniciar la visita desde la página de configuración.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Default Permissions</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Clear</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Yes</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Filter by owner</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Yes</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Successfully completed one-time migratration of settings to the database!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Unable to migrate settings to the database, please try saving manually.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">You can restart the tour from the settings page.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">مجوزهای پیش فرض</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated">تنظیمات برای این حساب کاربری برای اشیاء (برچسب ها ، قوانین نامه و غیره اما نه اسناد) ایجاد شده از طریق UI وب اعمال می شود.</target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">پاک کردن</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">بله</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">فیلتر توسط مالک</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">بله</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">با موفقیت مهاجرت یک بار تنظیمات به پایگاه داده را تکمیل کرد!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">برای انتقال تنظیمات به پایگاه داده امکان پذیر نیست ، لطفاً به صورت دستی ذخیره کنید.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">می توانید تور را از صفحه تنظیمات مجدداً راه اندازی کنید.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Oletusoikeudet</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">Tyhjennä</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Kyllä</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Filter by owner</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Kyllä</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">Kertaluontoinen asetusten migratointi tietokantaan suoritettu onnistuneesti!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">Asetuksia ei saatu migratoitua tietokantaan. Yritä tallennusta manuaalisesti.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">Voit käynnistää opastuksen uudelleen asetussivulta.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -432,7 +432,7 @@
|
||||
<context context-type="sourcefile">src/app/app.component.ts</context>
|
||||
<context context-type="linenumber">171</context>
|
||||
</context-group>
|
||||
<target state="translated">Le tableau de bord peut être utilisé pour afficher les vues enregistrées, comme une boîte de réception. Les vues se trouvent dans Paramètres > Vues enregistrées une fois que vous en avez créées.</target>
|
||||
<target state="translated">Le tableau de bord peut être utilisé pour afficher les vues enregistrées, comme une boîte de réception. Les vues se trouvent dans Paramètres > Vues enregistrées une fois que vous en avez créé.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="9075755296812854717" datatype="html" approved="yes">
|
||||
<source>Drag-and-drop documents here to start uploading or place them in the consume folder. You can also drag-and-drop documents anywhere on all other pages of the web app. Once you do, Paperless-ngx will start training its machine learning algorithms.</source>
|
||||
@@ -1264,7 +1264,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">185</context>
|
||||
</context-group>
|
||||
<target state="translated">Afficher le nombre de documents dans la barre latérale vues enregistrées</target>
|
||||
<target state="translated">Afficher le nombre de documents dans les vues enregistrées dans la barre latérale</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="8939587804990976924" datatype="html" approved="yes">
|
||||
<source>Items per page</source>
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="final">Droits d'accès par défaut</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated"> Les paramètres s’appliquent à ce compte utilisateur pour les objets (étiquettes, règles de courriel, etc. à l’exception des documents) créés via l’interface web. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html" approved="yes">
|
||||
<source>Default Owner</source>
|
||||
@@ -2484,7 +2484,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">66</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Consume File</target>
|
||||
<target state="translated">Fichier à consommer</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="5622386857946132209" datatype="html">
|
||||
<source>Train Classifier</source>
|
||||
@@ -2492,7 +2492,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">70</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Train Classifier</target>
|
||||
<target state="translated">Entrainer le classificateur</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="776309955507105337" datatype="html">
|
||||
<source>Sanity Check</source>
|
||||
@@ -2520,7 +2520,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">77</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">LLM Index</target>
|
||||
<target state="translated">Index LLM</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6402092370576716734" datatype="html">
|
||||
<source>Empty Trash</source>
|
||||
@@ -2528,7 +2528,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">80</context>
|
||||
</context-group>
|
||||
<target state="translated">Vider la poubelle</target>
|
||||
<target state="translated">Vider la corbeille</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4173754487295857311" datatype="html">
|
||||
<source>Check Workflows</source>
|
||||
@@ -2536,7 +2536,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Check Workflows</target>
|
||||
<target state="translated">Processus de contrôle</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2065831805515896240" datatype="html">
|
||||
<source>Bulk Update</source>
|
||||
@@ -2560,7 +2560,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">96</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Build Share Link</target>
|
||||
<target state="translated">Créer un lien de partage</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6581973658756561124" datatype="html">
|
||||
<source>Bulk Delete</source>
|
||||
@@ -2696,7 +2696,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">348</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Confirm Dismiss All</target>
|
||||
<target state="translated">Confirmer « Tout ignorer »</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4157200209636243740" datatype="html">
|
||||
<source>Dismiss all <x id="PH" equiv-text="this.totalTasks()"/> tasks?</source>
|
||||
@@ -2704,7 +2704,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">349</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Dismiss all <x id="PH" equiv-text="this.totalTasks()"/> tasks?</target>
|
||||
<target state="translated">Ignorer toutes (<x id="PH" equiv-text="this.totalTasks()"/>) les tâches ?</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="8149502458056418229" datatype="html">
|
||||
<source>Success. New document id <x id="PH" equiv-text="documentId"/> created</source>
|
||||
@@ -2724,7 +2724,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">452</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Duplicate of document #<x id="PH" equiv-text="duplicateOf"/></target>
|
||||
<target state="translated">Doublon du document #<x id="PH" equiv-text="duplicateOf"/></target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3418677553313974490" datatype="html" approved="yes">
|
||||
<source>Trash</source>
|
||||
@@ -2772,7 +2772,7 @@
|
||||
<context context-type="sourcefile">src/app/components/manage/mail/processed-mail-dialog/processed-mail-dialog.component.html</context>
|
||||
<context context-type="linenumber">89</context>
|
||||
</context-group>
|
||||
<target state="translated">Effacer le(s) sélectionné(s)</target>
|
||||
<target state="translated">Supprimer la sélection</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="8597030111956627342" datatype="html" approved="yes">
|
||||
<source>Empty trash</source>
|
||||
@@ -2984,7 +2984,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/trash/trash.component.ts</context>
|
||||
<context context-type="linenumber">78</context>
|
||||
</context-group>
|
||||
<target state="translated">Cette opération effacera définitivement ce document.</target>
|
||||
<target state="translated">Cette opération supprimera définitivement ce document.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="5641451190833696892" datatype="html" approved="yes">
|
||||
<source>This operation cannot be undone.</source>
|
||||
@@ -3048,7 +3048,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/trash/trash.component.ts</context>
|
||||
<context context-type="linenumber">111</context>
|
||||
</context-group>
|
||||
<target state="translated">Cette action effacera définitivement les documents sélectionnés.</target>
|
||||
<target state="translated">Cette action supprimera définitivement les documents sélectionnés.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6804051092296228130" datatype="html">
|
||||
<source>This operation will permanently delete all documents in the trash.</source>
|
||||
@@ -3056,7 +3056,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/trash/trash.component.ts</context>
|
||||
<context context-type="linenumber">112</context>
|
||||
</context-group>
|
||||
<target state="translated">Cette opération effacera définitivement tous les documents de la corbeille.</target>
|
||||
<target state="translated">Cette opération supprimera définitivement tous les documents de la corbeille.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6996183233986182894" datatype="html">
|
||||
<source>Document(s) deleted</source>
|
||||
@@ -3064,7 +3064,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/trash/trash.component.ts</context>
|
||||
<context context-type="linenumber">123</context>
|
||||
</context-group>
|
||||
<target state="translated">Document(s) effacé(s)</target>
|
||||
<target state="translated">Document(s) supprimé(s)</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6962724852893361467" datatype="html">
|
||||
<source>Error deleting document(s)</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="final">Réinitialiser</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Oui</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html" approved="yes">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -5764,7 +5780,7 @@
|
||||
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
|
||||
<context context-type="linenumber">158</context>
|
||||
</context-group>
|
||||
<target state="translated">Déclenche pour les documents qui correspondent à <x id="START_EMPHASISED_TEXT" ctype="x-em" equiv-text="<em>"/>tous<x id="CLOSE_EMPHASISED_TEXT" ctype="x-em" equiv-text="</em>"/>les filtres spécifiés ci-dessous.</target>
|
||||
<target state="translated">Déclenche pour les documents qui correspondent à <x id="START_EMPHASISED_TEXT" ctype="x-em" equiv-text="<em>"/>tous<x id="CLOSE_EMPHASISED_TEXT" ctype="x-em" equiv-text="</em>"/> les filtres spécifiés ci-dessous.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7467799586957602479" datatype="html">
|
||||
<source>Filter filename</source>
|
||||
@@ -6084,7 +6100,7 @@
|
||||
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
|
||||
<context context-type="linenumber">418</context>
|
||||
</context-group>
|
||||
<target state="translated">URL du Webhook</target>
|
||||
<target state="translated">URL du webhook</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7491983459027245019" datatype="html">
|
||||
<source>Use parameters for webhook body</source>
|
||||
@@ -6116,7 +6132,7 @@
|
||||
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
|
||||
<context context-type="linenumber">426</context>
|
||||
</context-group>
|
||||
<target state="translated">Corps du Webhook</target>
|
||||
<target state="translated">Corps du webhook</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3829826512656746316" datatype="html">
|
||||
<source>Webhook headers</source>
|
||||
@@ -6124,7 +6140,7 @@
|
||||
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
|
||||
<context context-type="linenumber">428</context>
|
||||
</context-group>
|
||||
<target state="translated">En-têtes Webhook</target>
|
||||
<target state="translated">En-têtes du webhook</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2114525789021600887" datatype="html">
|
||||
<source>Include document</source>
|
||||
@@ -6140,7 +6156,7 @@
|
||||
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
|
||||
<context context-type="linenumber">436,438</context>
|
||||
</context-group>
|
||||
<target state="translated"> Un mot de passe par ligne. Le workflow va les essayer dans l'ordre jusqu'à ce que l'un d'entre eux réussisse. </target>
|
||||
<target state="translated"> Un mot de passe par ligne. Le workflow les essaiera dans l'ordre jusqu'à ce qu'un réussisse. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3853121441237751087" datatype="html">
|
||||
<source>Passwords</source>
|
||||
@@ -7598,7 +7614,7 @@
|
||||
<context context-type="sourcefile">src/app/components/common/share-link-bundle-manage-dialog/share-link-bundle-manage-dialog.component.html</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">View error details</target>
|
||||
<target state="translated">Afficher les détails de l'erreur</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2057574872309338088" datatype="html">
|
||||
<source>Copy share link</source>
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">Filtrer par propriétaire</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Oui</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html" approved="yes">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8656,7 +8660,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
|
||||
<context context-type="linenumber">318</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Original SHA256 checksum</target>
|
||||
<target state="translated">Somme de contrôle SHA256 de l'original</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="5888243105821763422" datatype="html" approved="yes">
|
||||
<source>Original file size</source>
|
||||
@@ -8680,7 +8684,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
|
||||
<context context-type="linenumber">331</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Archive SHA256 checksum</target>
|
||||
<target state="translated">Somme de contrôle SHA256 de l'archive</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6033581412811562084" datatype="html" approved="yes">
|
||||
<source>Archive file size</source>
|
||||
@@ -8736,7 +8740,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
|
||||
<context context-type="linenumber">407</context>
|
||||
</context-group>
|
||||
<target state="translated">Documents en double détectés:</target>
|
||||
<target state="translated">Documents en double détectés :</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="14058600336670816" datatype="html">
|
||||
<source>In trash</source>
|
||||
@@ -8932,7 +8936,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
|
||||
<context context-type="linenumber">1271</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Error saving document "<x id="PH" equiv-text="this.document().title"/>"</target>
|
||||
<target state="translated">Erreur lors de la sauvegarde du document "<x id="PH" equiv-text="this.document().title"/>"</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="448882439049417053" datatype="html" approved="yes">
|
||||
<source>Error saving document</source>
|
||||
@@ -9228,7 +9232,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.ts</context>
|
||||
<context context-type="linenumber">224</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Missing task ID.</target>
|
||||
<target state="translated">ID de tâche manquant.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="205445381296663832" datatype="html">
|
||||
<source>Upload failed.</source>
|
||||
@@ -9248,7 +9252,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.ts</context>
|
||||
<context context-type="linenumber">274</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Error uploading new version</target>
|
||||
<target state="translated">Erreur lors du téléversement de la nouvelle version</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6299008920007331381" datatype="html" approved="yes">
|
||||
<source>Edit:</source>
|
||||
@@ -10275,7 +10279,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
||||
<context context-type="linenumber">212</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Custom fields (Deprecated)</target>
|
||||
<target state="translated">Champs personnalisés (Obsolète)</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2649431021108393503" datatype="html" approved="yes">
|
||||
<source>More like</source>
|
||||
@@ -10411,7 +10415,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
||||
<context context-type="linenumber">332</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Title & content: <x id="PH" equiv-text="rule.value"/></target>
|
||||
<target state="translated">Titre & contenu : <x id="PH" equiv-text="rule.value"/></target>
|
||||
</trans-unit>
|
||||
<trans-unit id="1872523635812236432" datatype="html" approved="yes">
|
||||
<source>ASN: <x id="PH" equiv-text="rule.value"/></source>
|
||||
@@ -10935,7 +10939,7 @@
|
||||
<context context-type="sourcefile">src/app/components/manage/document-attributes/management-list/management-list.component.ts</context>
|
||||
<context context-type="linenumber">453</context>
|
||||
</context-group>
|
||||
<target state="translated">Cette action effacera définitivement les <x id="PH" equiv-text="this.typeNamePlural"/> documents sélectionnés.</target>
|
||||
<target state="translated">Cette action supprimera définitivement les <x id="PH" equiv-text="this.typeNamePlural"/> documents sélectionnés.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="5897787932098828336" datatype="html">
|
||||
<source>Objects deleted successfully</source>
|
||||
@@ -12180,7 +12184,7 @@
|
||||
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
|
||||
<context context-type="linenumber">365</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">LLM Request Timeout</target>
|
||||
<target state="translated">Délai d'attente des requêtes LLM</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="483994032066441287" datatype="html">
|
||||
<source>Timeout in seconds for LLM requests.</source>
|
||||
@@ -12188,7 +12192,7 @@
|
||||
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
|
||||
<context context-type="linenumber">369</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Timeout in seconds for LLM requests.</target>
|
||||
<target state="translated">Délai d'attente en secondes pour les requêtes LLM.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="9155387182259025015" datatype="html">
|
||||
<source>Processing</source>
|
||||
@@ -12770,7 +12774,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="final">La migration des paramètres vers la base de données a été effectuée avec succès !</target>
|
||||
</trans-unit>
|
||||
@@ -12778,7 +12782,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="final">Impossible de migrer les paramètres vers la base de données, veuillez essayer d’enregistrer manuellement.</target>
|
||||
</trans-unit>
|
||||
@@ -12786,7 +12790,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="final">Vous pouvez recommencer la visite depuis les paramètres.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">הרשאות ברירת מחדל</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated"> ההגדרות חלות על חשבון משתמש זה עבור אובייקטים (תגים, כללי דואר וכו'. אבל לא מסמכים) שנוצרו באמצעות ממשק המשתמש באינטרנט. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">ניקוי</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">כן</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">סינון לפי בעלים</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">כן</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12770,7 +12774,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">הושלמה בהצלחה העברה חד פעמית של הגדרות למסד הנתונים!</target>
|
||||
</trans-unit>
|
||||
@@ -12778,7 +12782,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">לא ניתן לבצע העברה של הגדרות למסד הנתונים, נסה לשמור באופן ידני.</target>
|
||||
</trans-unit>
|
||||
@@ -12786,7 +12790,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">You can restart the tour from the settings page.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Default Permissions</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Clear</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Yes</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Filter by owner</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Yes</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Successfully completed one-time migratration of settings to the database!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Unable to migrate settings to the database, please try saving manually.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">You can restart the tour from the settings page.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Zadane ovlasti</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated">Postavke se primjenjuju na ovaj korisnički račun za objekte (oznake, pravila pošte, itd. ali ne i dokumente) stvorene putem web sučelja.</target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">Očisti</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Da</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">Filtriraj po vlasniku</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Da</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">Jednokratna migracija postavki u bazu podataka uspješno završena!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">Nije moguće migrirati postavke u bazu podataka, pokušajte ručno spremiti.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">Možete ponovo pokrenuti obilazak sa stranice postavki.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Alapértelmezett engedélyek</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated"> A beállítások erre a felhasználói fiókra vonatkoznak a webes felületen létrehozott objektumok (címkék, levelezési szabályok stb. de nem a dokumentumok) esetében. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">Törlés</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Igen</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">Szűrés tulajdonos szerint</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Igen</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">Sikeresen befejeződött a beállítások egyszeri migrálása az adatbázisba!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">Nem sikerült a beállításokat az adatbázisba migrálni, kérjük, próbálja meg manuálisan menteni.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">A túrát a beállítások oldalról indíthatja újra.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Izin bawaan</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated"> Pengaturan berlaku untuk akun pengguna ini pada objek (Tag, Aturan Email, dsb. namun bukan dokumen) yang dibuat lewat antarmuka web. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">Bersihkan</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Ya</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">Saring berdasarkan pemilik</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Ya</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12770,7 +12774,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">Berhasil menyelesaikan migrasi pengaturan satu kali ke basis data!</target>
|
||||
</trans-unit>
|
||||
@@ -12778,7 +12782,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">Tidak dapat memigrasikan pengaturan ke basis data, silakan coba simpan secara manual.</target>
|
||||
</trans-unit>
|
||||
@@ -12786,7 +12790,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">Anda dapat memulai ulang tur dari halaman pengaturan.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Autorizzazioni predefinite</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated"> Le impostazioni si applicano a questo account utente per gli oggetti (tag, regole di posta, ecc. ma non documenti) creati tramite l'interfaccia utente web. </target>
|
||||
<target state="translated"> Le impostazioni si applicano a questo account utente per oggetti (Tag, Regole postali, ecc.) creati tramite l'interfaccia utente web. Queste impostazioni non sono applicabili ai documenti. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="final">Pulisci</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Sì</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">Filtra per proprietario</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Sì</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -9716,7 +9720,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-card-small/document-card-small.component.html</context>
|
||||
<context context-type="linenumber">8</context>
|
||||
</context-group>
|
||||
<target state="needs-translation"><x id="INTERPOLATION" equiv-text="document().title | documentTitle }}"/> thumbnail</target>
|
||||
<target state="translated"><x id="INTERPOLATION" equiv-text="document().title | documentTitle }}"/> miniatura</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2784168796433474565" datatype="html" approved="yes">
|
||||
<source>Filter by tag</source>
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">Migrazione una tantum delle impostazioni al database completata con successo!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">Impossibile migrare le impostazioni nel database. Prova a salvarle manualmente.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">Puoi riavviare il tour dalla pagina delle impostazioni.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">デフォルト権限</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated"> 設定はWeb UI 経由で作成されたオブジェクト (タグ、メール ルールなど、ドキュメントは除く) に対してこのユーザー アカウントに適用されます。 </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">解除</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">はい</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">所有者で絞り込む</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">はい</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12770,7 +12774,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">データベースへのワンタイム設定移行が正常に完了しました!</target>
|
||||
</trans-unit>
|
||||
@@ -12778,7 +12782,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">データベースに設定を移行できません。手動で保存してみてください。</target>
|
||||
</trans-unit>
|
||||
@@ -12786,7 +12790,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">設定ページからツアーを再開することができます</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">기본 권한</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated"> 이 사용자 계정에는 웹 UI를 통해 만든 개체(문서가 아닌 태그, 메일 규칙 등)에 대한 설정이 적용됩니다 </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">지우기</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">예</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Filter by owner</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">예</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">데이터베이스에 대한 설정의 일회성 마이그레이션을 성공적으로 완료했습니다!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">설정을 데이터베이스로 마이그레이션할 수 없는 경우 수동으로 저장해 보세요.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">나중에 설정 페이지에서 다시 둘러보기를 할 수 있습니다.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Standardberechtegungen</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="final">Läschen</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Jo</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Filter by owner</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Jo</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html" approved="yes">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Successfully completed one-time migratration of settings to the database!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Unable to migrate settings to the database, please try saving manually.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">You can restart the tour from the settings page.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Default Permissions</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">Išvalyti</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Taip</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Filter by owner</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Taip</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">Nustatymų perkėlimas į duomenų bazę sėkmingai atliktas!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">Nepavyko perkelti nustatymų į duomenų bazę, pabandykite išsaugoti rankiniu būdu.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">Ekskursiją galite paleisti iš naujo nustatymų puslapyje.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Noklusētās atļaujas</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">Notīrīt</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Yes</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Filter by owner</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Yes</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Successfully completed one-time migratration of settings to the database!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Unable to migrate settings to the database, please try saving manually.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">You can restart the tour from the settings page.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Default Permissions</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Clear</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Yes</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Filter by owner</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Yes</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Successfully completed one-time migratration of settings to the database!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Unable to migrate settings to the database, please try saving manually.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">You can restart the tour from the settings page.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Default Permissions</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Clear</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Yes</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Filter by owner</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Yes</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Successfully completed one-time migratration of settings to the database!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Unable to migrate settings to the database, please try saving manually.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">You can restart the tour from the settings page.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Standaard rechten</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated"> Instellingen zijn van toepassing op dit account voor objecten (tags, mailregels, enz., maar niet op documenten) die via de webinterface zijn aangemaakt. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="final">Leegmaken</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Ja</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">Filter op eigenaar</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Ja</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html" approved="yes">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12770,7 +12774,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">Eenmalige migratie van instellingen naar de database is succesvol voltooid!</target>
|
||||
</trans-unit>
|
||||
@@ -12778,7 +12782,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">Kan instellingen niet migreren naar de database, probeer handmatig op te slaan.</target>
|
||||
</trans-unit>
|
||||
@@ -12786,7 +12790,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">Je kan de rondleiding herstarten vanaf de instellingen pagina.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Standardtillatelser</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated"> Innstillingene gjelder denne brukerkontoen for objekter (Merker, postregler, etc. men ikke dokumenter) opprettet via webgrensesnittet. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">Tøm</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Ja</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">Filtrer etter eier</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Ja</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">Engangs migrering av innstillinger ble fullført til databasen!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">Kunne ikke overføre innstillinger til databasen, prøv å lagre manuelt.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">Du kan starte omvisningen på nytt fra innstillingssiden.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Domyślnie uprawnienia</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated">Ustawienia dotyczą tego konta użytkownika dla obiektów (tagów, reguł poczty itd., ale nie dokumentów) tworzonych przez interfejs webowy.</target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="final">Wyczyść</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Tak</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">Filtruj wg właściciela</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Tak</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html" approved="yes">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12770,7 +12774,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">Pomyślnie zakończona jednorazowa migracja ustawień do bazy danych!</target>
|
||||
</trans-unit>
|
||||
@@ -12778,7 +12782,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">Nie można przenieść ustawień do bazy danych, spróbuj zapisać ręcznie.</target>
|
||||
</trans-unit>
|
||||
@@ -12786,7 +12790,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">Możesz ponownie uruchomić przegląd aplikacji ze strony ustawień.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Permissões Padrão</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated"> As configurações se aplicam a esta conta de usuário para objetos (Tags, Regras de Mail, etc. mas não para documentos) criados através da interface web. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="final">Limpar</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Sim</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8201,18 +8217,6 @@ Erro ao enviar documentos por e-mail</target>
|
||||
</context-group>
|
||||
<target state="translated">Filtrar por proprietário</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Sim</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html" approved="yes">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12772,7 +12776,7 @@ Erro ao enviar documentos por e-mail</target>
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">A migração de configurações para o banco de dados foi concluída com sucesso!</target>
|
||||
</trans-unit>
|
||||
@@ -12780,7 +12784,7 @@ Erro ao enviar documentos por e-mail</target>
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">Não foi possível migrar as configurações para o banco de dados, por favor tente salvar manualmente.</target>
|
||||
</trans-unit>
|
||||
@@ -12788,7 +12792,7 @@ Erro ao enviar documentos por e-mail</target>
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">Você pode reiniciar o tour na página de configurações..</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Permissões predefinidas</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated">As configurações se aplicam a esta conta de utilizador para objetos (Etiquetas, Regras de Mail, etc. mas não documentos) criados através da interface web.</target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="final">Limpar</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Sim</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Filter by owner</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Sim</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html" approved="yes">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">Terminado com sucesso a migração única das definições na base de dados!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">Incapaz de migrar as definições na base de dados, por favor, tente gravar manualmente.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">Pode reiniciar o tutorial através da página das Configurações.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Permisiuni implicite</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated"> Setările se aplică acestui cont de utilizator pentru obiecte (Etichete, Reguli de Mail etc. dar nu documente) create prin interfața web. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="final">Curăță</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Da</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">Filtrare după proprietar</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Da</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html" approved="yes">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12770,7 +12774,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">Migrarea unică a setărilor în baza de date a fost finalizată cu succes!</target>
|
||||
</trans-unit>
|
||||
@@ -12778,7 +12782,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">Nu s-a putut migra setările în baza de date. Te rugăm să încerci să le salvezi manual.</target>
|
||||
</trans-unit>
|
||||
@@ -12786,7 +12790,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">Poți reporni turul din pagina de setări.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Права по умолчанию</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated">Настройки применятся для этой учеткой записи к объектам (Теги, Почтовые правила, и т.д, но не к документам), созданным через Веб-интерфейс</target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="final">Очистить</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Да</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">Фильтровать по владельцу</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Да</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html" approved="yes">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12770,7 +12774,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">Одноразовая миграция настроек в базу данных завершена!</target>
|
||||
</trans-unit>
|
||||
@@ -12778,7 +12782,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">Не удается перенести настройки в базу данных, пожалуйста, попробуйте сохранить вручную.</target>
|
||||
</trans-unit>
|
||||
@@ -12786,7 +12790,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">Вы можете перезапустить тур со страницы настроек.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Predvolené povolenia</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">Vymazať</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Áno</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">Filtrovať podľa vlastníka</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Áno</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">Migrácia nastavení do databázy úspešne ukončená!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">Nie je možné migrovať nastavenia do databázy, skúste uložiť manuálne.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">Sprievodcu môžete znova spustiť z nastavení.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Privzeta dovoljenja</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated"> Nastavitve veljajo za ta uporabniški račun za objekte (oznake, pravila za pošto itd., ne pa za dokumente), ustvarjene prek spletnega uporabniškega vmesnika. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">Počisti</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Da</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">Filtriraj po lastniku</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Da</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">Uspešno opravljena enkratna migracija nastavitev v bazo!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">Nastavitev ni mogoče preseliti v bazo podatkov, poskusite jih shraniti ročno.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">Ogled lahko ponovite v nastavitvah.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1523,13 +1523,13 @@
|
||||
</context-group>
|
||||
<target state="translated">[SQ] Default Permissions</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated"> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3959,6 +3959,22 @@
|
||||
</context-group>
|
||||
<target state="translated">[SQ] Clear</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">[SQ] Yes</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8201,18 +8217,6 @@
|
||||
</context-group>
|
||||
<target state="translated">[SQ] Filter by owner</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">[SQ] Yes</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12772,7 +12776,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">[SQ] Successfully completed one-time migratration of settings to the database!</target>
|
||||
</trans-unit>
|
||||
@@ -12780,7 +12784,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">[SQ] Unable to migrate settings to the database, please try saving manually.</target>
|
||||
</trans-unit>
|
||||
@@ -12788,7 +12792,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">[SQ] You can restart the tour from the settings page.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Podrazumevane dozvole</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated"> Podešavanja se primenjuju na ovaj korisnički nalog za objekte (oznake, pravila za poštu i slično, ali ne i za dokumente) kreirane putem veb interfejsa. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">Očisti</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Da</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">Filtriraj po vlasniku</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Da</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12772,7 +12776,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">Uspešno završena jednokratna migracija podešavanja u bazu podataka!</target>
|
||||
</trans-unit>
|
||||
@@ -12780,7 +12784,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">Nije moguće preneti podešavanja u bazu podataka, pokušajte da ih sačuvate ručno.</target>
|
||||
</trans-unit>
|
||||
@@ -12788,7 +12792,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">Možete ponovo da pokrenete obilazak sa stranice sa podešavanjima.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Standardbehörigheter</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="final">Rensa</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Ja</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">Filtrera efter ägare</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Ja</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html" approved="yes">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">Slutförde engångsmigreringen av inställningarna till databasen!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">Kunde inte migrera inställningarna till databasen, försök spara manuellt.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">Du kan starta om rundturen från inställningssidan.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Default Permissions</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">ล้าง</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">ใช่</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="needs-translation">Filter by owner</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">ใช่</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Successfully completed one-time migratration of settings to the database!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Unable to migrate settings to the database, please try saving manually.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">You can restart the tour from the settings page.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Varsayılan İzinler</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated"> Ayarlar, web kullanıcı arayüzü üzerinden oluşturulan nesneler (Etiketler, Posta Kuralları vb., ancak belgeler hariç) bu kullanıcı hesabına uygulanır </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">Temizle</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Evet</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8202,18 +8218,6 @@ tüm <x id="CLOSE_EMPHASISED_TEXT" ctype="x-em" equiv-text="</em>"/> krite
|
||||
</context-group>
|
||||
<target state="translated">Sahibine göre filtrele</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Evet</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12772,7 +12776,7 @@ tüm <x id="CLOSE_EMPHASISED_TEXT" ctype="x-em" equiv-text="</em>"/> krite
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">Ayarların veritabanına tek seferlik taşıma işlemi başarıyla tamamlandı!</target>
|
||||
</trans-unit>
|
||||
@@ -12780,7 +12784,7 @@ tüm <x id="CLOSE_EMPHASISED_TEXT" ctype="x-em" equiv-text="</em>"/> krite
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">Ayarları veritabanına taşıyamıyoruz, lütfen manuel olarak kaydetmeyi deneyin.</target>
|
||||
</trans-unit>
|
||||
@@ -12788,7 +12792,7 @@ tüm <x id="CLOSE_EMPHASISED_TEXT" ctype="x-em" equiv-text="</em>"/> krite
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">Ayarlar sayfasından turu yeniden başlatabilirsiniz.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">Типові дозволи</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">Очистити</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Так</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">Фільтрувати за власником</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">Так</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">Успішно завершено одноразову міграцію параметрів до бази даних!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">Не вдається перенести налаштування в базу даних, спробуйте зберегти вручну.</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">Ви можете пройти знайомство ще раз зі сторінки налаштувань.</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,15 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="final">Phân quyền mặc định</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html" approved="yes">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="final">
|
||||
Cài đặt áp dụng cho tài khoản người dùng này cho các đối tượng (thẻ, quy tắc thư, v.v. nhưng không phải tài liệu) được tạo thông qua giao diện người dùng web.
|
||||
</target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html" approved="yes">
|
||||
<source>Default Owner</source>
|
||||
@@ -3978,6 +3976,22 @@
|
||||
</context-group>
|
||||
<target state="final">Xóa bỏ</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Đúng</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html" approved="yes">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8248,18 +8262,6 @@
|
||||
</context-group>
|
||||
<target state="final">Lọc theo chủ sở hữu</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html" approved="yes">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="final">Đúng</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html" approved="yes">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12907,7 +12909,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="final">quá trình cập nhật dữ liệu cấu hình</target>
|
||||
</trans-unit>
|
||||
@@ -12915,7 +12917,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="final">cập nhật dữ liệu cấu hình</target>
|
||||
</trans-unit>
|
||||
@@ -12923,7 +12925,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="final">khởi động lại hướng dẫn nhanh</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">默认权限</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated"> 对于通过网页界面创建的对象 (标签、邮件规则等,但不包括文档),这些设置将应用于此用户帐户。 </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">清除</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">是</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">按所有者筛选</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">是</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">成功完成设置一次性迁移到数据库!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">无法将设置迁移到数据库,请尝试手动保存。</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">你可以从设置页面重新开始导览。</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1522,13 +1522,13 @@
|
||||
</context-group>
|
||||
<target state="translated">預設權限</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6544153565064275581" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc. but not documents) created via the web UI. </source>
|
||||
<trans-unit id="1267490156259885391" datatype="html">
|
||||
<source> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="translated"> 此設定將套用至該使用者帳號,適用於透過網頁介面建立的項目(標籤、郵件規則等,但不包含文件)。 </target>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -3958,6 +3958,22 @@
|
||||
</context-group>
|
||||
<target state="translated">清除</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">是</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7515883357904500238" datatype="html">
|
||||
<source>Are you sure?</source>
|
||||
<context-group purpose="location">
|
||||
@@ -8200,18 +8216,6 @@
|
||||
</context-group>
|
||||
<target state="translated">以擁有者篩選</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2807800733729323332" datatype="html">
|
||||
<source>Yes</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
|
||||
<context context-type="linenumber">102</context>
|
||||
</context-group>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
|
||||
<context context-type="linenumber">386</context>
|
||||
</context-group>
|
||||
<target state="translated">是</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3542042671420335679" datatype="html">
|
||||
<source>No</source>
|
||||
<context-group purpose="location">
|
||||
@@ -12771,7 +12775,7 @@
|
||||
<source>Successfully completed one-time migratration of settings to the database!</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
<context context-type="linenumber">635</context>
|
||||
</context-group>
|
||||
<target state="translated">設定值已成功移轉到資料庫!</target>
|
||||
</trans-unit>
|
||||
@@ -12779,7 +12783,7 @@
|
||||
<source>Unable to migrate settings to the database, please try saving manually.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">637</context>
|
||||
<context context-type="linenumber">636</context>
|
||||
</context-group>
|
||||
<target state="translated">無法將設定遷移至資料庫,請嘗試手動儲存。</target>
|
||||
</trans-unit>
|
||||
@@ -12787,7 +12791,7 @@
|
||||
<source>You can restart the tour from the settings page.</source>
|
||||
<context-group purpose="location">
|
||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||
<context context-type="linenumber">709</context>
|
||||
<context context-type="linenumber">708</context>
|
||||
</context-group>
|
||||
<target state="translated">可以從設定頁面重新開始導覽。</target>
|
||||
</trans-unit>
|
||||
|
||||
@@ -1,342 +0,0 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import abc
|
||||
import hashlib
|
||||
import json
|
||||
import os
|
||||
import shutil
|
||||
import tempfile
|
||||
import zipfile
|
||||
from contextlib import AbstractContextManager
|
||||
from contextlib import contextmanager
|
||||
from pathlib import Path
|
||||
from pathlib import PurePosixPath
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from django.conf import settings
|
||||
from django.core.serializers.json import DjangoJSONEncoder
|
||||
|
||||
from documents.file_handling import delete_empty_directories
|
||||
from documents.utils import compute_checksum
|
||||
from documents.utils import copy_file_with_basic_stats
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from collections.abc import Iterator
|
||||
from typing import TextIO
|
||||
|
||||
|
||||
def _dumps(content: list | dict) -> str:
|
||||
"""Serialize export JSON consistently across all sinks."""
|
||||
return json.dumps(content, cls=DjangoJSONEncoder, indent=2, ensure_ascii=False)
|
||||
|
||||
|
||||
class StreamingManifestWriter:
|
||||
"""Incrementally writes a JSON array to a text handle, one record at a time.
|
||||
|
||||
Knows nothing about folders or zips: it writes the array framing and records
|
||||
to whatever handle the sink's ``stream()`` yields. The sink owns the handle's
|
||||
lifecycle (atomic rename, compare, spooling).
|
||||
"""
|
||||
|
||||
def __init__(self, handle: TextIO) -> None:
|
||||
self._file = handle
|
||||
self._first = True
|
||||
self._file.write("[")
|
||||
|
||||
def write_record(self, record: dict) -> None:
|
||||
if not self._first:
|
||||
self._file.write(",\n")
|
||||
else:
|
||||
self._first = False
|
||||
self._file.write(_dumps(record))
|
||||
|
||||
def write_batch(self, records: list[dict]) -> None:
|
||||
for record in records:
|
||||
self.write_record(record)
|
||||
|
||||
def close(self) -> None:
|
||||
"""Write the closing bracket. Does NOT close the handle (the sink owns it)."""
|
||||
self._file.write("\n]")
|
||||
|
||||
|
||||
class ExportSink(AbstractContextManager, abc.ABC):
|
||||
"""Destination for a document export.
|
||||
|
||||
The command declares export contents via three verbs; the sink decides how to
|
||||
persist each. ``arcname`` is always a relative POSIX path
|
||||
(e.g. ``"manifest.json"``, ``"originals/foo.pdf"``).
|
||||
|
||||
Contract:
|
||||
* At most one ``stream()`` open at a time (it is the manifest);
|
||||
``add_file``/``add_json`` may be called while it is open.
|
||||
* Context-manager: normal exit finalizes, an exception aborts. No partial or
|
||||
failed run leaves a complete-looking artifact.
|
||||
"""
|
||||
|
||||
@abc.abstractmethod
|
||||
def add_file(
|
||||
self,
|
||||
source: Path,
|
||||
arcname: str,
|
||||
*,
|
||||
checksum: str | None = None,
|
||||
) -> None: ...
|
||||
|
||||
@abc.abstractmethod
|
||||
def add_json(self, content: list | dict, arcname: str) -> None: ...
|
||||
|
||||
@abc.abstractmethod
|
||||
def stream(self, arcname: str) -> AbstractContextManager[TextIO]: ...
|
||||
|
||||
def _open(self) -> None:
|
||||
"""Hook called on context entry. Override as needed."""
|
||||
|
||||
@abc.abstractmethod
|
||||
def _finalize(self) -> None:
|
||||
"""Commit on clean exit."""
|
||||
|
||||
@abc.abstractmethod
|
||||
def _abort(self) -> None:
|
||||
"""Roll back on exception."""
|
||||
|
||||
def __enter__(self) -> ExportSink:
|
||||
self._open()
|
||||
return self
|
||||
|
||||
def __exit__(self, exc_type, exc_val, exc_tb) -> None:
|
||||
if exc_type is not None:
|
||||
self._abort()
|
||||
else:
|
||||
self._finalize()
|
||||
|
||||
|
||||
class DirectoryExportSink(ExportSink):
|
||||
"""Writes loose files into a target directory, with incremental sync.
|
||||
|
||||
Owns the snapshot/skip/compare/prune machinery that used to live in the
|
||||
command (``files_in_export_dir``, ``check_and_copy``, ``check_and_write_json``,
|
||||
and the ``--delete`` pass).
|
||||
"""
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
target: Path,
|
||||
*,
|
||||
compare_checksums: bool,
|
||||
compare_json: bool,
|
||||
delete: bool,
|
||||
) -> None:
|
||||
self._target = target.resolve()
|
||||
self._compare_checksums = compare_checksums
|
||||
self._compare_json = compare_json
|
||||
self._delete = delete
|
||||
self._snapshot: set[Path] = set()
|
||||
self._stream_open = False
|
||||
|
||||
def _open(self) -> None:
|
||||
for x in self._target.glob("**/*"):
|
||||
if x.is_file():
|
||||
self._snapshot.add(x.resolve())
|
||||
|
||||
def add_file(
|
||||
self,
|
||||
source: Path,
|
||||
arcname: str,
|
||||
*,
|
||||
checksum: str | None = None,
|
||||
) -> None:
|
||||
target = (self._target / arcname).resolve()
|
||||
self._snapshot.discard(target)
|
||||
perform_copy = False
|
||||
if target.exists():
|
||||
source_stat = source.stat()
|
||||
target_stat = target.stat()
|
||||
if self._compare_checksums and checksum:
|
||||
perform_copy = compute_checksum(target) != checksum
|
||||
elif (
|
||||
source_stat.st_mtime != target_stat.st_mtime
|
||||
or source_stat.st_size != target_stat.st_size
|
||||
):
|
||||
perform_copy = True
|
||||
else:
|
||||
perform_copy = True
|
||||
if perform_copy:
|
||||
target.parent.mkdir(parents=True, exist_ok=True)
|
||||
copy_file_with_basic_stats(source, target)
|
||||
|
||||
@staticmethod
|
||||
def _content_unchanged(target: Path, new_bytes: bytes) -> bool:
|
||||
"""True if ``target`` already holds byte-identical content (BLAKE2b)."""
|
||||
return (
|
||||
hashlib.blake2b(target.read_bytes()).hexdigest()
|
||||
== hashlib.blake2b(new_bytes).hexdigest()
|
||||
)
|
||||
|
||||
def add_json(self, content: list | dict, arcname: str) -> None:
|
||||
target = (self._target / arcname).resolve()
|
||||
json_str = _dumps(content)
|
||||
perform_write = True
|
||||
if target in self._snapshot:
|
||||
self._snapshot.discard(target)
|
||||
if self._compare_json and self._content_unchanged(
|
||||
target,
|
||||
json_str.encode("utf-8"),
|
||||
):
|
||||
perform_write = False
|
||||
if perform_write:
|
||||
target.parent.mkdir(parents=True, exist_ok=True)
|
||||
target.write_text(json_str, encoding="utf-8")
|
||||
|
||||
@contextmanager
|
||||
def stream(self, arcname: str) -> Iterator[TextIO]:
|
||||
if self._stream_open:
|
||||
raise RuntimeError("A stream is already open on this sink")
|
||||
target = (self._target / arcname).resolve()
|
||||
tmp = target.with_suffix(target.suffix + ".tmp")
|
||||
target.parent.mkdir(parents=True, exist_ok=True)
|
||||
handle = tmp.open("w", encoding="utf-8")
|
||||
self._stream_open = True
|
||||
try:
|
||||
yield handle
|
||||
except BaseException:
|
||||
handle.close()
|
||||
tmp.unlink(missing_ok=True)
|
||||
raise
|
||||
else:
|
||||
handle.close()
|
||||
self._commit_streamed_file(target, tmp)
|
||||
finally:
|
||||
self._stream_open = False
|
||||
|
||||
def _commit_streamed_file(self, target: Path, tmp: Path) -> None:
|
||||
if target in self._snapshot:
|
||||
self._snapshot.discard(target)
|
||||
if self._compare_json and self._content_unchanged(
|
||||
target,
|
||||
tmp.read_bytes(),
|
||||
):
|
||||
tmp.unlink()
|
||||
return
|
||||
tmp.rename(target)
|
||||
|
||||
def _finalize(self) -> None:
|
||||
if self._delete:
|
||||
for f in self._snapshot:
|
||||
f.unlink()
|
||||
delete_empty_directories(f.parent, self._target)
|
||||
|
||||
def _abort(self) -> None:
|
||||
# Folder mode is in-place/incremental: streamed .tmp files are already
|
||||
# cleaned in stream(); leave everything else intact and skip the prune.
|
||||
return None
|
||||
|
||||
|
||||
class ZipExportSink(ExportSink):
|
||||
"""Writes a single zip archive, produced atomically only on success.
|
||||
|
||||
Builds into ``<target>/<zip_name>.zip.tmp`` and renames to ``.zip`` on clean
|
||||
finalize. The manifest stream is spooled to a temp file in SCRATCH_DIR and
|
||||
added as an entry at finalize (a zip entry cannot be interleaved with others).
|
||||
"""
|
||||
|
||||
def __init__(self, target: Path, zip_name: str, *, delete: bool = False) -> None:
|
||||
self._target = target.resolve()
|
||||
self._zip_path = (self._target / zip_name).with_suffix(".zip")
|
||||
self._tmp_path = self._zip_path.with_name(self._zip_path.name + ".tmp")
|
||||
self._delete = delete
|
||||
self._zip: zipfile.ZipFile | None = None
|
||||
self._dirs: set[str] = set()
|
||||
self._pending_manifest: tuple[Path, str] | None = None
|
||||
self._stream_open = False
|
||||
|
||||
def _open(self) -> None:
|
||||
settings.SCRATCH_DIR.mkdir(parents=True, exist_ok=True)
|
||||
self._zip = zipfile.ZipFile(
|
||||
self._tmp_path,
|
||||
"w",
|
||||
compression=zipfile.ZIP_DEFLATED,
|
||||
allowZip64=True,
|
||||
)
|
||||
|
||||
def _ensure_dirs(self, arcname: str) -> None:
|
||||
assert self._zip is not None
|
||||
dir_arc = ""
|
||||
for part in PurePosixPath(arcname).parts[:-1]:
|
||||
dir_arc += f"{part}/"
|
||||
if dir_arc not in self._dirs:
|
||||
self._dirs.add(dir_arc)
|
||||
self._zip.mkdir(dir_arc)
|
||||
|
||||
def add_file(
|
||||
self,
|
||||
source: Path,
|
||||
arcname: str,
|
||||
*,
|
||||
checksum: str | None = None,
|
||||
) -> None:
|
||||
assert self._zip is not None
|
||||
self._ensure_dirs(arcname)
|
||||
self._zip.write(source, arcname=arcname)
|
||||
|
||||
def add_json(self, content: list | dict, arcname: str) -> None:
|
||||
assert self._zip is not None
|
||||
self._ensure_dirs(arcname)
|
||||
self._zip.writestr(arcname, _dumps(content))
|
||||
|
||||
@contextmanager
|
||||
def stream(self, arcname: str) -> Iterator[TextIO]:
|
||||
if self._stream_open:
|
||||
raise RuntimeError("A stream is already open on this sink")
|
||||
settings.SCRATCH_DIR.mkdir(parents=True, exist_ok=True)
|
||||
fd, tmp_name = tempfile.mkstemp(
|
||||
dir=settings.SCRATCH_DIR,
|
||||
prefix="export-manifest-",
|
||||
suffix=".json",
|
||||
)
|
||||
tmp = Path(tmp_name)
|
||||
handle = os.fdopen(fd, "w", encoding="utf-8")
|
||||
self._stream_open = True
|
||||
try:
|
||||
yield handle
|
||||
except BaseException:
|
||||
handle.close()
|
||||
tmp.unlink(missing_ok=True)
|
||||
raise
|
||||
else:
|
||||
handle.close()
|
||||
self._pending_manifest = (tmp, arcname)
|
||||
finally:
|
||||
self._stream_open = False
|
||||
|
||||
def _finalize(self) -> None:
|
||||
assert self._zip is not None
|
||||
if self._pending_manifest is not None:
|
||||
tmp, arcname = self._pending_manifest
|
||||
self._ensure_dirs(arcname)
|
||||
self._zip.write(tmp, arcname=arcname)
|
||||
tmp.unlink(missing_ok=True)
|
||||
self._pending_manifest = None
|
||||
self._zip.close()
|
||||
self._zip = None
|
||||
if self._delete:
|
||||
self._wipe_destination()
|
||||
self._tmp_path.replace(self._zip_path)
|
||||
|
||||
def _wipe_destination(self) -> None:
|
||||
skip = {self._zip_path.resolve(), self._tmp_path.resolve()}
|
||||
for item in self._target.glob("*"):
|
||||
if item.resolve() in skip:
|
||||
continue
|
||||
if item.is_dir():
|
||||
shutil.rmtree(item)
|
||||
else:
|
||||
item.unlink()
|
||||
|
||||
def _abort(self) -> None:
|
||||
if self._zip is not None:
|
||||
self._zip.close()
|
||||
self._zip = None
|
||||
self._tmp_path.unlink(missing_ok=True)
|
||||
if self._pending_manifest is not None:
|
||||
self._pending_manifest[0].unlink(missing_ok=True)
|
||||
self._pending_manifest = None
|
||||
@@ -161,7 +161,9 @@ class ObjectFilter(Filter):
|
||||
class InboxFilter(Filter):
|
||||
def filter(self, qs, value):
|
||||
if value == "true":
|
||||
return qs.filter(tags__is_inbox_tag=True)
|
||||
# A document can have more than one tag flagged as an inbox tag
|
||||
# (nothing enforces uniqueness), so this join can multiply rows.
|
||||
return qs.filter(tags__is_inbox_tag=True).distinct()
|
||||
elif value == "false":
|
||||
return qs.exclude(tags__is_inbox_tag=True)
|
||||
else:
|
||||
@@ -268,6 +270,10 @@ class CustomFieldsFilter(Filter):
|
||||
for _, option in enumerate(options):
|
||||
if option.get("label").lower().find(value.lower()) != -1:
|
||||
option_ids.extend([option.get("id")])
|
||||
# A document with multiple custom field instances can match more
|
||||
# than one of these OR-ed branches (or the same branch via
|
||||
# different fields), each via its own join to custom_fields --
|
||||
# dedupe explicitly rather than relying on the caller to.
|
||||
return (
|
||||
qs.filter(custom_fields__field__name__icontains=value)
|
||||
| qs.filter(custom_fields__value_text__icontains=value)
|
||||
@@ -280,7 +286,7 @@ class CustomFieldsFilter(Filter):
|
||||
| qs.filter(custom_fields__value_document_ids__icontains=value)
|
||||
| qs.filter(custom_fields__value_select__in=option_ids)
|
||||
| qs.filter(custom_fields__value_long_text__icontains=value)
|
||||
)
|
||||
).distinct()
|
||||
else:
|
||||
return qs
|
||||
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
import hashlib
|
||||
import json
|
||||
import os
|
||||
import shutil
|
||||
import tempfile
|
||||
from itertools import islice
|
||||
from pathlib import Path
|
||||
from typing import TYPE_CHECKING
|
||||
@@ -15,6 +19,7 @@ from django.contrib.auth.models import User
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.core import serializers
|
||||
from django.core.management.base import CommandError
|
||||
from django.core.serializers.json import DjangoJSONEncoder
|
||||
from django.db import transaction
|
||||
from django.utils import timezone
|
||||
from filelock import FileLock
|
||||
@@ -29,10 +34,7 @@ if TYPE_CHECKING:
|
||||
if settings.AUDIT_LOG_ENABLED:
|
||||
from auditlog.models import LogEntry
|
||||
|
||||
from documents.export.sinks import DirectoryExportSink
|
||||
from documents.export.sinks import ExportSink
|
||||
from documents.export.sinks import StreamingManifestWriter
|
||||
from documents.export.sinks import ZipExportSink
|
||||
from documents.file_handling import delete_empty_directories
|
||||
from documents.file_handling import generate_filename
|
||||
from documents.management.commands.base import PaperlessCommand
|
||||
from documents.management.commands.mixins import CryptMixin
|
||||
@@ -58,6 +60,8 @@ from documents.settings import EXPORTER_ARCHIVE_NAME
|
||||
from documents.settings import EXPORTER_FILE_NAME
|
||||
from documents.settings import EXPORTER_SHARE_LINK_BUNDLE_NAME
|
||||
from documents.settings import EXPORTER_THUMBNAIL_NAME
|
||||
from documents.utils import compute_checksum
|
||||
from documents.utils import copy_file_with_basic_stats
|
||||
from paperless import version
|
||||
from paperless.models import ApplicationConfiguration
|
||||
from paperless_mail.models import MailAccount
|
||||
@@ -80,6 +84,87 @@ def serialize_queryset_batched(
|
||||
yield serializers.serialize("python", chunk)
|
||||
|
||||
|
||||
class StreamingManifestWriter:
|
||||
"""Incrementally writes a JSON array to a file, one record at a time.
|
||||
|
||||
Writes to <target>.tmp first; on close(), optionally BLAKE2b-compares
|
||||
with the existing file (--compare-json) and renames or discards accordingly.
|
||||
On exception, discard() deletes the tmp file and leaves the original intact.
|
||||
"""
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
path: Path,
|
||||
*,
|
||||
compare_json: bool = False,
|
||||
files_in_export_dir: "set[Path] | None" = None,
|
||||
) -> None:
|
||||
self._path = path.resolve()
|
||||
self._tmp_path = self._path.with_suffix(self._path.suffix + ".tmp")
|
||||
self._compare_json = compare_json
|
||||
self._files_in_export_dir: set[Path] = (
|
||||
files_in_export_dir if files_in_export_dir is not None else set()
|
||||
)
|
||||
self._file = None
|
||||
self._first = True
|
||||
|
||||
def open(self) -> None:
|
||||
self._path.parent.mkdir(parents=True, exist_ok=True)
|
||||
self._file = self._tmp_path.open("w", encoding="utf-8")
|
||||
self._file.write("[")
|
||||
self._first = True
|
||||
|
||||
def write_record(self, record: dict) -> None:
|
||||
if not self._first:
|
||||
self._file.write(",\n")
|
||||
else:
|
||||
self._first = False
|
||||
self._file.write(
|
||||
json.dumps(record, cls=DjangoJSONEncoder, indent=2, ensure_ascii=False),
|
||||
)
|
||||
|
||||
def write_batch(self, records: list[dict]) -> None:
|
||||
for record in records:
|
||||
self.write_record(record)
|
||||
|
||||
def close(self) -> None:
|
||||
if self._file is None:
|
||||
return
|
||||
self._file.write("\n]")
|
||||
self._file.close()
|
||||
self._file = None
|
||||
self._finalize()
|
||||
|
||||
def discard(self) -> None:
|
||||
if self._file is not None:
|
||||
self._file.close()
|
||||
self._file = None
|
||||
if self._tmp_path.exists():
|
||||
self._tmp_path.unlink()
|
||||
|
||||
def _finalize(self) -> None:
|
||||
"""Compare with existing file (if --compare-json) then rename or discard tmp."""
|
||||
if self._path in self._files_in_export_dir:
|
||||
self._files_in_export_dir.remove(self._path)
|
||||
if self._compare_json:
|
||||
existing_hash = hashlib.blake2b(self._path.read_bytes()).hexdigest()
|
||||
new_hash = hashlib.blake2b(self._tmp_path.read_bytes()).hexdigest()
|
||||
if existing_hash == new_hash:
|
||||
self._tmp_path.unlink()
|
||||
return
|
||||
self._tmp_path.rename(self._path)
|
||||
|
||||
def __enter__(self) -> "StreamingManifestWriter":
|
||||
self.open()
|
||||
return self
|
||||
|
||||
def __exit__(self, exc_type, exc_val, exc_tb) -> None:
|
||||
if exc_type is not None:
|
||||
self.discard()
|
||||
else:
|
||||
self.close()
|
||||
|
||||
|
||||
class Command(CryptMixin, PaperlessCommand):
|
||||
help = (
|
||||
"Decrypt and rename all files in our collection into a given target "
|
||||
@@ -229,13 +314,20 @@ class Command(CryptMixin, PaperlessCommand):
|
||||
self.passphrase: str | None = options.get("passphrase")
|
||||
self.batch_size: int = options["batch_size"]
|
||||
|
||||
self.files_in_export_dir: set[Path] = set()
|
||||
self.exported_files: set[str] = set()
|
||||
|
||||
if self.zip_export and (self.compare_checksums or self.compare_json):
|
||||
raise CommandError(
|
||||
"--compare-checksums and --compare-json have no effect when "
|
||||
"used with --zip",
|
||||
# If zipping, save the original target for later and
|
||||
# get a temporary directory for the target instead
|
||||
temp_dir = None
|
||||
self.original_target = self.target
|
||||
if self.zip_export:
|
||||
settings.SCRATCH_DIR.mkdir(parents=True, exist_ok=True)
|
||||
temp_dir = tempfile.TemporaryDirectory(
|
||||
dir=settings.SCRATCH_DIR,
|
||||
prefix="paperless-export",
|
||||
)
|
||||
self.target = Path(temp_dir.name).resolve()
|
||||
|
||||
if not self.target.exists():
|
||||
raise CommandError("That path doesn't exist")
|
||||
@@ -246,28 +338,33 @@ class Command(CryptMixin, PaperlessCommand):
|
||||
if not os.access(self.target, os.W_OK):
|
||||
raise CommandError("That path doesn't appear to be writable")
|
||||
|
||||
sink: ExportSink
|
||||
if self.zip_export:
|
||||
sink = ZipExportSink(
|
||||
self.target,
|
||||
options["zip_name"],
|
||||
delete=self.delete,
|
||||
)
|
||||
else:
|
||||
sink = DirectoryExportSink(
|
||||
self.target,
|
||||
compare_checksums=self.compare_checksums,
|
||||
compare_json=self.compare_json,
|
||||
delete=self.delete,
|
||||
)
|
||||
try:
|
||||
# Prevent any ongoing changes in the documents
|
||||
with FileLock(settings.MEDIA_LOCK):
|
||||
self.dump()
|
||||
|
||||
# Prevent any ongoing changes in the documents while exporting
|
||||
with FileLock(settings.MEDIA_LOCK), sink:
|
||||
self.dump(sink)
|
||||
# We've written everything to the temporary directory in this case,
|
||||
# now make an archive in the original target, with all files stored
|
||||
if self.zip_export and temp_dir is not None:
|
||||
shutil.make_archive(
|
||||
self.original_target / options["zip_name"],
|
||||
format="zip",
|
||||
root_dir=temp_dir.name,
|
||||
)
|
||||
|
||||
def dump(self, sink: ExportSink) -> None:
|
||||
# 1. Create manifest, containing all correspondents, types, tags, storage
|
||||
# paths, note, documents and ui_settings
|
||||
finally:
|
||||
# Always cleanup the temporary directory, if one was created
|
||||
if self.zip_export and temp_dir is not None:
|
||||
temp_dir.cleanup()
|
||||
|
||||
def dump(self) -> None:
|
||||
# 1. Take a snapshot of what files exist in the current export folder
|
||||
for x in self.target.glob("**/*"):
|
||||
if x.is_file():
|
||||
self.files_in_export_dir.add(x.resolve())
|
||||
|
||||
# 2. Create manifest, containing all correspondents, types, tags, storage paths
|
||||
# note, documents and ui_settings
|
||||
_excluded_usernames = ["consumer", "AnonymousUser"]
|
||||
manifest_key_to_object_query: dict[str, QuerySet[Any]] = {
|
||||
"correspondents": Correspondent.objects.all(),
|
||||
@@ -330,9 +427,13 @@ class Command(CryptMixin, PaperlessCommand):
|
||||
|
||||
document_manifest: list[dict] = []
|
||||
share_link_bundle_manifest: list[dict] = []
|
||||
manifest_path = (self.target / "manifest.json").resolve()
|
||||
|
||||
with sink.stream("manifest.json") as handle:
|
||||
writer = StreamingManifestWriter(handle)
|
||||
with StreamingManifestWriter(
|
||||
manifest_path,
|
||||
compare_json=self.compare_json,
|
||||
files_in_export_dir=self.files_in_export_dir,
|
||||
) as writer:
|
||||
with transaction.atomic():
|
||||
for key, qs in manifest_key_to_object_query.items():
|
||||
if key == "documents":
|
||||
@@ -378,55 +479,84 @@ class Command(CryptMixin, PaperlessCommand):
|
||||
)
|
||||
}
|
||||
|
||||
# 2. Export files from each document
|
||||
for document_dict in self.track(
|
||||
document_manifest,
|
||||
description="Exporting documents...",
|
||||
total=len(document_manifest),
|
||||
# 3. Export files from each document
|
||||
for index, document_dict in enumerate(
|
||||
self.track(
|
||||
document_manifest,
|
||||
description="Exporting documents...",
|
||||
total=len(document_manifest),
|
||||
),
|
||||
):
|
||||
document = document_map[document_dict["pk"]]
|
||||
|
||||
# generate a unique filename, then the arcnames for its files
|
||||
# 3.1. generate a unique filename
|
||||
base_name = self.generate_base_name(document)
|
||||
original_arc, thumbnail_arc, archive_arc = (
|
||||
|
||||
# 3.2. write filenames into manifest
|
||||
original_target, thumbnail_target, archive_target = (
|
||||
self.generate_document_targets(document, base_name, document_dict)
|
||||
)
|
||||
|
||||
# 3.3. write files to target folder
|
||||
if not self.data_only:
|
||||
self.copy_document_files(
|
||||
document,
|
||||
sink,
|
||||
original_arc,
|
||||
thumbnail_arc,
|
||||
archive_arc,
|
||||
original_target,
|
||||
thumbnail_target,
|
||||
archive_target,
|
||||
)
|
||||
|
||||
if self.split_manifest:
|
||||
self._write_split_manifest(sink, document_dict, document, base_name)
|
||||
self._write_split_manifest(document_dict, document, base_name)
|
||||
else:
|
||||
writer.write_record(document_dict)
|
||||
|
||||
for bundle_dict in share_link_bundle_manifest:
|
||||
bundle = share_link_bundle_map[bundle_dict["pk"]]
|
||||
bundle_arc = self.generate_share_link_bundle_target(
|
||||
|
||||
bundle_target = self.generate_share_link_bundle_target(
|
||||
bundle,
|
||||
bundle_dict,
|
||||
)
|
||||
if not self.data_only and bundle_arc is not None:
|
||||
self.copy_share_link_bundle_file(bundle, sink, bundle_arc)
|
||||
|
||||
if not self.data_only and bundle_target is not None:
|
||||
self.copy_share_link_bundle_file(bundle, bundle_target)
|
||||
|
||||
writer.write_record(bundle_dict)
|
||||
|
||||
writer.close()
|
||||
|
||||
# 3. Write version (and crypto params) to metadata.json
|
||||
# Django stores most crypto values in the field itself; we store
|
||||
# them once here for the whole export
|
||||
# 4.2 write version information to target folder
|
||||
extra_metadata_path = (self.target / "metadata.json").resolve()
|
||||
metadata: dict[str, str | int | dict[str, str | int]] = {
|
||||
"version": version.__full_version_str__,
|
||||
}
|
||||
|
||||
# 4.2.1 If needed, write the crypto values into the metadata
|
||||
# Django stores most of these in the field itself, we store them once here
|
||||
if self.passphrase:
|
||||
metadata.update(self.get_crypt_params())
|
||||
sink.add_json(metadata, "metadata.json")
|
||||
|
||||
self.check_and_write_json(
|
||||
metadata,
|
||||
extra_metadata_path,
|
||||
)
|
||||
|
||||
if self.delete:
|
||||
# 5. Remove files which we did not explicitly export in this run
|
||||
if not self.zip_export:
|
||||
for f in self.files_in_export_dir:
|
||||
f.unlink()
|
||||
|
||||
delete_empty_directories(
|
||||
f.parent,
|
||||
self.target,
|
||||
)
|
||||
else:
|
||||
# 5. Remove anything in the original location (before moving the zip)
|
||||
for item in self.original_target.glob("*"):
|
||||
if item.is_dir():
|
||||
shutil.rmtree(item)
|
||||
else:
|
||||
item.unlink()
|
||||
|
||||
def generate_base_name(self, document: Document) -> Path:
|
||||
"""
|
||||
@@ -454,69 +584,73 @@ class Command(CryptMixin, PaperlessCommand):
|
||||
document: Document,
|
||||
base_name: Path,
|
||||
document_dict: dict,
|
||||
) -> tuple[str, str | None, str | None]:
|
||||
) -> tuple[Path, Path | None, Path | None]:
|
||||
"""
|
||||
Generates the relative POSIX arcnames for a document's original, thumbnail
|
||||
and archive files (depending on settings), and records them in the manifest.
|
||||
Generates the targets for a given document, including the original file, archive file and thumbnail (depending on settings).
|
||||
"""
|
||||
original_name = base_name
|
||||
if self.use_folder_prefix:
|
||||
original_name = Path("originals") / original_name
|
||||
original_arc = original_name.as_posix()
|
||||
document_dict[EXPORTER_FILE_NAME] = original_arc
|
||||
original_target = (self.target / original_name).resolve()
|
||||
document_dict[EXPORTER_FILE_NAME] = str(original_name)
|
||||
|
||||
if not self.no_thumbnail:
|
||||
thumbnail_name = base_name.parent / (base_name.stem + "-thumbnail.webp")
|
||||
if self.use_folder_prefix:
|
||||
thumbnail_name = Path("thumbnails") / thumbnail_name
|
||||
thumbnail_arc = thumbnail_name.as_posix()
|
||||
document_dict[EXPORTER_THUMBNAIL_NAME] = thumbnail_arc
|
||||
thumbnail_target = (self.target / thumbnail_name).resolve()
|
||||
document_dict[EXPORTER_THUMBNAIL_NAME] = str(thumbnail_name)
|
||||
else:
|
||||
thumbnail_arc = None
|
||||
thumbnail_target = None
|
||||
|
||||
if not self.no_archive and document.has_archive_version:
|
||||
archive_name = base_name.parent / (base_name.stem + "-archive.pdf")
|
||||
if self.use_folder_prefix:
|
||||
archive_name = Path("archive") / archive_name
|
||||
archive_arc = archive_name.as_posix()
|
||||
document_dict[EXPORTER_ARCHIVE_NAME] = archive_arc
|
||||
archive_target = (self.target / archive_name).resolve()
|
||||
document_dict[EXPORTER_ARCHIVE_NAME] = str(archive_name)
|
||||
else:
|
||||
archive_arc = None
|
||||
archive_target = None
|
||||
|
||||
return original_arc, thumbnail_arc, archive_arc
|
||||
return original_target, thumbnail_target, archive_target
|
||||
|
||||
def copy_document_files(
|
||||
self,
|
||||
document: Document,
|
||||
sink: ExportSink,
|
||||
original_arc: str,
|
||||
thumbnail_arc: str | None,
|
||||
archive_arc: str | None,
|
||||
original_target: Path,
|
||||
thumbnail_target: Path | None,
|
||||
archive_target: Path | None,
|
||||
) -> None:
|
||||
"""
|
||||
Hands the document's files to the sink (original, thumbnail, archive).
|
||||
Copies files from the document storage location to the specified target location.
|
||||
|
||||
If the document is encrypted, the files are decrypted before copying them to the target location.
|
||||
"""
|
||||
sink.add_file(document.source_path, original_arc, checksum=document.checksum)
|
||||
self.check_and_copy(
|
||||
document.source_path,
|
||||
document.checksum,
|
||||
original_target,
|
||||
)
|
||||
|
||||
if thumbnail_arc:
|
||||
sink.add_file(document.thumbnail_path, thumbnail_arc)
|
||||
if thumbnail_target:
|
||||
self.check_and_copy(document.thumbnail_path, None, thumbnail_target)
|
||||
|
||||
if archive_arc:
|
||||
if archive_target:
|
||||
if TYPE_CHECKING:
|
||||
assert isinstance(document.archive_path, Path)
|
||||
sink.add_file(
|
||||
self.check_and_copy(
|
||||
document.archive_path,
|
||||
archive_arc,
|
||||
checksum=document.archive_checksum,
|
||||
document.archive_checksum,
|
||||
archive_target,
|
||||
)
|
||||
|
||||
def generate_share_link_bundle_target(
|
||||
self,
|
||||
bundle: ShareLinkBundle,
|
||||
bundle_dict: dict,
|
||||
) -> str | None:
|
||||
) -> Path | None:
|
||||
"""
|
||||
Generates the relative POSIX arcname for a share link bundle file, if any.
|
||||
Generates the export target for a share link bundle file, when present.
|
||||
"""
|
||||
if not bundle.file_path:
|
||||
return None
|
||||
@@ -532,22 +666,25 @@ class Command(CryptMixin, PaperlessCommand):
|
||||
bundle_dict["fields"]["file_path"] = portable_bundle_path.as_posix()
|
||||
bundle_dict[EXPORTER_SHARE_LINK_BUNDLE_NAME] = export_bundle_path.as_posix()
|
||||
|
||||
return export_bundle_path.as_posix()
|
||||
return (self.target / export_bundle_path).resolve()
|
||||
|
||||
def copy_share_link_bundle_file(
|
||||
self,
|
||||
bundle: ShareLinkBundle,
|
||||
sink: ExportSink,
|
||||
bundle_arc: str,
|
||||
bundle_target: Path,
|
||||
) -> None:
|
||||
"""
|
||||
Hands a share link bundle ZIP to the sink.
|
||||
Copies a share link bundle ZIP into the export directory.
|
||||
"""
|
||||
bundle_source_path = bundle.absolute_file_path
|
||||
if bundle_source_path is None:
|
||||
raise FileNotFoundError(f"Share link bundle {bundle.pk} has no file path")
|
||||
|
||||
sink.add_file(bundle_source_path, bundle_arc)
|
||||
self.check_and_copy(
|
||||
bundle_source_path,
|
||||
None,
|
||||
bundle_target,
|
||||
)
|
||||
|
||||
def _encrypt_record_inline(self, record: dict) -> None:
|
||||
"""Encrypt sensitive fields in a single record, if passphrase is set."""
|
||||
@@ -563,7 +700,6 @@ class Command(CryptMixin, PaperlessCommand):
|
||||
|
||||
def _write_split_manifest(
|
||||
self,
|
||||
sink: ExportSink,
|
||||
document_dict: dict,
|
||||
document: Document,
|
||||
base_name: Path,
|
||||
@@ -585,4 +721,81 @@ class Command(CryptMixin, PaperlessCommand):
|
||||
manifest_name = base_name.with_name(f"{base_name.stem}-manifest.json")
|
||||
if self.use_folder_prefix:
|
||||
manifest_name = Path("json") / manifest_name
|
||||
sink.add_json(content, manifest_name.as_posix())
|
||||
manifest_name = (self.target / manifest_name).resolve()
|
||||
manifest_name.parent.mkdir(parents=True, exist_ok=True)
|
||||
self.check_and_write_json(content, manifest_name)
|
||||
|
||||
def check_and_write_json(
|
||||
self,
|
||||
content: list[dict] | dict,
|
||||
target: Path,
|
||||
) -> None:
|
||||
"""
|
||||
Writes the source content to the target json file.
|
||||
If --compare-json arg was used, don't write to target file if
|
||||
the file exists and checksum is identical to content checksum.
|
||||
This preserves the file timestamps when no changes are made.
|
||||
"""
|
||||
|
||||
target = target.resolve()
|
||||
perform_write = True
|
||||
if target in self.files_in_export_dir:
|
||||
self.files_in_export_dir.remove(target)
|
||||
if self.compare_json:
|
||||
target_checksum = hashlib.blake2b(target.read_bytes()).hexdigest()
|
||||
src_str = json.dumps(
|
||||
content,
|
||||
cls=DjangoJSONEncoder,
|
||||
indent=2,
|
||||
ensure_ascii=False,
|
||||
)
|
||||
src_checksum = hashlib.blake2b(src_str.encode("utf-8")).hexdigest()
|
||||
if src_checksum == target_checksum:
|
||||
perform_write = False
|
||||
|
||||
if perform_write:
|
||||
target.write_text(
|
||||
json.dumps(
|
||||
content,
|
||||
cls=DjangoJSONEncoder,
|
||||
indent=2,
|
||||
ensure_ascii=False,
|
||||
),
|
||||
encoding="utf-8",
|
||||
)
|
||||
|
||||
def check_and_copy(
|
||||
self,
|
||||
source: Path,
|
||||
source_checksum: str | None,
|
||||
target: Path,
|
||||
) -> None:
|
||||
"""
|
||||
Copies the source to the target, if target doesn't exist or the target doesn't seem to match
|
||||
the source attributes
|
||||
"""
|
||||
|
||||
target = target.resolve()
|
||||
if target in self.files_in_export_dir:
|
||||
self.files_in_export_dir.remove(target)
|
||||
|
||||
perform_copy = False
|
||||
|
||||
if target.exists():
|
||||
source_stat = source.stat()
|
||||
target_stat = target.stat()
|
||||
if self.compare_checksums and source_checksum:
|
||||
target_checksum = compute_checksum(target)
|
||||
perform_copy = target_checksum != source_checksum
|
||||
elif (
|
||||
source_stat.st_mtime != target_stat.st_mtime
|
||||
or source_stat.st_size != target_stat.st_size
|
||||
):
|
||||
perform_copy = True
|
||||
else:
|
||||
# Copy if it does not exist
|
||||
perform_copy = True
|
||||
|
||||
if perform_copy:
|
||||
target.parent.mkdir(parents=True, exist_ok=True)
|
||||
copy_file_with_basic_stats(source, target)
|
||||
|
||||
@@ -4,14 +4,14 @@ from django.contrib.auth.models import Group
|
||||
from django.contrib.auth.models import Permission
|
||||
from django.contrib.auth.models import User
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.db.models import Case
|
||||
from django.db.models import Count
|
||||
from django.db.models import IntegerField
|
||||
from django.db.models import OuterRef
|
||||
from django.db.models import Q
|
||||
from django.db.models import QuerySet
|
||||
from django.db.models import Subquery
|
||||
from django.db.models import Value
|
||||
from django.db.models import When
|
||||
from django.db.models.functions import Cast
|
||||
from django.db.models.functions import Coalesce
|
||||
from guardian.core import ObjectPermissionChecker
|
||||
from guardian.models import GroupObjectPermission
|
||||
from guardian.models import UserObjectPermission
|
||||
@@ -204,20 +204,95 @@ def _permitted_document_ids(user):
|
||||
).values_list("id", flat=True)
|
||||
|
||||
|
||||
def get_document_count_filter_for_user(user):
|
||||
def get_document_count_filter_for_user(user, related_name: str = "documents"):
|
||||
"""
|
||||
Return the Q object used to filter document counts for the given user.
|
||||
|
||||
The filter is expressed as an ``id__in`` against a small subquery of permitted
|
||||
document IDs to keep the generated SQL simple and avoid large OR clauses.
|
||||
|
||||
``related_name`` is the ORM path from the annotated model to Document (e.g.
|
||||
``"documents"`` for Tag's direct M2M, or ``"fields__document"`` for CustomField,
|
||||
which only reaches Document via the CustomFieldInstance through-model).
|
||||
"""
|
||||
|
||||
if getattr(user, "is_superuser", False):
|
||||
# Superuser: no permission filtering needed
|
||||
return Q(documents__deleted_at__isnull=True)
|
||||
return Q(**{f"{related_name}__deleted_at__isnull": True})
|
||||
|
||||
permitted_ids = _permitted_document_ids(user)
|
||||
return Q(documents__id__in=permitted_ids)
|
||||
return Q(**{f"{related_name}__id__in": permitted_ids})
|
||||
|
||||
|
||||
def annotate_document_count_by_ids(
|
||||
queryset: QuerySet[Any],
|
||||
through_model: Any,
|
||||
related_object_field: str,
|
||||
document_ids: Any,
|
||||
target_field: str = "document_id",
|
||||
) -> QuerySet[Any]:
|
||||
"""
|
||||
Annotate a queryset with a document count for a relation to Document that
|
||||
goes through an M2M/through-model table (e.g. Tag via
|
||||
``Document.tags.through``, or CustomField via ``CustomFieldInstance``),
|
||||
for an explicit, already-resolved set of document ids.
|
||||
|
||||
Counts are computed via a single, independent GROUP BY over the relation
|
||||
table -- with the id filter expressed as a plain ``WHERE`` rather than an
|
||||
aggregate ``FILTER`` -- then injected via ``Case``/``When``. This
|
||||
deliberately avoids two slower alternatives found while building this:
|
||||
|
||||
- A per-outer-row correlated subquery (one execution per row of the
|
||||
annotated queryset): fine at a handful of rows, catastrophic once the
|
||||
queryset has hundreds/thousands of rows.
|
||||
- ``Count(..., filter=Q(id__in=document_ids), distinct=True)`` applied
|
||||
directly to the M2M relation: Postgres can fail to plan the ``id__in``
|
||||
check as a semi-join and instead re-checks subquery membership once per
|
||||
row of the (much larger) M2M join -- worse than the correlated subquery.
|
||||
|
||||
Aggregation is restricted to rows whose ``related_object_field`` is one of
|
||||
``queryset``'s pks, so passing a subset (e.g. a handful of tag descendants)
|
||||
doesn't pay the cost of counting for every row matching ``document_ids``.
|
||||
|
||||
Args:
|
||||
queryset: base queryset to annotate (must contain pk)
|
||||
through_model: model representing the relation (e.g., Document.tags.through
|
||||
or CustomFieldInstance)
|
||||
related_object_field: field on the relation pointing back to queryset pk
|
||||
document_ids: the document ids to count against -- a concrete list/set,
|
||||
or a simple (already resolved) queryset of ids. Callers
|
||||
that need this filtered by a complex condition (e.g. a
|
||||
permission check) should resolve it to a concrete list
|
||||
first if the same ids will be reused across multiple
|
||||
calls, rather than passing the complex queryset itself
|
||||
into each -- see ``_get_selection_data_for_queryset``.
|
||||
target_field: field on the relation pointing to Document id
|
||||
"""
|
||||
|
||||
counts = (
|
||||
through_model.objects.filter(
|
||||
**{
|
||||
f"{related_object_field}__in": queryset.values("pk"),
|
||||
f"{target_field}__in": document_ids,
|
||||
},
|
||||
)
|
||||
.values(related_object_field)
|
||||
.annotate(c=Count(target_field, distinct=True))
|
||||
)
|
||||
counts_by_pk = {row[related_object_field]: row["c"] for row in counts}
|
||||
|
||||
if not counts_by_pk:
|
||||
return queryset.annotate(
|
||||
document_count=Value(0, output_field=IntegerField()),
|
||||
)
|
||||
|
||||
return queryset.annotate(
|
||||
document_count=Case(
|
||||
*(When(pk=pk, then=Value(count)) for pk, count in counts_by_pk.items()),
|
||||
default=Value(0),
|
||||
output_field=IntegerField(),
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
def annotate_document_count_for_related_queryset(
|
||||
@@ -228,31 +303,17 @@ def annotate_document_count_for_related_queryset(
|
||||
user: User | None = None,
|
||||
) -> QuerySet[Any]:
|
||||
"""
|
||||
Annotate a queryset with permissions-aware document counts using a subquery
|
||||
against a relation table.
|
||||
|
||||
Args:
|
||||
queryset: base queryset to annotate (must contain pk)
|
||||
through_model: model representing the relation (e.g., Document.tags.through
|
||||
or CustomFieldInstance)
|
||||
source_field: field on the relation pointing back to queryset pk
|
||||
target_field: field on the relation pointing to Document id
|
||||
user: the user for whom to filter permitted document ids
|
||||
Same as ``annotate_document_count_by_ids``, but resolves the document ids
|
||||
from the given user's view permissions rather than taking them directly.
|
||||
"""
|
||||
|
||||
permitted_ids = _permitted_document_ids(user)
|
||||
counts = (
|
||||
through_model.objects.filter(
|
||||
**{
|
||||
related_object_field: OuterRef("pk"),
|
||||
f"{target_field}__in": permitted_ids,
|
||||
},
|
||||
)
|
||||
.values(related_object_field)
|
||||
.annotate(c=Count(target_field))
|
||||
.values("c")
|
||||
return annotate_document_count_by_ids(
|
||||
queryset,
|
||||
through_model=through_model,
|
||||
related_object_field=related_object_field,
|
||||
document_ids=_permitted_document_ids(user),
|
||||
target_field=target_field,
|
||||
)
|
||||
return queryset.annotate(document_count=Coalesce(Subquery(counts[:1]), 0))
|
||||
|
||||
|
||||
def get_objects_for_user_owner_aware(
|
||||
|
||||
@@ -392,15 +392,34 @@ class OwnedObjectSerializer(
|
||||
}
|
||||
|
||||
def get_user_can_change(self, obj) -> bool:
|
||||
checker = ObjectPermissionChecker(self.user) if self.user is not None else None
|
||||
return (
|
||||
obj.owner is None
|
||||
or obj.owner == self.user
|
||||
or (
|
||||
self.user is not None
|
||||
and checker.has_perm(f"change_{obj.__class__.__name__.lower()}", obj)
|
||||
if obj.owner is None or obj.owner == self.user:
|
||||
return True
|
||||
if self.user is None:
|
||||
return False
|
||||
if self.user.is_active and self.user.is_superuser:
|
||||
# Mirrors guardian's own ObjectPermissionChecker.has_perm() shortcut --
|
||||
# superusers aren't necessarily granted explicit object permissions,
|
||||
# so the batched context below would otherwise incorrectly say no.
|
||||
return True
|
||||
|
||||
# Prefer the page-level batch computed by BulkPermissionMixin
|
||||
# (get_serializer_context) over a fresh per-object guardian check,
|
||||
# which would otherwise query the permission tables once per row.
|
||||
users_change_perms = self.context.get("users_change_perms")
|
||||
groups_change_perms = self.context.get("groups_change_perms")
|
||||
if users_change_perms is not None and groups_change_perms is not None:
|
||||
if self.user.pk in users_change_perms.get(obj.pk, []):
|
||||
return True
|
||||
user_group_ids = getattr(self, "_user_group_ids", None)
|
||||
if user_group_ids is None:
|
||||
user_group_ids = set(self.user.groups.values_list("id", flat=True))
|
||||
self._user_group_ids = user_group_ids
|
||||
return bool(
|
||||
user_group_ids.intersection(groups_change_perms.get(obj.pk, [])),
|
||||
)
|
||||
)
|
||||
|
||||
checker = ObjectPermissionChecker(self.user)
|
||||
return checker.has_perm(f"change_{obj.__class__.__name__.lower()}", obj)
|
||||
|
||||
@staticmethod
|
||||
def get_shared_object_pks(objects: Iterable):
|
||||
|
||||
@@ -1,289 +0,0 @@
|
||||
import io
|
||||
import json
|
||||
import os
|
||||
import zipfile
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
from documents.export.sinks import DirectoryExportSink
|
||||
from documents.export.sinks import ExportSink
|
||||
from documents.export.sinks import StreamingManifestWriter
|
||||
from documents.export.sinks import ZipExportSink
|
||||
from documents.export.sinks import _dumps
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
def source_file(tmp_path: Path) -> Path:
|
||||
src: Path = tmp_path / "src" / "doc.pdf"
|
||||
src.parent.mkdir(parents=True)
|
||||
src.write_bytes(b"PDF-CONTENT")
|
||||
return src
|
||||
|
||||
|
||||
class TestDumps:
|
||||
def test_dumps_is_indented_unicode_json(self) -> None:
|
||||
result: str = _dumps({"a": "é", "b": 1})
|
||||
assert '"é"' in result # ensure_ascii=False keeps unicode literal
|
||||
assert "\n" in result # indent=2 produces newlines
|
||||
assert json.loads(result) == {"a": "é", "b": 1}
|
||||
|
||||
|
||||
class TestStreamingManifestWriter:
|
||||
def test_writes_json_array_of_records(self) -> None:
|
||||
handle: io.StringIO = io.StringIO()
|
||||
writer: StreamingManifestWriter = StreamingManifestWriter(handle)
|
||||
writer.write_batch([{"pk": 1}, {"pk": 2}])
|
||||
writer.write_record({"pk": 3})
|
||||
writer.close()
|
||||
assert json.loads(handle.getvalue()) == [{"pk": 1}, {"pk": 2}, {"pk": 3}]
|
||||
|
||||
def test_empty_manifest_is_valid_empty_array(self) -> None:
|
||||
handle: io.StringIO = io.StringIO()
|
||||
writer: StreamingManifestWriter = StreamingManifestWriter(handle)
|
||||
writer.close()
|
||||
assert json.loads(handle.getvalue()) == []
|
||||
|
||||
|
||||
class TestDirectoryExportSink:
|
||||
def test_add_file_copies_to_relative_arcname(
|
||||
self,
|
||||
tmp_path: Path,
|
||||
source_file: Path,
|
||||
) -> None:
|
||||
target: Path = tmp_path / "out"
|
||||
target.mkdir()
|
||||
with DirectoryExportSink(
|
||||
target,
|
||||
compare_checksums=False,
|
||||
compare_json=False,
|
||||
delete=False,
|
||||
) as sink:
|
||||
sink.add_file(source_file, "originals/doc.pdf")
|
||||
assert (target / "originals" / "doc.pdf").read_bytes() == b"PDF-CONTENT"
|
||||
|
||||
def test_add_json_writes_file(self, tmp_path: Path) -> None:
|
||||
target: Path = tmp_path / "out"
|
||||
target.mkdir()
|
||||
with DirectoryExportSink(
|
||||
target,
|
||||
compare_checksums=False,
|
||||
compare_json=False,
|
||||
delete=False,
|
||||
) as sink:
|
||||
sink.add_json({"version": "x"}, "metadata.json")
|
||||
assert json.loads((target / "metadata.json").read_text()) == {"version": "x"}
|
||||
|
||||
def test_stream_writes_manifest(self, tmp_path: Path) -> None:
|
||||
target: Path = tmp_path / "out"
|
||||
target.mkdir()
|
||||
with DirectoryExportSink(
|
||||
target,
|
||||
compare_checksums=False,
|
||||
compare_json=False,
|
||||
delete=False,
|
||||
) as sink:
|
||||
with sink.stream("manifest.json") as handle:
|
||||
writer: StreamingManifestWriter = StreamingManifestWriter(handle)
|
||||
writer.write_record({"pk": 1})
|
||||
writer.close()
|
||||
assert json.loads((target / "manifest.json").read_text()) == [{"pk": 1}]
|
||||
|
||||
def test_add_file_skips_when_size_and_mtime_match(
|
||||
self,
|
||||
tmp_path: Path,
|
||||
source_file: Path,
|
||||
) -> None:
|
||||
# Pre-existing target with identical size+mtime but DIFFERENT content:
|
||||
# if add_file skips (no compare-checksums), the old content survives.
|
||||
target: Path = tmp_path / "out"
|
||||
target.mkdir()
|
||||
existing: Path = target / "originals" / "doc.pdf"
|
||||
existing.parent.mkdir(parents=True)
|
||||
# Same byte length as the source but different content + matching mtime,
|
||||
# so a size/mtime comparison treats it as unchanged and skips the copy.
|
||||
existing.write_bytes(b"X" * len(b"PDF-CONTENT"))
|
||||
stat = source_file.stat()
|
||||
os.utime(existing, (stat.st_atime, stat.st_mtime))
|
||||
with DirectoryExportSink(
|
||||
target,
|
||||
compare_checksums=False,
|
||||
compare_json=False,
|
||||
delete=False,
|
||||
) as sink:
|
||||
sink.add_file(source_file, "originals/doc.pdf", checksum="abc")
|
||||
assert existing.read_bytes() == b"X" * len(b"PDF-CONTENT") # skipped
|
||||
|
||||
def test_add_file_recopies_when_compare_checksums_differ(
|
||||
self,
|
||||
tmp_path: Path,
|
||||
source_file: Path,
|
||||
) -> None:
|
||||
target: Path = tmp_path / "out"
|
||||
target.mkdir()
|
||||
existing: Path = target / "originals" / "doc.pdf"
|
||||
existing.parent.mkdir(parents=True)
|
||||
existing.write_bytes(b"X" * len(b"PDF-CONTENT"))
|
||||
stat = source_file.stat()
|
||||
os.utime(existing, (stat.st_atime, stat.st_mtime))
|
||||
with DirectoryExportSink(
|
||||
target,
|
||||
compare_checksums=True,
|
||||
compare_json=False,
|
||||
delete=False,
|
||||
) as sink:
|
||||
# wrong checksum forces recopy despite matching size/mtime
|
||||
sink.add_file(source_file, "originals/doc.pdf", checksum="not-the-real-sum")
|
||||
assert existing.read_bytes() == b"PDF-CONTENT" # recopied
|
||||
|
||||
def test_delete_prunes_unwritten_snapshot_files(
|
||||
self,
|
||||
tmp_path: Path,
|
||||
source_file: Path,
|
||||
) -> None:
|
||||
target: Path = tmp_path / "out"
|
||||
target.mkdir()
|
||||
stale: Path = target / "stale.pdf"
|
||||
stale.write_bytes(b"STALE")
|
||||
with DirectoryExportSink(
|
||||
target,
|
||||
compare_checksums=False,
|
||||
compare_json=False,
|
||||
delete=True,
|
||||
) as sink:
|
||||
sink.add_file(source_file, "originals/doc.pdf")
|
||||
assert not stale.exists()
|
||||
assert (target / "originals" / "doc.pdf").exists()
|
||||
|
||||
def test_no_delete_keeps_unwritten_files(
|
||||
self,
|
||||
tmp_path: Path,
|
||||
source_file: Path,
|
||||
) -> None:
|
||||
target: Path = tmp_path / "out"
|
||||
target.mkdir()
|
||||
stale: Path = target / "stale.pdf"
|
||||
stale.write_bytes(b"STALE")
|
||||
with DirectoryExportSink(
|
||||
target,
|
||||
compare_checksums=False,
|
||||
compare_json=False,
|
||||
delete=False,
|
||||
) as sink:
|
||||
sink.add_file(source_file, "originals/doc.pdf")
|
||||
assert stale.exists()
|
||||
|
||||
|
||||
class TestZipExportSink:
|
||||
def test_round_trip_files_json_and_stream(
|
||||
self,
|
||||
tmp_path: Path,
|
||||
source_file: Path,
|
||||
) -> None:
|
||||
target: Path = tmp_path / "out"
|
||||
target.mkdir()
|
||||
with ZipExportSink(target, "export", delete=False) as sink:
|
||||
sink.add_file(source_file, "originals/doc.pdf")
|
||||
sink.add_json({"version": "x"}, "metadata.json")
|
||||
with sink.stream("manifest.json") as handle:
|
||||
writer = StreamingManifestWriter(handle)
|
||||
writer.write_record({"pk": 1})
|
||||
writer.close()
|
||||
zip_path: Path = target / "export.zip"
|
||||
assert zip_path.exists()
|
||||
assert not (target / "export.zip.tmp").exists()
|
||||
with zipfile.ZipFile(zip_path) as zf:
|
||||
names = set(zf.namelist())
|
||||
assert {"originals/doc.pdf", "metadata.json", "manifest.json"} <= names
|
||||
assert zf.read("originals/doc.pdf") == b"PDF-CONTENT"
|
||||
assert json.loads(zf.read("manifest.json")) == [{"pk": 1}]
|
||||
|
||||
def test_nested_arcname_emits_directory_marker(
|
||||
self,
|
||||
tmp_path: Path,
|
||||
source_file: Path,
|
||||
) -> None:
|
||||
target: Path = tmp_path / "out"
|
||||
target.mkdir()
|
||||
with ZipExportSink(target, "export", delete=False) as sink:
|
||||
sink.add_file(source_file, "originals/doc.pdf")
|
||||
with zipfile.ZipFile(target / "export.zip") as zf:
|
||||
assert "originals/" in zf.namelist()
|
||||
|
||||
def test_flat_arcname_has_no_directory_markers(
|
||||
self,
|
||||
tmp_path: Path,
|
||||
source_file: Path,
|
||||
) -> None:
|
||||
target: Path = tmp_path / "out"
|
||||
target.mkdir()
|
||||
with ZipExportSink(target, "export", delete=False) as sink:
|
||||
sink.add_file(source_file, "doc.pdf")
|
||||
with zipfile.ZipFile(target / "export.zip") as zf:
|
||||
assert all(not n.endswith("/") for n in zf.namelist())
|
||||
|
||||
def test_exception_leaves_no_zip_and_no_tmp(
|
||||
self,
|
||||
tmp_path: Path,
|
||||
source_file: Path,
|
||||
) -> None:
|
||||
target: Path = tmp_path / "out"
|
||||
target.mkdir()
|
||||
with pytest.raises(RuntimeError):
|
||||
with ZipExportSink(target, "export", delete=False) as sink:
|
||||
sink.add_file(source_file, "doc.pdf")
|
||||
raise RuntimeError("boom")
|
||||
assert not (target / "export.zip").exists()
|
||||
assert not (target / "export.zip.tmp").exists()
|
||||
|
||||
def test_delete_wipes_destination_on_success(
|
||||
self,
|
||||
tmp_path: Path,
|
||||
source_file: Path,
|
||||
) -> None:
|
||||
target: Path = tmp_path / "out"
|
||||
target.mkdir()
|
||||
(target / "preexisting.txt").write_text("old")
|
||||
(target / "olddir").mkdir()
|
||||
with ZipExportSink(target, "export", delete=True) as sink:
|
||||
sink.add_file(source_file, "doc.pdf")
|
||||
assert (target / "export.zip").exists()
|
||||
assert not (target / "preexisting.txt").exists()
|
||||
assert not (target / "olddir").exists()
|
||||
|
||||
def test_abort_with_delete_does_not_wipe_destination(
|
||||
self,
|
||||
tmp_path: Path,
|
||||
source_file: Path,
|
||||
) -> None:
|
||||
target: Path = tmp_path / "out"
|
||||
target.mkdir()
|
||||
(target / "preexisting.txt").write_text("old")
|
||||
with pytest.raises(RuntimeError):
|
||||
with ZipExportSink(target, "export", delete=True) as sink:
|
||||
sink.add_file(source_file, "doc.pdf")
|
||||
raise RuntimeError("boom")
|
||||
assert (target / "preexisting.txt").exists()
|
||||
assert not (target / "export.zip").exists()
|
||||
|
||||
|
||||
class TestStreamContract:
|
||||
@pytest.fixture(params=["dir", "zip"])
|
||||
def sink(self, request: pytest.FixtureRequest, tmp_path: Path) -> ExportSink:
|
||||
target: Path = tmp_path / "out"
|
||||
target.mkdir()
|
||||
if request.param == "dir":
|
||||
return DirectoryExportSink(
|
||||
target,
|
||||
compare_checksums=False,
|
||||
compare_json=False,
|
||||
delete=False,
|
||||
)
|
||||
return ZipExportSink(target, "export", delete=False)
|
||||
|
||||
def test_second_concurrent_stream_is_rejected(self, sink: ExportSink) -> None:
|
||||
with sink:
|
||||
with sink.stream("manifest.json"):
|
||||
with pytest.raises(RuntimeError, match="already open"):
|
||||
with sink.stream("other.json"):
|
||||
pass
|
||||
@@ -883,6 +883,62 @@ class TestDocumentApi(DirectoriesMixin, ConsumeTaskMixin, APITestCase):
|
||||
results = response.data["results"]
|
||||
self.assertEqual(len(results), 3)
|
||||
|
||||
def test_is_in_inbox_filter_no_duplicates_with_multiple_inbox_tags(self) -> None:
|
||||
"""
|
||||
GIVEN:
|
||||
- A document tagged with two different inbox tags
|
||||
WHEN:
|
||||
- The document list is filtered by is_in_inbox=true
|
||||
THEN:
|
||||
- The document appears exactly once, not once per matching tag
|
||||
"""
|
||||
doc = Document.objects.create(title="doc", checksum="c1")
|
||||
inbox_1 = Tag.objects.create(name="inbox1", is_inbox_tag=True)
|
||||
inbox_2 = Tag.objects.create(name="inbox2", is_inbox_tag=True)
|
||||
doc.tags.add(inbox_1, inbox_2)
|
||||
|
||||
response = self.client.get("/api/documents/?is_in_inbox=true")
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
results = response.data["results"]
|
||||
self.assertEqual(len(results), 1)
|
||||
self.assertEqual(results[0]["id"], doc.id)
|
||||
|
||||
def test_custom_fields_icontains_filter_no_duplicates(self) -> None:
|
||||
"""
|
||||
GIVEN:
|
||||
- A document with two custom field instances that both match the
|
||||
same custom_fields__icontains search term
|
||||
WHEN:
|
||||
- The document list is filtered by custom_fields__icontains
|
||||
THEN:
|
||||
- The document appears exactly once, not once per matching field
|
||||
"""
|
||||
doc = Document.objects.create(title="doc", checksum="c1")
|
||||
field_1 = CustomField.objects.create(
|
||||
name="apple",
|
||||
data_type=CustomField.FieldDataType.STRING,
|
||||
)
|
||||
field_2 = CustomField.objects.create(
|
||||
name="apricot",
|
||||
data_type=CustomField.FieldDataType.STRING,
|
||||
)
|
||||
CustomFieldInstance.objects.create(
|
||||
document=doc,
|
||||
field=field_1,
|
||||
value_text="something",
|
||||
)
|
||||
CustomFieldInstance.objects.create(
|
||||
document=doc,
|
||||
field=field_2,
|
||||
value_text="something else",
|
||||
)
|
||||
|
||||
response = self.client.get("/api/documents/?custom_fields__icontains=ap")
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
results = response.data["results"]
|
||||
self.assertEqual(len(results), 1)
|
||||
self.assertEqual(results[0]["id"], doc.id)
|
||||
|
||||
def test_custom_field_select_filter(self) -> None:
|
||||
"""
|
||||
GIVEN:
|
||||
@@ -1291,6 +1347,63 @@ class TestDocumentApi(DirectoriesMixin, ConsumeTaskMixin, APITestCase):
|
||||
self.assertEqual(selected_type["document_count"], 1)
|
||||
self.assertEqual(selected_storage_path["document_count"], 1)
|
||||
|
||||
def test_selection_data_document_counts_per_tag(self) -> None:
|
||||
"""
|
||||
GIVEN:
|
||||
- Multiple tags with different numbers of matching documents
|
||||
within the filtered set, including one with no matches
|
||||
WHEN:
|
||||
- Requesting the document list with include_selection_data=true
|
||||
THEN:
|
||||
- Each tag's document_count reflects only documents in the
|
||||
filtered set, not the instance-wide count
|
||||
"""
|
||||
tag_a = Tag.objects.create(name="a")
|
||||
tag_b = Tag.objects.create(name="b")
|
||||
tag_unused = Tag.objects.create(name="unused")
|
||||
custom_field = CustomField.objects.create(
|
||||
name="cf1",
|
||||
data_type=CustomField.FieldDataType.STRING,
|
||||
)
|
||||
|
||||
doc1 = Document.objects.create(checksum="1", correspondent=None)
|
||||
doc1.tags.add(tag_a)
|
||||
doc2 = Document.objects.create(checksum="2")
|
||||
doc2.tags.add(tag_a, tag_b)
|
||||
doc3 = Document.objects.create(checksum="3")
|
||||
doc3.tags.add(tag_b)
|
||||
CustomFieldInstance.objects.create(
|
||||
document=doc1,
|
||||
field=custom_field,
|
||||
value_text="x",
|
||||
)
|
||||
|
||||
# Excluded from the filtered set entirely.
|
||||
excluded = Document.objects.create(checksum="4")
|
||||
excluded.tags.add(tag_a, tag_b, tag_unused)
|
||||
|
||||
response = self.client.get(
|
||||
f"/api/documents/?id__in={doc1.id},{doc2.id},{doc3.id}"
|
||||
"&include_selection_data=true",
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
selection_data = response.data["selection_data"]
|
||||
|
||||
counts_by_tag = {
|
||||
item["id"]: item["document_count"]
|
||||
for item in selection_data["selected_tags"]
|
||||
}
|
||||
self.assertEqual(counts_by_tag[tag_a.id], 2)
|
||||
self.assertEqual(counts_by_tag[tag_b.id], 2)
|
||||
self.assertEqual(counts_by_tag[tag_unused.id], 0)
|
||||
|
||||
counts_by_field = {
|
||||
item["id"]: item["document_count"]
|
||||
for item in selection_data["selected_custom_fields"]
|
||||
}
|
||||
self.assertEqual(counts_by_field[custom_field.id], 1)
|
||||
|
||||
def test_statistics(self) -> None:
|
||||
doc1 = Document.objects.create(
|
||||
title="none1",
|
||||
|
||||
@@ -568,6 +568,30 @@ class TestApiAuth(DirectoriesMixin, APITestCase):
|
||||
self.assertNotIn("user_can_change", results[0])
|
||||
self.assertNotIn("is_shared_by_requester", results[0])
|
||||
|
||||
def test_superuser_user_can_change_without_explicit_grant(self) -> None:
|
||||
"""
|
||||
A superuser has implicit change access to every document, even one
|
||||
owned by someone else with no explicit guardian grant -- mirrors
|
||||
guardian's own ObjectPermissionChecker.has_perm() superuser shortcut.
|
||||
"""
|
||||
superuser = User.objects.create_superuser(username="admin")
|
||||
other_user = User.objects.create_user(username="user2")
|
||||
Document.objects.create(
|
||||
title="Test",
|
||||
content="content",
|
||||
checksum="1",
|
||||
owner=other_user,
|
||||
)
|
||||
|
||||
self.client.force_authenticate(superuser)
|
||||
|
||||
response = self.client.get("/api/documents/", format="json")
|
||||
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
results = response.json()["results"]
|
||||
self.assertEqual(len(results), 1)
|
||||
self.assertTrue(results[0]["user_can_change"])
|
||||
|
||||
@mock.patch("allauth.mfa.adapter.DefaultMFAAdapter.is_mfa_enabled")
|
||||
def test_basic_auth_mfa_enabled(self, mock_is_mfa_enabled) -> None:
|
||||
"""
|
||||
|
||||
@@ -426,7 +426,7 @@ class TestExportImport(
|
||||
st_mtime_1 = (self.target / "manifest.json").stat().st_mtime
|
||||
|
||||
with mock.patch(
|
||||
"documents.export.sinks.copy_file_with_basic_stats",
|
||||
"documents.management.commands.document_exporter.copy_file_with_basic_stats",
|
||||
) as m:
|
||||
self._do_export()
|
||||
m.assert_not_called()
|
||||
@@ -437,7 +437,7 @@ class TestExportImport(
|
||||
Path(self.d1.source_path).touch()
|
||||
|
||||
with mock.patch(
|
||||
"documents.export.sinks.copy_file_with_basic_stats",
|
||||
"documents.management.commands.document_exporter.copy_file_with_basic_stats",
|
||||
) as m:
|
||||
self._do_export()
|
||||
self.assertEqual(m.call_count, 1)
|
||||
@@ -464,7 +464,7 @@ class TestExportImport(
|
||||
self.assertIsFile(self.target / "manifest.json")
|
||||
|
||||
with mock.patch(
|
||||
"documents.export.sinks.copy_file_with_basic_stats",
|
||||
"documents.management.commands.document_exporter.copy_file_with_basic_stats",
|
||||
) as m:
|
||||
self._do_export()
|
||||
m.assert_not_called()
|
||||
@@ -475,7 +475,7 @@ class TestExportImport(
|
||||
self.d2.save()
|
||||
|
||||
with mock.patch(
|
||||
"documents.export.sinks.copy_file_with_basic_stats",
|
||||
"documents.management.commands.document_exporter.copy_file_with_basic_stats",
|
||||
) as m:
|
||||
self._do_export(compare_checksums=True)
|
||||
self.assertEqual(m.call_count, 1)
|
||||
@@ -1058,26 +1058,6 @@ class TestExportImport(
|
||||
|
||||
self.assertEqual(Document.objects.all().count(), 4)
|
||||
|
||||
def test_zip_with_compare_flags_raises(self) -> None:
|
||||
"""
|
||||
GIVEN:
|
||||
- A request to export to a zip file
|
||||
WHEN:
|
||||
- --compare-checksums or --compare-json is also passed
|
||||
THEN:
|
||||
- A CommandError is raised (the flags are no-ops in zip mode)
|
||||
"""
|
||||
for flag in ("--compare-checksums", "--compare-json"):
|
||||
with self.subTest(flag=flag):
|
||||
with self.assertRaises(CommandError):
|
||||
call_command(
|
||||
"document_exporter",
|
||||
self.target,
|
||||
"--zip",
|
||||
flag,
|
||||
skip_checks=True,
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.management
|
||||
class TestCryptExportImport(
|
||||
|
||||
+71
-30
@@ -169,6 +169,7 @@ from documents.permissions import PaperlessAdminPermissions
|
||||
from documents.permissions import PaperlessNotePermissions
|
||||
from documents.permissions import PaperlessObjectPermissions
|
||||
from documents.permissions import ViewDocumentsPermissions
|
||||
from documents.permissions import annotate_document_count_by_ids
|
||||
from documents.permissions import annotate_document_count_for_related_queryset
|
||||
from documents.permissions import get_document_count_filter_for_user
|
||||
from documents.permissions import get_objects_for_user_owner_aware
|
||||
@@ -431,14 +432,12 @@ class BulkPermissionMixin:
|
||||
This avoid fetching permissions object by object in database.
|
||||
"""
|
||||
context = super().get_serializer_context()
|
||||
try:
|
||||
full_perms = get_boolean(
|
||||
str(self.request.query_params.get("full_perms", "false")),
|
||||
)
|
||||
except ValueError:
|
||||
full_perms = False
|
||||
|
||||
if not full_perms:
|
||||
if getattr(self, "action", None) != "list":
|
||||
# Batching only pays off across a page of objects; for single-object
|
||||
# actions (retrieve, update, ...) the per-object fallback in
|
||||
# get_user_can_change()/_get_perms() is cheap and avoids scanning
|
||||
# the whole queryset here.
|
||||
return context
|
||||
|
||||
# Check which objects are being paginated
|
||||
@@ -484,7 +483,15 @@ class BulkPermissionMixin:
|
||||
class PermissionsAwareDocumentCountMixin(BulkPermissionMixin, PassUserMixin):
|
||||
"""Mixin to add document count to queryset, permissions-aware if needed"""
|
||||
|
||||
# Default is simple relation path, override for through-table/count specialization.
|
||||
# Direct FK/M2M relation name from this model to Document, used for the
|
||||
# cheap Count(filter=...) path (Correspondent, DocumentType, StoragePath).
|
||||
document_count_related_name: str = "documents"
|
||||
|
||||
# Set both of these instead, for models that only reach Document through
|
||||
# an M2M/through-model table (Tag, CustomField). A plain Count(filter=...)
|
||||
# over such a relation is fine for a direct FK, but forces a much more
|
||||
# expensive plan once an M2M bridge table is involved -- see
|
||||
# annotate_document_count_for_related_queryset() for why.
|
||||
document_count_through: type[Model] | None = None
|
||||
document_count_source_field: str | None = None
|
||||
|
||||
@@ -500,12 +507,14 @@ class PermissionsAwareDocumentCountMixin(BulkPermissionMixin, PassUserMixin):
|
||||
def get_document_count_filter(self):
|
||||
request = getattr(self, "request", None)
|
||||
user = getattr(request, "user", None) if request else None
|
||||
return get_document_count_filter_for_user(user)
|
||||
return get_document_count_filter_for_user(
|
||||
user,
|
||||
related_name=self.document_count_related_name,
|
||||
)
|
||||
|
||||
def get_queryset(self):
|
||||
base_qs = super().get_queryset()
|
||||
|
||||
# Use optimized through-table counting when configured.
|
||||
if self.document_count_through:
|
||||
user = getattr(getattr(self, "request", None), "user", None)
|
||||
return annotate_document_count_for_related_queryset(
|
||||
@@ -515,10 +524,13 @@ class PermissionsAwareDocumentCountMixin(BulkPermissionMixin, PassUserMixin):
|
||||
user=user,
|
||||
)
|
||||
|
||||
# Fallback: simple Count on relation with permission filter.
|
||||
filter = self.get_document_count_filter()
|
||||
return base_qs.annotate(
|
||||
document_count=Count("documents", filter=filter),
|
||||
document_count=Count(
|
||||
self.document_count_related_name,
|
||||
filter=filter,
|
||||
distinct=True,
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -943,6 +955,7 @@ class EmailDocumentDetailSchema(EmailSerializer):
|
||||
),
|
||||
)
|
||||
class DocumentViewSet(
|
||||
BulkPermissionMixin,
|
||||
PassUserMixin,
|
||||
RetrieveModelMixin,
|
||||
UpdateModelMixin,
|
||||
@@ -980,42 +993,54 @@ class DocumentViewSet(
|
||||
)
|
||||
|
||||
def _get_selection_data_for_queryset(self, queryset):
|
||||
# Resolve once instead of once per model below. `queryset` can carry an
|
||||
# arbitrarily expensive WHERE clause (user filters plus the permission
|
||||
# filter); re-embedding it as a subquery inside 5 separate Count(...)
|
||||
# calls forces the database to re-evaluate that whole thing 5 times, and
|
||||
# -- for FK relations especially -- can defeat semi-join planning
|
||||
# entirely at scale. A concrete id list is cheap to reuse.
|
||||
# order_by() drops the default/user ordering -- irrelevant for a plain
|
||||
# id list, but left in place it forces a sort over the full filtered
|
||||
# set before the ids can even be collected.
|
||||
document_ids = list(queryset.order_by().values_list("pk", flat=True))
|
||||
|
||||
correspondents = Correspondent.objects.annotate(
|
||||
document_count=Count(
|
||||
"documents",
|
||||
filter=Q(documents__in=queryset),
|
||||
distinct=True,
|
||||
),
|
||||
)
|
||||
tags = Tag.objects.annotate(
|
||||
document_count=Count(
|
||||
"documents",
|
||||
filter=Q(documents__in=queryset),
|
||||
filter=Q(documents__id__in=document_ids),
|
||||
distinct=True,
|
||||
),
|
||||
)
|
||||
document_types = DocumentType.objects.annotate(
|
||||
document_count=Count(
|
||||
"documents",
|
||||
filter=Q(documents__in=queryset),
|
||||
filter=Q(documents__id__in=document_ids),
|
||||
distinct=True,
|
||||
),
|
||||
)
|
||||
storage_paths = StoragePath.objects.annotate(
|
||||
document_count=Count(
|
||||
"documents",
|
||||
filter=Q(documents__in=queryset),
|
||||
filter=Q(documents__id__in=document_ids),
|
||||
distinct=True,
|
||||
),
|
||||
)
|
||||
custom_fields = CustomField.objects.annotate(
|
||||
document_count=Count(
|
||||
"fields__document",
|
||||
filter=Q(fields__document__in=queryset),
|
||||
distinct=True,
|
||||
),
|
||||
# Tag and CustomField reach Document through an M2M/through-model table;
|
||||
# a plain Count(filter=...) there is a much more expensive plan than the
|
||||
# FK relations above once the bridge table is large -- see
|
||||
# annotate_document_count_by_ids() for why.
|
||||
tags = annotate_document_count_by_ids(
|
||||
Tag.objects.all(),
|
||||
through_model=Document.tags.through,
|
||||
related_object_field="tag_id",
|
||||
document_ids=document_ids,
|
||||
)
|
||||
custom_fields = annotate_document_count_by_ids(
|
||||
CustomField.objects.all(),
|
||||
through_model=CustomFieldInstance,
|
||||
related_object_field="field_id",
|
||||
document_ids=document_ids,
|
||||
)
|
||||
|
||||
return {
|
||||
"selected_correspondents": [
|
||||
{"id": t.id, "document_count": t.document_count} for t in correspondents
|
||||
@@ -1051,9 +1076,16 @@ class DocumentViewSet(
|
||||
.values("count"),
|
||||
output_field=IntegerField(),
|
||||
)
|
||||
# No .distinct() here: nothing in this base queryset can produce
|
||||
# duplicate document rows (select_related below is all FK-to-PK;
|
||||
# permission filtering is a boolean id__in predicate, not a join).
|
||||
# M2M-based filters that *do* introduce a join (e.g. tags__id__in)
|
||||
# already call .distinct() themselves where they need it -- see
|
||||
# ObjectFilter.filter(). A blanket .distinct() here forces the
|
||||
# database to fully sort and dedupe every visible document before
|
||||
# it can apply LIMIT, which is disastrous at scale.
|
||||
return (
|
||||
Document.objects.filter(root_document__isnull=True)
|
||||
.distinct()
|
||||
.order_by("-created", "-id")
|
||||
.annotate(effective_content=Coalesce(latest_version_content, F("content")))
|
||||
.annotate(num_notes=Coalesce(note_count, 0))
|
||||
@@ -2291,6 +2323,15 @@ class UnifiedSearchViewSet(DocumentViewSet):
|
||||
return SearchResultSerializer
|
||||
return DocumentSerializer
|
||||
|
||||
def get_serializer_context(self):
|
||||
if self._is_search_request():
|
||||
# BulkPermissionMixin.get_serializer_context() (inherited via
|
||||
# DocumentViewSet) assumes it's batching permissions for a page of
|
||||
# real Document instances. Tantivy search results are SearchHit/
|
||||
# dict-like objects instead, so skip straight past it here.
|
||||
return super(BulkPermissionMixin, self).get_serializer_context()
|
||||
return super().get_serializer_context()
|
||||
|
||||
def _get_active_search_params(self, request: Request | None = None) -> list[str]:
|
||||
request = request or self.request
|
||||
return [
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:47\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "Waarde moet geldige JSON wees."
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr "Ongeldige gepasmaakte veldnavraaguitdrukking"
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
msgid "Invalid expression list. Must be nonempty."
|
||||
msgstr "Ongeldige uitdrukking lys. Moet nie leeg wees nie."
|
||||
|
||||
#: documents/filters.py:514
|
||||
#: documents/filters.py:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr "Ongeldige logiese uitdrukking {op!r}"
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
msgid "Maximum number of query conditions exceeded."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:592
|
||||
#: documents/filters.py:598
|
||||
msgid "{name!r} is not a valid custom field."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:629
|
||||
#: documents/filters.py:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr ""
|
||||
|
||||
@@ -1338,48 +1338,48 @@ msgstr ""
|
||||
msgid "workflow runs"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr "Ongeldige kleur."
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Lêertipe %(type)s word nie ondersteun nie"
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Ongeldige veranderlike bespeur."
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr ""
|
||||
@@ -1634,36 +1634,36 @@ msgstr ""
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
msgid "Specify only one of text, title_search, query, or more_like_id."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
msgid "The share link bundle is still being prepared. Please try again later."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:48\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "የሚሰራው እሴት \"JSON\" መሆን አለበት"
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr "ልክ ያልሆነ የተወሰነ የቦታ መጠይቅ አገላለጽ"
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
msgid "Invalid expression list. Must be nonempty."
|
||||
msgstr "ልክ ያልሆነ የመግለጫ ዝርዝር። ባዶ መሆን የለበትም።"
|
||||
|
||||
#: documents/filters.py:514
|
||||
#: documents/filters.py:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr "ልክ ያልሆነ የሎጂክ ኦፕሬተር {op!r}"
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
msgid "Maximum number of query conditions exceeded."
|
||||
msgstr "ከፍተኛው የጥያቄ ሁኔታዎች/መጠን ብዛት አልፏል።"
|
||||
|
||||
#: documents/filters.py:592
|
||||
#: documents/filters.py:598
|
||||
msgid "{name!r} is not a valid custom field."
|
||||
msgstr "{name!r} ይሄ ታዐማኒነት ያለው ልማድ አይደለም።"
|
||||
|
||||
#: documents/filters.py:629
|
||||
#: documents/filters.py:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr "ጥያቄን አይደግፍም expr {expr!r}."
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr "ከፍተኛው የጥገኝነት ጥልቀት አልፏል።"
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr "ይህ ልማድ አልተገኘም"
|
||||
|
||||
@@ -1338,48 +1338,48 @@ msgstr ""
|
||||
msgid "workflow runs"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr ""
|
||||
@@ -1634,36 +1634,36 @@ msgstr ""
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
msgid "Specify only one of text, title_search, query, or more_like_id."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
msgid "The share link bundle is still being prepared. Please try again later."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:48\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "يجب أن تكون القيمة JSON."
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr "تعبير استعلام غير صالح للحقول المخصصة"
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
msgid "Invalid expression list. Must be nonempty."
|
||||
msgstr "قائمة عبارة خاطئة."
|
||||
|
||||
#: documents/filters.py:514
|
||||
#: documents/filters.py:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
msgid "Maximum number of query conditions exceeded."
|
||||
msgstr "تجاوز الحد الأقصى لعدد شروط الاستعلام."
|
||||
|
||||
#: documents/filters.py:592
|
||||
#: documents/filters.py:598
|
||||
msgid "{name!r} is not a valid custom field."
|
||||
msgstr "{name!r} حقل مخصص غير صالح."
|
||||
|
||||
#: documents/filters.py:629
|
||||
#: documents/filters.py:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr "{data_type} لا يدعم تعبير الاستعلام {expr!r}."
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr "لم يتم العثور على حقل مخصص"
|
||||
|
||||
@@ -1338,48 +1338,48 @@ msgstr ""
|
||||
msgid "workflow runs"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr "لون خاطئ."
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "نوع الملف %(type)s غير مدعوم"
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "اكتشاف متغير خاطئ."
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr ""
|
||||
@@ -1635,36 +1635,36 @@ msgstr ""
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
msgid "Specify only one of text, title_search, query, or more_like_id."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
msgid "The share link bundle is still being prepared. Please try again later."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:48\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
msgid "Invalid expression list. Must be nonempty."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:514
|
||||
#: documents/filters.py:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
msgid "Maximum number of query conditions exceeded."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:592
|
||||
#: documents/filters.py:598
|
||||
msgid "{name!r} is not a valid custom field."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:629
|
||||
#: documents/filters.py:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr ""
|
||||
|
||||
@@ -1338,48 +1338,48 @@ msgstr ""
|
||||
msgid "workflow runs"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr "Няправільны колер."
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Тып файла %(type)s не падтрымліваецца"
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Выяўлена няправільная зменная."
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr ""
|
||||
@@ -1634,36 +1634,36 @@ msgstr ""
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
msgid "Specify only one of text, title_search, query, or more_like_id."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
msgid "The share link bundle is still being prepared. Please try again later."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:48\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "Стойността трябва да е валидна JSON."
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr "Невалидна заявка на персонализираното полето"
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
msgid "Invalid expression list. Must be nonempty."
|
||||
msgstr "Списък с невалиден израз. Не може да е празно."
|
||||
|
||||
#: documents/filters.py:514
|
||||
#: documents/filters.py:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr "Невалиден логически оператор {op!r}"
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
msgid "Maximum number of query conditions exceeded."
|
||||
msgstr "Надвишен е максимален брой за заявки."
|
||||
|
||||
#: documents/filters.py:592
|
||||
#: documents/filters.py:598
|
||||
msgid "{name!r} is not a valid custom field."
|
||||
msgstr "{name!r} не е валидно персонализирано поле."
|
||||
|
||||
#: documents/filters.py:629
|
||||
#: documents/filters.py:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr "{data_type} не поддържа заявка expr {expr!r}."
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr "Надвишена е максималната дълбочина на вмъкване."
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr "Персонализирано поле не е намерено"
|
||||
|
||||
@@ -1338,48 +1338,48 @@ msgstr "стартиране на работния процес"
|
||||
msgid "workflow runs"
|
||||
msgstr "стартиране на работните процеси"
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr "Невалиден цвят."
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Файловия тип %(type)s не се поддържа"
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Засечена е невалидна променлива."
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr ""
|
||||
@@ -1635,36 +1635,36 @@ msgstr ""
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
msgid "Specify only one of text, title_search, query, or more_like_id."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
msgid "The share link bundle is still being prepared. Please try again later."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:48\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "Valor ha de ser un JSON valid."
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr "Expressió de camp de consulta invàlid"
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
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:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr "Invàlid operand lògic {op!r}"
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
msgid "Maximum number of query conditions exceeded."
|
||||
msgstr "Condicions de consulta excedits."
|
||||
|
||||
#: documents/filters.py:592
|
||||
#: documents/filters.py:598
|
||||
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:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr "{data_type} no suporta expressió de consulta {expr!r}."
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr "Màxima profunditat anidada excedida."
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr "Camp personalitzat no trobat"
|
||||
|
||||
@@ -1338,48 +1338,48 @@ msgstr "data del flux"
|
||||
msgid "workflow runs"
|
||||
msgstr "flux corrents"
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr "Permisos insuficients."
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr "Color Invàlid."
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Tipus arxiu %(type)s no suportat"
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr "ID de camp personalizat ha de ser enter: %(id)s"
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr "Camp personalitzat amb ID %(id)s no existeix"
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr "Camps personalitzats han de ser una llista d'enters o un objecte que mapegi els identificadors amb els valors."
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr "Alguns camps personalitzats no existeixen o s'han especificat dues vegades."
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Variable detectada invàlida."
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr "Duplicat d'identificadors de documents no permès."
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr "Documents no trobats: %(ids)s"
|
||||
@@ -1635,36 +1635,36 @@ msgstr "L'esquema d'URI '{parts.scheme}' no està permès. Esquemes permesos: {'
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr "No s'ha pogut analitzar l'URI {value}"
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr "Invalid more_like_id"
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr "Configuració AI invàlida."
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
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:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr "Permisos insuficients per compartir document %(id)s."
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr "Paquet ja s'està processant."
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
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:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr "El paquet d'enllaç no està disponible."
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:48\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "Hodnota musí být platný JSON."
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr "Neplatný výraz dotazu na vlastní pole"
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
msgid "Invalid expression list. Must be nonempty."
|
||||
msgstr "Neplatný seznam výrazů. Nesmí být prázdný."
|
||||
|
||||
#: documents/filters.py:514
|
||||
#: documents/filters.py:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr "Neplatný logický operátor {op!r}"
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
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:598
|
||||
msgid "{name!r} is not a valid custom field."
|
||||
msgstr "{name!r} není platné vlastní pole."
|
||||
|
||||
#: documents/filters.py:629
|
||||
#: documents/filters.py:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr "{data_type} nepodporuje výraz dotazu {expr!r}."
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr "Překročena maximální hloubka větvení."
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr "Vlastní pole nebylo nalezeno"
|
||||
|
||||
@@ -1338,48 +1338,48 @@ msgstr "spuštění pracovního postupu"
|
||||
msgid "workflow runs"
|
||||
msgstr "spuštění pracovních postupů"
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr "Neplatná barva."
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Typ souboru %(type)s není podporován"
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr "Vlastní ID pole musí být celé číslo: %(id)s"
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr "Vlastní pole s ID %(id)s neexistuje"
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr "Vlastní pole musí být seznam celých čísel nebo ID pro mapování objektů na hodnoty."
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr "Některá vlastní pole neexistují nebo byla zadána dvakrát."
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Zjištěna neplatná proměnná."
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr ""
|
||||
@@ -1636,36 +1636,36 @@ msgstr "URI schéma '{parts.scheme}' není povoleno. Povolená schémata: {',\n"
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr "Nelze zpracovat URI {value}"
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
msgid "Specify only one of text, title_search, query, or more_like_id."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
msgid "The share link bundle is still being prepared. Please try again later."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:48\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "Værdien skal være gyldig JSON."
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr "Ugyldigt tilpasset feltforespørgselsudtryk"
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
msgid "Invalid expression list. Must be nonempty."
|
||||
msgstr "Ugyldig udtryksliste. Må ikke være tom."
|
||||
|
||||
#: documents/filters.py:514
|
||||
#: documents/filters.py:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr "Ugyldig logisk operatør {op!r}"
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
msgid "Maximum number of query conditions exceeded."
|
||||
msgstr "Maksimalt antal forespørgselsbetingelser overskredet."
|
||||
|
||||
#: documents/filters.py:592
|
||||
#: documents/filters.py:598
|
||||
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:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr "{data_type} understøtter ikke forespørgsel expr {expr!r}."
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr "Maksimal indlejringsdybde overskredet."
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr "Tilpasset felt ikke fundet"
|
||||
|
||||
@@ -1338,48 +1338,48 @@ msgstr "workflow-kørsel"
|
||||
msgid "workflow runs"
|
||||
msgstr "workflow-kørsler"
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr "Ugyldig farve."
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Filtype %(type)s understøttes ikke"
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Ugyldig variabel fundet."
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr ""
|
||||
@@ -1635,36 +1635,36 @@ msgstr ""
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
msgid "Specify only one of text, title_search, query, or more_like_id."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
msgid "The share link bundle is still being prepared. Please try again later."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:48\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "Wert muss gültiges JSON sein."
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr "Ungültiger benutzerdefinierter Feldabfrageausdruck"
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
msgid "Invalid expression list. Must be nonempty."
|
||||
msgstr "Ungültige Ausdrucksliste. Darf nicht leer sein."
|
||||
|
||||
#: documents/filters.py:514
|
||||
#: documents/filters.py:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr "Ungültiger logischer Operator {op!r}"
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
msgid "Maximum number of query conditions exceeded."
|
||||
msgstr "Maximale Anzahl an Abfragebedingungen überschritten."
|
||||
|
||||
#: documents/filters.py:592
|
||||
#: documents/filters.py:598
|
||||
msgid "{name!r} is not a valid custom field."
|
||||
msgstr "{name!r} ist kein gültiges Zusatzfeld."
|
||||
|
||||
#: documents/filters.py:629
|
||||
#: documents/filters.py:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr "{data_type} unterstützt den Abfrageausdruck {expr!r} nicht."
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr "Maximale Verschachtelungstiefe überschritten."
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr "Benutzerdefiniertes Feld nicht gefunden"
|
||||
|
||||
@@ -1338,48 +1338,48 @@ msgstr "Arbeitsablauf-Ausführung"
|
||||
msgid "workflow runs"
|
||||
msgstr "Arbeitsablauf wird ausgeführt"
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr "Unzureichende Berechtigungen."
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr "Ungültige Farbe."
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Dateityp %(type)s nicht unterstützt"
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr "Feld-ID eines benutzerdefinierten Felds muss eine Ganzzahl sein: %(id)s"
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr "Benutzerdefiniertes Feld mit ID %(id)s existiert nicht"
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr "Benutzerdefinierte Felder müssen eine Liste von Ganzzahlen oder ein Objekt mit Zuordnung von IDs zu Werten sein."
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr "Einige benutzerdefinierte Felder existieren nicht oder wurden zweimal angegeben."
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Ungültige Variable erkannt."
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr "Doppelte Dokumentbezeichner sind nicht erlaubt."
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr "Dokumente nicht gefunden: %(ids)s"
|
||||
@@ -1635,36 +1635,36 @@ msgstr "URI-Schema „{parts.scheme}“ ist nicht erlaubt. Erlaubte Schemata: {'
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr "URI {value} kann nicht gelesen werden"
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr "Ungültige more_like_id"
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr "Ungültige KI-Konfiguration."
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
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:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr "Unzureichende Berechtigungen, um Dokument %(id)s zu teilen."
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr "Paket wird bereits verarbeitet."
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
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:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr "Das Freigabelink-Paket ist nicht verfügbar."
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:48\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "Wert muss gültiges JSON sein."
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr "Ungültiger Zusatzfeld-Abfrageausdruck"
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
msgid "Invalid expression list. Must be nonempty."
|
||||
msgstr "Ungültige Ausdrucksliste. Darf nicht leer sein."
|
||||
|
||||
#: documents/filters.py:514
|
||||
#: documents/filters.py:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr "Ungültiger logischer Operator {op!r}"
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
msgid "Maximum number of query conditions exceeded."
|
||||
msgstr "Maximale Anzahl an Abfragebedingungen überschritten."
|
||||
|
||||
#: documents/filters.py:592
|
||||
#: documents/filters.py:598
|
||||
msgid "{name!r} is not a valid custom field."
|
||||
msgstr "{name!r} ist kein gültiges Zusatzfeld."
|
||||
|
||||
#: documents/filters.py:629
|
||||
#: documents/filters.py:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr "{data_type} unterstützt den Abfrageausdruck {expr!r} nicht."
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr "Maximale Verschachtelungstiefe überschritten."
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr "Zusatzfeld nicht gefunden"
|
||||
|
||||
@@ -1338,48 +1338,48 @@ msgstr "Arbeitsablauf-Ausführung"
|
||||
msgid "workflow runs"
|
||||
msgstr "Arbeitsablauf wird ausgeführt"
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr "Unzureichende Berechtigungen."
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr "Ungültige Farbe."
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Dateityp %(type)s nicht unterstützt"
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr "Zusatzfeld-ID muss eine Ganzzahl sein: %(id)s"
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr "Zusatzfeld mit ID %(id)s existiert nicht"
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr "Zusatzfelder müssen eine Liste von Ganzzahlen oder ein Objekt mit Zuordnung von IDs zu Werten sein."
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr "Einige Zusatzfelder existieren nicht oder wurden zweimal angegeben."
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Ungültige Variable erkannt."
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr "Doppelte Dokumentbezeichner sind nicht erlaubt."
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr "Dokumente nicht gefunden: %(ids)s"
|
||||
@@ -1635,36 +1635,36 @@ msgstr "URI-Schema „{parts.scheme}“ ist nicht erlaubt. Erlaubte Schemata: {'
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr "URI {value} kann nicht gelesen werden"
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr "Ungültige more_like_id"
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr "Ungültige KI-Konfiguration."
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr "Zeitüberschreitung bei der KI-Backendanfrage."
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
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:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr "Unzureichende Berechtigungen, um Dokument %(id)s zu teilen."
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr "Paket wird bereits verarbeitet."
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
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:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr "Das Freigabelink-Paket ist nicht verfügbar."
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:48\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "Η τιμή πρέπει να είναι σε έγκυρη μορφή JSON."
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr "Μη έγκυρη έκφραση προσαρμοσμένου ερωτήματος πεδίου"
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
msgid "Invalid expression list. Must be nonempty."
|
||||
msgstr "Μη έγκυρη λίστα έκφρασης. Πρέπει να είναι μη κενή."
|
||||
|
||||
#: documents/filters.py:514
|
||||
#: documents/filters.py:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr "Μη έγκυρος λογικός τελεστής {op!r}"
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
msgid "Maximum number of query conditions exceeded."
|
||||
msgstr "Υπέρβαση μέγιστου αριθμού συνθηκών ερωτήματος."
|
||||
|
||||
#: documents/filters.py:592
|
||||
#: documents/filters.py:598
|
||||
msgid "{name!r} is not a valid custom field."
|
||||
msgstr "Το προσαρμοσμένο πεδίο {name!r} δεν είναι ένα έγκυρο."
|
||||
|
||||
#: documents/filters.py:629
|
||||
#: documents/filters.py:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr "Το {data_type} δεν υποστηρίζει το ερώτημα expr {expr!r}s."
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr "Υπέρβαση μέγιστου βάθους εμφώλευσης."
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr "Το προσαρμοσμένο πεδίο δε βρέθηκε"
|
||||
|
||||
@@ -1338,48 +1338,48 @@ msgstr "εκτέλεση ροής εργασίας"
|
||||
msgid "workflow runs"
|
||||
msgstr "εκτελέσεις ροής εργασίας"
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr "Άκυρο χρώμα."
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Ο τύπος αρχείου %(type)s δεν υποστηρίζεται"
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Εντοπίστηκε μη έγκυρη μεταβλητή."
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr ""
|
||||
@@ -1635,36 +1635,36 @@ msgstr ""
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
msgid "Specify only one of text, title_search, query, or more_like_id."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
msgid "The share link bundle is still being prepared. Please try again later."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
msgid "Invalid expression list. Must be nonempty."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:514
|
||||
#: documents/filters.py:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
msgid "Maximum number of query conditions exceeded."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:592
|
||||
#: documents/filters.py:598
|
||||
msgid "{name!r} is not a valid custom field."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:629
|
||||
#: documents/filters.py:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr ""
|
||||
|
||||
@@ -1351,49 +1351,49 @@ msgstr ""
|
||||
msgid "workflow runs"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid ""
|
||||
"Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr ""
|
||||
@@ -1661,36 +1661,36 @@ msgstr ""
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
msgid "Specify only one of text, title_search, query, or more_like_id."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
msgid "The share link bundle is still being prepared. Please try again later."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:48\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "El valor debe ser un JSON válido."
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr "Expresión de consulta de campo personalizado no válida"
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
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:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr "Operador lógico inválido {op!r}"
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
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:598
|
||||
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:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr "{data_type} no admite la consulta expr {expr!r}."
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr "Profundidad máxima de nidificación superada."
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr "Campo personalizado no encontrado"
|
||||
|
||||
@@ -1338,48 +1338,48 @@ msgstr "ejecución del flujo de trabajo"
|
||||
msgid "workflow runs"
|
||||
msgstr "ejecuciones de flujo de trabajo"
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr "Permisos insuficientes."
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr "Color inválido."
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Tipo de fichero %(type)s no suportado"
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr "El id del campo personalizado debe ser un entero: %(id)s"
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr "El campo personalizado con identificador %(id)s no existe"
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr "Los campos personalizados deben ser una lista de enteros o un identificador de mapeo de objetos a valores."
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr "Algunos campos personalizados no existen o fueron especificados dos veces."
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Variable inválida."
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr "No se permiten identificadores de documento duplicados."
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr "Documentos no encontrados: %(ids)s"
|
||||
@@ -1635,36 +1635,36 @@ msgstr "El esquema URI '{parts.scheme}' no está permitido. Esquemas permitidos:
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr "No se puede analizar la URI {value}"
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr "Configuración de IA inválida."
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
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:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr "Permisos insuficientes para compartir el documento %(id)s."
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr "El paquete ya está siendo procesado."
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
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:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr "El paquete de enlace compartido no está disponible."
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:48\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "Väärtus peab olema lubatav JSON."
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr "Vigane kohandatud välja päringu avaldis"
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
msgid "Invalid expression list. Must be nonempty."
|
||||
msgstr "Vigane avaldiste loend. Peab olema mittetühi."
|
||||
|
||||
#: documents/filters.py:514
|
||||
#: documents/filters.py:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr "Vigane loogikaoperaator {op!r}"
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
msgid "Maximum number of query conditions exceeded."
|
||||
msgstr "Päringutingimuste suurim hulk on ületatud."
|
||||
|
||||
#: documents/filters.py:592
|
||||
#: documents/filters.py:598
|
||||
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:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr "{data_type} ei toeta päringu avaldist {expr!r}."
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr "Suurim pesastamis sügavus ületatud."
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr "Kohandatud välja ei leitud"
|
||||
|
||||
@@ -1338,48 +1338,48 @@ msgstr ""
|
||||
msgid "workflow runs"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr ""
|
||||
@@ -1634,36 +1634,36 @@ msgstr ""
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
msgid "Specify only one of text, title_search, query, or more_like_id."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
msgid "The share link bundle is still being prepared. Please try again later."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:48\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "مقدار باید JSON معتبر باشد."
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr "Invalid custom field query expression"
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
msgid "Invalid expression list. Must be nonempty."
|
||||
msgstr "لیست عبارتها نامعتبر است. نباید خالی باشد."
|
||||
|
||||
#: documents/filters.py:514
|
||||
#: documents/filters.py:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
msgid "Maximum number of query conditions exceeded."
|
||||
msgstr "حداکثر تعداد شرایط پرس و جو از آن فراتر رفته است."
|
||||
|
||||
#: documents/filters.py:592
|
||||
#: documents/filters.py:598
|
||||
msgid "{name!r} is not a valid custom field."
|
||||
msgstr "{نام! R} یک زمینه سفارشی معتبر نیست."
|
||||
|
||||
#: documents/filters.py:629
|
||||
#: documents/filters.py:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr "حداکثر عمق تودرتویی بیش از حد مجاز است."
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr "زمینه سفارشی یافت نشد"
|
||||
|
||||
@@ -1338,48 +1338,48 @@ msgstr "گردش کار"
|
||||
msgid "workflow runs"
|
||||
msgstr "گردش کار اجرا می شود"
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr "رنگ نامعتبر"
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "متغیر نامعتبر شناسایی شده است."
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr ""
|
||||
@@ -1634,36 +1634,36 @@ msgstr ""
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
msgid "Specify only one of text, title_search, query, or more_like_id."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
msgid "The share link bundle is still being prepared. Please try again later."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:48\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "Arvon on oltava kelvollista JSON:ia."
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
msgid "Invalid expression list. Must be nonempty."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:514
|
||||
#: documents/filters.py:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
msgid "Maximum number of query conditions exceeded."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:592
|
||||
#: documents/filters.py:598
|
||||
msgid "{name!r} is not a valid custom field."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:629
|
||||
#: documents/filters.py:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr ""
|
||||
|
||||
@@ -1338,48 +1338,48 @@ msgstr ""
|
||||
msgid "workflow runs"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr "Virheellinen väri."
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Tiedostotyyppiä %(type)s ei tueta"
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Virheellinen muuttuja havaittu."
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr ""
|
||||
@@ -1635,36 +1635,36 @@ msgstr ""
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
msgid "Specify only one of text, title_search, query, or more_like_id."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
msgid "The share link bundle is still being prepared. Please try again later."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:48\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "La valeur doit être un JSON valide."
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr "Requête de champ personnalisé invalide"
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
msgid "Invalid expression list. Must be nonempty."
|
||||
msgstr "Liste d'expressions invalide. Doit être non vide."
|
||||
|
||||
#: documents/filters.py:514
|
||||
#: documents/filters.py:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr "Opérateur logique {op!r} invalide"
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
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:598
|
||||
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:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr "{data_type} ne supporte pas l'expression {expr!r}."
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr "Profondeur de récursion maximale dépassée."
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr "Champ personnalisé non trouvé"
|
||||
|
||||
@@ -482,7 +482,7 @@ msgstr "a un type de document en"
|
||||
|
||||
#: documents/models.py:613
|
||||
msgid "does not have document type in"
|
||||
msgstr "n'a pas de type de document"
|
||||
msgstr "n'a pas de type de document dans"
|
||||
|
||||
#: documents/models.py:614
|
||||
msgid "has storage path in"
|
||||
@@ -594,7 +594,7 @@ msgstr "Succès"
|
||||
|
||||
#: documents/models.py:682
|
||||
msgid "Failure"
|
||||
msgstr "Erreur"
|
||||
msgstr "Échec"
|
||||
|
||||
#: documents/models.py:683
|
||||
msgid "Revoked"
|
||||
@@ -831,7 +831,7 @@ msgstr "partager le lot de liens"
|
||||
#: documents/models.py:1020
|
||||
#, python-format
|
||||
msgid "Share link bundle %(slug)s"
|
||||
msgstr ""
|
||||
msgstr "Partager le lot de liens %(slug)s"
|
||||
|
||||
#: documents/models.py:1056
|
||||
msgid "String"
|
||||
@@ -1338,48 +1338,48 @@ msgstr "exécution du workflow"
|
||||
msgid "workflow runs"
|
||||
msgstr "le flux de travail s'exécute"
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr "Droits insuffisants."
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr "Couleur incorrecte."
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Type de fichier %(type)s non pris en charge"
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr "L'id du champ personnalisé doit être un entier : %(id)s"
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr "Le champ personnalisé avec l'id %(id)s n'existe pas"
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr "Les champs personnalisés doivent être une liste d'entiers ou un mappage d'identifiants à des valeurs."
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr "Certains champs personnalisés n'existent pas ou ont été spécifiés deux fois."
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Variable invalide détectée."
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr "Les identificateurs de document en double ne sont pas autorisés."
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr "Documents introuvables : %(ids)s"
|
||||
@@ -1634,38 +1634,38 @@ msgstr "Le schéma d'URI « {parts.scheme} » n'est pas autorisé. Schémas aut
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr "Impossible d'analyser l'URI {value}"
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr "More_like_id invalide"
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr "Configuration IA invalide."
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr "La requête d'arrière-plan IA a expiré."
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
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:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr "Droits d'accès insuffisant pour partager %(id)s document."
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr "Le paquet est déjà en cours de traitement."
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
msgid "The share link bundle is still being prepared. Please try again later."
|
||||
msgstr ""
|
||||
msgstr "Le lot de liens de partage est en cours de préparation. Veuillez réessayer plus tard."
|
||||
|
||||
#: documents/views.py:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr ""
|
||||
msgstr "Le lot de liens de partage n'est pas disponible."
|
||||
|
||||
#: paperless/apps.py:11
|
||||
msgid "Paperless"
|
||||
@@ -1777,7 +1777,7 @@ msgstr "Définit le mode de la ROC"
|
||||
|
||||
#: paperless/models.py:131
|
||||
msgid "Controls archive file generation"
|
||||
msgstr ""
|
||||
msgstr "Contrôle la génération des fichiers d'archive"
|
||||
|
||||
#: paperless/models.py:139
|
||||
msgid "Sets image DPI fallback value"
|
||||
@@ -1865,7 +1865,7 @@ msgstr "Définit la correspondance des étiquettes de code-barres"
|
||||
|
||||
#: paperless/models.py:285
|
||||
msgid "Enables splitting on tag barcodes"
|
||||
msgstr ""
|
||||
msgstr "Active la division sur les codes à barres des tags"
|
||||
|
||||
#: paperless/models.py:294
|
||||
msgid "Enables AI features"
|
||||
@@ -1881,11 +1881,11 @@ msgstr "Définit le modèle d'embedding LLM"
|
||||
|
||||
#: paperless/models.py:315
|
||||
msgid "Sets the LLM embedding endpoint, optional"
|
||||
msgstr ""
|
||||
msgstr "Définit le endpoint LLM, optionnel"
|
||||
|
||||
#: paperless/models.py:322
|
||||
msgid "Sets the LLM embedding chunk size"
|
||||
msgstr ""
|
||||
msgstr "Définit le LLM embedding backend"
|
||||
|
||||
#: paperless/models.py:328
|
||||
msgid "Sets the LLM context size"
|
||||
@@ -2385,7 +2385,7 @@ msgstr "identifiant unique"
|
||||
|
||||
#: paperless_mail/models.py:342
|
||||
msgid "uid validity"
|
||||
msgstr ""
|
||||
msgstr "validité de l'uid"
|
||||
|
||||
#: paperless_mail/models.py:350
|
||||
msgid "subject"
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:48\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "ערך חייב להיות JSON תקין."
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr "ביטוי שאילתה לא חוקי של שדה מותאם אישית"
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
msgid "Invalid expression list. Must be nonempty."
|
||||
msgstr "רשימת ביטויים לא חוקית. חייב לכלול ערך."
|
||||
|
||||
#: documents/filters.py:514
|
||||
#: documents/filters.py:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr "סימן פעולה לוגית לא חוקי {op!r}"
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
msgid "Maximum number of query conditions exceeded."
|
||||
msgstr "חריגה ממספר תנאי השאילתה המרבי."
|
||||
|
||||
#: documents/filters.py:592
|
||||
#: documents/filters.py:598
|
||||
msgid "{name!r} is not a valid custom field."
|
||||
msgstr "{name!r} הוא לא שדה מותאם אישית חוקי."
|
||||
|
||||
#: documents/filters.py:629
|
||||
#: documents/filters.py:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr "{data_type} לא תומך בביטוי שאילתה {expr!r}."
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr "חריגה מעומק הקינון המרבי."
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr "שדה מותאם אישית לא נמצא"
|
||||
|
||||
@@ -1339,48 +1339,48 @@ msgstr "הרצת זרימת עבודה"
|
||||
msgid "workflow runs"
|
||||
msgstr "הרצות זרימת עבודה"
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr "הרשאות אינן מספיקות."
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr "צבע לא חוקי."
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "סוג קובץ %(type)s לא נתמך"
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr "שדה מותאם אישית id חייב להיות מספרי: %(id)s"
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr "שדה מותאם אישית עם מזהה %(id)s איננו קיים"
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr "שדות מותאמים אישית חייבים להיות רשימה של מספרים שלמים או אובייקט הממפה מזהים לערכים."
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr "חלק מהשדות המותאמים אישית אינם קיימים או שהוגדרו פעמיים."
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "משתנה לא חוקי זוהה."
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr "מזהי מסמכים כפולים אינם מורשים."
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr "מסמכים לא נמצאו: %(ids)s"
|
||||
@@ -1636,36 +1636,36 @@ msgstr "פרוטוקול ה-URI '{parts.scheme}' אינו מורשה. הפר
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr "לא ניתן לפענח את ה URI {value}"
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr "מזהה more_like_id אינו תקין"
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr "הגדרות בינה מלאכותית שגויות."
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
msgid "Specify only one of text, title_search, query, or more_like_id."
|
||||
msgstr "יש לציין רק אחד מהבאים: text, title_search, query או more_like_id."
|
||||
|
||||
#: documents/views.py:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr "הרשאות לא מספיקות לשיתוף מסמך %(id)s."
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr "החבילה (Bundle) כבר נמצאת בתהליך עיבוד."
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
msgid "The share link bundle is still being prepared. Please try again later."
|
||||
msgstr "חבילת קישור השיתוף עדיין בהכנה. נא לנסות שוב מאוחר יותר."
|
||||
|
||||
#: documents/views.py:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr "חבילת קישור השיתוף אינה זמינה."
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:48\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "मान वैध JSON होना चाहिए."
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr "अमान्य कस्टम फ़ील्ड क्वेरी एक्सप्रेशन"
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
msgid "Invalid expression list. Must be nonempty."
|
||||
msgstr "अमान्य एक्सप्रेशन सूची। खाली नहीं होनी चाहिए।"
|
||||
|
||||
#: documents/filters.py:514
|
||||
#: documents/filters.py:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr "अमान्य लॉजिकल ऑपरेटर {op!r}"
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
msgid "Maximum number of query conditions exceeded."
|
||||
msgstr "क्वेरी शर्तों की अधिकतम संख्या पार हो गई है।"
|
||||
|
||||
#: documents/filters.py:592
|
||||
#: documents/filters.py:598
|
||||
msgid "{name!r} is not a valid custom field."
|
||||
msgstr "{name!r} यह एक वैध कस्टम फ़ील्ड नहीं है।"
|
||||
|
||||
#: documents/filters.py:629
|
||||
#: documents/filters.py:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr "{data_type} क्वेरी एक्सप्रेशन {expr!r} का समर्थन नहीं करता है।"
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr "अधिकतम नेस्टिंग डेप्थ पार हो गई है।"
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr "कस्टम फ़ील्ड नहीं मिला"
|
||||
|
||||
@@ -1338,48 +1338,48 @@ msgstr ""
|
||||
msgid "workflow runs"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr ""
|
||||
@@ -1634,36 +1634,36 @@ msgstr ""
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
msgid "Specify only one of text, title_search, query, or more_like_id."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
msgid "The share link bundle is still being prepared. Please try again later."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:48\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "Vrijednost mora biti važeći JSON."
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr "Nevažeći izraz upita prilagođenog polja"
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
msgid "Invalid expression list. Must be nonempty."
|
||||
msgstr "Nevažeći popis izraza. Ne smije biti prazno."
|
||||
|
||||
#: documents/filters.py:514
|
||||
#: documents/filters.py:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr "Nevažeći logički operator {op!r}"
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
msgid "Maximum number of query conditions exceeded."
|
||||
msgstr "Premašen je maksimalan broj uvjeta upita."
|
||||
|
||||
#: documents/filters.py:592
|
||||
#: documents/filters.py:598
|
||||
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:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr "{data_type} ne podržava upit izraz {expr!r}."
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr "Premašena je najveća razina ugniježđivanja."
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr "Prilagođeno polje nije pronađeno"
|
||||
|
||||
@@ -1338,48 +1338,48 @@ msgstr "pokretanje tijeka rada"
|
||||
msgid "workflow runs"
|
||||
msgstr "tijek rada pokrenut"
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr "Nedovoljne ovlasti."
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr "Nevažeća boja."
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Vrsta datoteke %(type)s nije podržana"
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr "ID prilagođenog polja mora biti cijeli broj: %(id)s"
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr "Prilagođeno polje s ID-om %(id)s ne postoji"
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr "Prilagođena polja moraju biti popis cijelih brojeva ili ID-ova objekata koji preslikavaju vrijednosti."
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr "Neka prilagođena polja ne postoje ili su navedena dvaput."
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Otkrivena je nevaljana vrsta datoteke."
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr "Duplicirani identifikatori dokumenata nisu dopušteni."
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr "Dokumenti nisu pronađeni: %(ids)s"
|
||||
@@ -1635,36 +1635,36 @@ msgstr "URI shema '{parts.scheme}' nije dopuštena. Dopuštene sheme: {', '.join
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr "Nije moguće raščlaniti URI {value}"
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr "Nevažeći more_like_id"
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr "Nevažeća AI konfiguracija."
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
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:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr "Nedovoljne ovlasti za dijeljenje dokumenta %(id)s."
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr "Paket se već obrađuje."
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
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:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr "Paket linka za dijeljenje nije dostupan."
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:48\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "Érvényes JSON érték szükséges."
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr "Érvénytelen egyéni mező lekérdezési kifejezés"
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
msgid "Invalid expression list. Must be nonempty."
|
||||
msgstr "Érvénytelen kifejezéslista. Nem lehet üres."
|
||||
|
||||
#: documents/filters.py:514
|
||||
#: documents/filters.py:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr "Érvénytelen logikai operátor {op!r}"
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
msgid "Maximum number of query conditions exceeded."
|
||||
msgstr "Maximum lekérdezési feltételszám átlépve."
|
||||
|
||||
#: documents/filters.py:592
|
||||
#: documents/filters.py:598
|
||||
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:635
|
||||
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:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr "Maximum beágyazási mélység túllépve."
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr "Az egyéni mező nem található"
|
||||
|
||||
@@ -1338,48 +1338,48 @@ msgstr "munkafolyamat futtatás"
|
||||
msgid "workflow runs"
|
||||
msgstr "munkafolyamat futtatások"
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr "Nincs jogosúltsága."
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr "Érvénytelen szín."
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "%(type)s fájltípus nem támogatott"
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr "Az egyéni mező azonosítójának egész számnak kell lennie: %(id)s"
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr "A(z) %(id)s azonosítójú egyéni mező nem létezik"
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr "Az egyéni mezőknek egész számok listájának vagy azonosítókat értékekhez rendelő objektumnak kell lenniük."
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr "Néhány egyéni mező nem létezik, vagy kétszer lett megadva."
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Érvénytelen változó észlelve."
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr "A dokumentumazonosítók duplikálása nem megengedett."
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr "Dokumentumok nem találhatók: %(ids)s"
|
||||
@@ -1635,36 +1635,36 @@ msgstr "A '{parts.scheme}' séma nem engedélyezett. Engedélyezett sémák: {',
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr "A {value} URI értelmezése sikertelen"
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr "Érvénytelen more_like_id"
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr "Érvénytelen MI konfiguráció."
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
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:4471
|
||||
#: documents/views.py:4512
|
||||
#, 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:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr "A csomag feldolgozása már folyamatban van."
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
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:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr "A megosztási linkcsomag nem elérhető."
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:48\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "Nilai harus berupa JSON yang valid."
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr "Ekspresi pencarian bidang khusus tidak valid"
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
msgid "Invalid expression list. Must be nonempty."
|
||||
msgstr "Daftar ekspresi tidak valid. Tidak boleh kosong."
|
||||
|
||||
#: documents/filters.py:514
|
||||
#: documents/filters.py:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr "Operator logika {op!r} tidak valid"
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
msgid "Maximum number of query conditions exceeded."
|
||||
msgstr "Jumlah maksimal kondisi pencarian terlampaui."
|
||||
|
||||
#: documents/filters.py:592
|
||||
#: documents/filters.py:598
|
||||
msgid "{name!r} is not a valid custom field."
|
||||
msgstr "{name!r} bukan bidang khusus yang valid."
|
||||
|
||||
#: documents/filters.py:629
|
||||
#: documents/filters.py:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr "{data_type} tidak mendukung ekspresi pencarian expr {expr!r}."
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr "Kedalaman susunan maksimal terlampaui."
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr "Bidang khusus tidak ditemukan"
|
||||
|
||||
@@ -1338,48 +1338,48 @@ msgstr "jalankan alur kerja"
|
||||
msgid "workflow runs"
|
||||
msgstr "daftar jalankan alur kerja"
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr "Izin tidak mencukupi"
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr "Warna tidak sesuai."
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Jenis berkas %(type)s tidak didukung"
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr "Id kolom kustom harus berupa bilangan bulat: %(id)s"
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr "Kolom kustom dengan id %(id)s tidak ada"
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr "Kolom kustom harus berupa daftar bilangan bulat atau objek yang memetakan id ke nilai."
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr "Beberapa kolom kustom tidak ada atau ditentukan dua kali."
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Variabel ilegal terdeteksi."
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr "Penggunaan pengenal dokumen ganda tidak diperbolehkan."
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr "Dokumen tidak ditemukan: %(ids)s"
|
||||
@@ -1635,36 +1635,36 @@ msgstr "Skema URI '{parts.scheme}' tidak diizinkan. Skema yang diizinkan: {', '.
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr "Gagal membaca URI {value}"
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
msgid "Specify only one of text, title_search, query, or more_like_id."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr "Izin tidak mencukupi untuk berbagi dokumen %(id)s"
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr "Paket sedang diproses."
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
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:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr "Bundel tautan berbagi tidak tersedia."
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:48\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "Il valore deve essere un JSON valido."
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr "Campo personalizzato della query non valido"
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
msgid "Invalid expression list. Must be nonempty."
|
||||
msgstr "Elenco delle espressioni non valido. Deve essere non vuoto."
|
||||
|
||||
#: documents/filters.py:514
|
||||
#: documents/filters.py:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr "Operatore logico non valido {op!r}"
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
msgid "Maximum number of query conditions exceeded."
|
||||
msgstr "Numero massimo di condizioni di query superato."
|
||||
|
||||
#: documents/filters.py:592
|
||||
#: documents/filters.py:598
|
||||
msgid "{name!r} is not a valid custom field."
|
||||
msgstr "{name!r} non è un campo personalizzato valido."
|
||||
|
||||
#: documents/filters.py:629
|
||||
#: documents/filters.py:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr "{data_type} Non supporta la jQuery Expo {Expo!r}."
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr "Profondità massima di nidificazione superata."
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr "Campo personalizzato non trovato"
|
||||
|
||||
@@ -1338,48 +1338,48 @@ msgstr "esecuzione del flusso di lavoro"
|
||||
msgid "workflow runs"
|
||||
msgstr "esecuzioni del flusso di lavoro"
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr "Autorizzazioni insufficienti."
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr "Colore non valido."
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Il tipo di file %(type)s non è supportato"
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr "L'ID del campo personalizzato deve essere un numero intero: %(id)s"
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr "Il campo personalizzato con ID %(id)s non esiste"
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr "I campi personalizzati devono essere un elenco di numeri interi o un oggetto che mappa gli ID ai valori."
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr "Alcuni campi personalizzati non esistono o sono stati specificati due volte."
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Variabile non valida rilevata."
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr "Non sono consentiti identificatori di documenti duplicati."
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr "Documenti non trovati: %(ids)s"
|
||||
@@ -1635,36 +1635,36 @@ msgstr "Lo schema URI '{parts.scheme}' non è consentito. Schemi consentiti: {',
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr "Impossibile analizzare l'URI {value}"
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr "more_like_id non valido"
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr "Configurazione AI non valida."
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr "Richiesta di backend AI scaduta."
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
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:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr "Autorizzazioni insufficienti per condividere il documento %(id)s."
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr "Il pacchetto è già in fase di elaborazione."
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
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:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr "Il pacchetto di link di condivisione non è disponibile."
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:48\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "値は有効なJSONである必要があります。"
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr "無効なカスタムフィールドクエリ式"
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
msgid "Invalid expression list. Must be nonempty."
|
||||
msgstr "無効な式リストです。空であってはなりません。"
|
||||
|
||||
#: documents/filters.py:514
|
||||
#: documents/filters.py:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr "無効な論理演算子 {op!r}"
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
msgid "Maximum number of query conditions exceeded."
|
||||
msgstr "クエリ条件の最大数を超えました。"
|
||||
|
||||
#: documents/filters.py:592
|
||||
#: documents/filters.py:598
|
||||
msgid "{name!r} is not a valid custom field."
|
||||
msgstr "{name!r} は有効なカスタムフィールドではありません。"
|
||||
|
||||
#: documents/filters.py:629
|
||||
#: documents/filters.py:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr "{data_type} はクエリ expr {expr!r} をサポートしていません。"
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr "最大ネストの深さを超えました。"
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr "カスタムフィールドが見つかりません"
|
||||
|
||||
@@ -1338,48 +1338,48 @@ msgstr "ワークフローの実行"
|
||||
msgid "workflow runs"
|
||||
msgstr "ワークフローの実行"
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr "無効な色"
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "ファイルタイプ %(type)s はサポートされていません"
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "無効な変数を検出しました"
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr ""
|
||||
@@ -1635,36 +1635,36 @@ msgstr ""
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
msgid "Specify only one of text, title_search, query, or more_like_id."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
msgid "The share link bundle is still being prepared. Please try again later."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:48\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "값은 유효한 JSON이어야 합니다."
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr "잘못된 사용자 정의 필드 쿼리 표현식"
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
msgid "Invalid expression list. Must be nonempty."
|
||||
msgstr "잘못된 표현식 목록입니다. 비어 있지 않아야 합니다."
|
||||
|
||||
#: documents/filters.py:514
|
||||
#: documents/filters.py:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr "잘못된 논리 연산자 {op!r}"
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
msgid "Maximum number of query conditions exceeded."
|
||||
msgstr "쿼리 조건의 최대 개수를 초과했습니다."
|
||||
|
||||
#: documents/filters.py:592
|
||||
#: documents/filters.py:598
|
||||
msgid "{name!r} is not a valid custom field."
|
||||
msgstr "{name!r} 은 잘못된 사용자 정의 필드입니다."
|
||||
|
||||
#: documents/filters.py:629
|
||||
#: documents/filters.py:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr "{data_type}은 쿼리 표현식 {expr!r}을(를) 지원하지 않습니다."
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr "최대 중첩 깊이를 초과했습니다."
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr "사용자 지정 필드를 찾을 수 없음"
|
||||
|
||||
@@ -1338,48 +1338,48 @@ msgstr "워크플로 실행"
|
||||
msgid "workflow runs"
|
||||
msgstr "워크플로우 실행"
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr "사용자 정의 ID 필드는 반드시 정수여야 합니다: %(id)s"
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr "%(id)s를 ID로 가지는 사용자 정의 필드가 존재하지 않습니다."
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr "사용자 정의 필드는 정수 리스트이거나, ID를 값에 매핑하는 객체여야 합니다."
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr "존재하지 않거나 중복된 사용자 정의 필드가 있습니다."
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "잘못된 변수가 감지되었습니다."
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr ""
|
||||
@@ -1635,36 +1635,36 @@ msgstr "URI 스킴 '{parts.scheme}'는 허용되지 않습니다. 허용된 스
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr "{value} URI를 파싱할 수 없음"
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
msgid "Specify only one of text, title_search, query, or more_like_id."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
msgid "The share link bundle is still being prepared. Please try again later."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:48\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
msgid "Invalid expression list. Must be nonempty."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:514
|
||||
#: documents/filters.py:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
msgid "Maximum number of query conditions exceeded."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:592
|
||||
#: documents/filters.py:598
|
||||
msgid "{name!r} is not a valid custom field."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:629
|
||||
#: documents/filters.py:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr ""
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr ""
|
||||
|
||||
@@ -1338,48 +1338,48 @@ msgstr ""
|
||||
msgid "workflow runs"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr "Ongëlteg Faarf."
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Fichierstyp %(type)s net ënnerstëtzt"
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Ongëlteg Zeechen detektéiert."
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr ""
|
||||
@@ -1634,36 +1634,36 @@ msgstr ""
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
msgid "Specify only one of text, title_search, query, or more_like_id."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
msgid "The share link bundle is still being prepared. Please try again later."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-22 15:44+0000\n"
|
||||
"PO-Revision-Date: 2026-07-22 15:48\n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\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:470
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "Reikšmė turi būti galiojantis JSON."
|
||||
|
||||
#: documents/filters.py:483
|
||||
#: documents/filters.py:489
|
||||
msgid "Invalid custom field query expression"
|
||||
msgstr "Neteisinga pasirinktinio lauko užklausos išraiška"
|
||||
|
||||
#: documents/filters.py:493
|
||||
#: documents/filters.py:499
|
||||
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:520
|
||||
msgid "Invalid logical operator {op!r}"
|
||||
msgstr "Neteisingas loginis operatorius {op!r}"
|
||||
|
||||
#: documents/filters.py:528
|
||||
#: documents/filters.py:534
|
||||
msgid "Maximum number of query conditions exceeded."
|
||||
msgstr "Viršytas maksimalus užklausos sąlygų skaičius."
|
||||
|
||||
#: documents/filters.py:592
|
||||
#: documents/filters.py:598
|
||||
msgid "{name!r} is not a valid custom field."
|
||||
msgstr "{name!r} nėra galiojantis pasirinktas laukas."
|
||||
|
||||
#: documents/filters.py:629
|
||||
#: documents/filters.py:635
|
||||
msgid "{data_type} does not support query expr {expr!r}."
|
||||
msgstr "{data_type} nepalaiko užklausos išraiškos {expr!r}."
|
||||
|
||||
#: documents/filters.py:744 documents/models.py:136
|
||||
#: documents/filters.py:750 documents/models.py:136
|
||||
msgid "Maximum nesting depth exceeded."
|
||||
msgstr "Viršytas maksimalus įdėjimo gylis."
|
||||
|
||||
#: documents/filters.py:1061
|
||||
#: documents/filters.py:1067
|
||||
msgid "Custom field not found"
|
||||
msgstr "Pasirinktinis laukas nerastas"
|
||||
|
||||
@@ -1338,48 +1338,48 @@ msgstr ""
|
||||
msgid "workflow runs"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:503 documents/serialisers.py:855
|
||||
#: documents/serialisers.py:2744 documents/views.py:297 documents/views.py:2500
|
||||
#: documents/serialisers.py:522 documents/serialisers.py:874
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:691
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2216
|
||||
#: documents/serialisers.py:2235
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2260
|
||||
#: documents/serialisers.py:2279
|
||||
#, python-format
|
||||
msgid "Custom field id must be an integer: %(id)s"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2267
|
||||
#: documents/serialisers.py:2286
|
||||
#, python-format
|
||||
msgid "Custom field with id %(id)s does not exist"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2284 documents/serialisers.py:2294
|
||||
#: documents/serialisers.py:2303 documents/serialisers.py:2313
|
||||
msgid "Custom fields must be a list of integers or an object mapping ids to values."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2289
|
||||
#: documents/serialisers.py:2308
|
||||
msgid "Some custom fields don't exist or were specified twice."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2436
|
||||
#: documents/serialisers.py:2455
|
||||
msgid "Invalid variable detected."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2800
|
||||
#: documents/serialisers.py:2819
|
||||
msgid "Duplicate document identifiers are not allowed."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:2830 documents/views.py:4459
|
||||
#: documents/serialisers.py:2849 documents/views.py:4500
|
||||
#, python-format
|
||||
msgid "Documents not found: %(ids)s"
|
||||
msgstr ""
|
||||
@@ -1634,36 +1634,36 @@ msgstr "URI schema '{parts.scheme}' nėra leistina. Galimos schemos: {', '.join(
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr "Nepavyko apdoroti URI {value}"
|
||||
|
||||
#: documents/views.py:290 documents/views.py:2497
|
||||
#: documents/views.py:291 documents/views.py:2538
|
||||
msgid "Invalid more_like_id"
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1524
|
||||
#: documents/views.py:1556
|
||||
msgid "Invalid AI configuration."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:1533
|
||||
#: documents/views.py:1565
|
||||
msgid "AI backend request timed out."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:2322 documents/views.py:2643
|
||||
#: documents/views.py:2363 documents/views.py:2684
|
||||
msgid "Specify only one of text, title_search, query, or more_like_id."
|
||||
msgstr ""
|
||||
|
||||
#: documents/views.py:4471
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr "Nepakanka leidimų bendrinti dokumentą %(id)s."
|
||||
|
||||
#: documents/views.py:4517
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
msgstr "Rinkinys jau apdorojamas."
|
||||
|
||||
#: documents/views.py:4578
|
||||
#: documents/views.py:4619
|
||||
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:4588
|
||||
#: documents/views.py:4629
|
||||
msgid "The share link bundle is unavailable."
|
||||
msgstr "Dalinimos nuorodų rinkinys yra nepasiekiamas."
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user