Added translations, fixed inbox, minor updates to pages

This commit is contained in:
Anton Stubenbord
2023-02-03 00:27:14 +01:00
parent ba5a1fcbc7
commit 3f305ce1d6
24 changed files with 982 additions and 177 deletions

View File

@@ -36,13 +36,16 @@ class HintCard extends StatelessWidget {
hintIcon, hintIcon,
color: Theme.of(context).hintColor, color: Theme.of(context).hintColor,
).padded(), ).padded(),
Align( Padding(
alignment: Alignment.center, padding: const EdgeInsets.all(8.0),
child: Text( child: Align(
hintText, alignment: Alignment.center,
softWrap: true, child: Text(
textAlign: TextAlign.center, hintText,
style: Theme.of(context).textTheme.bodySmall, softWrap: true,
textAlign: TextAlign.center,
style: Theme.of(context).textTheme.bodySmall,
),
), ),
), ),
if (onHintAcknowledged != null) if (onHintAcknowledged != null)

View File

@@ -51,7 +51,7 @@ class _DocumentSearchPageState extends State<DocumentSearchPage> {
hintStyle: theme.textTheme.bodyLarge?.apply( hintStyle: theme.textTheme.bodyLarge?.apply(
color: theme.colorScheme.onSurfaceVariant, color: theme.colorScheme.onSurfaceVariant,
), ),
hintText: "Search documents", //TODO: INTL hintText: S.of(context).documentSearchSearchDocuments,
border: InputBorder.none, border: InputBorder.none,
), ),
controller: _queryController, controller: _queryController,
@@ -143,8 +143,10 @@ class _DocumentSearchPageState extends State<DocumentSearchPage> {
slivers: [ slivers: [
SliverToBoxAdapter(child: header), SliverToBoxAdapter(child: header),
if (state.hasLoaded && !state.isLoading && state.documents.isEmpty) if (state.hasLoaded && !state.isLoading && state.documents.isEmpty)
const SliverToBoxAdapter( SliverToBoxAdapter(
child: Center(child: Text("No documents found.")), //TODO: INTL child: Center(
child: Text(S.of(context).documentSearchNoMatchesFound),
),
) )
else else
SliverAdaptiveDocumentsView( SliverAdaptiveDocumentsView(

View File

@@ -47,9 +47,7 @@ class DocumentsCubit extends HydratedCubit<DocumentsState>
), ),
); );
} else { } else {
emit( emit(state.copyWith(selection: [...state.selection, model]));
state.copyWith(selection: [...state.selection, model]),
);
} }
} }

View File

@@ -291,7 +291,7 @@ class _DocumentEditPageState extends State<DocumentEditPage> {
label: Text(S.of(context).documentCreatedPropertyLabel), label: Text(S.of(context).documentCreatedPropertyLabel),
), ),
initialValue: initialCreatedAtDate, initialValue: initialCreatedAtDate,
format: DateFormat("dd. MMMM yyyy"), //TODO: Localized date format format: DateFormat.yMMMMd(),
initialEntryMode: DatePickerEntryMode.calendar, initialEntryMode: DatePickerEntryMode.calendar,
), ),
if (_filteredSuggestions.hasSuggestedDates) if (_filteredSuggestions.hasSuggestedDates)

View File

@@ -4,6 +4,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:paperless_api/paperless_api.dart'; import 'package:paperless_api/paperless_api.dart';
import 'package:paperless_mobile/core/bloc/connectivity_cubit.dart'; import 'package:paperless_mobile/core/bloc/connectivity_cubit.dart';
import 'package:paperless_mobile/extensions/flutter_extensions.dart';
import 'package:paperless_mobile/features/app_drawer/view/app_drawer.dart'; import 'package:paperless_mobile/features/app_drawer/view/app_drawer.dart';
import 'package:paperless_mobile/features/document_search/view/document_search_page.dart'; import 'package:paperless_mobile/features/document_search/view/document_search_page.dart';
import 'package:paperless_mobile/features/documents/bloc/documents_cubit.dart'; import 'package:paperless_mobile/features/documents/bloc/documents_cubit.dart';
@@ -12,6 +13,7 @@ import 'package:paperless_mobile/features/documents/view/widgets/adaptive_docume
import 'package:paperless_mobile/features/documents/view/widgets/documents_empty_state.dart'; import 'package:paperless_mobile/features/documents/view/widgets/documents_empty_state.dart';
import 'package:paperless_mobile/features/documents/view/widgets/search/document_filter_panel.dart'; import 'package:paperless_mobile/features/documents/view/widgets/search/document_filter_panel.dart';
import 'package:paperless_mobile/features/documents/view/widgets/selection/bulk_delete_confirmation_dialog.dart'; import 'package:paperless_mobile/features/documents/view/widgets/selection/bulk_delete_confirmation_dialog.dart';
import 'package:paperless_mobile/features/documents/view/widgets/sort_documents_button.dart';
import 'package:paperless_mobile/features/labels/bloc/providers/labels_bloc_provider.dart'; import 'package:paperless_mobile/features/labels/bloc/providers/labels_bloc_provider.dart';
import 'package:paperless_mobile/features/saved_view/cubit/saved_view_cubit.dart'; import 'package:paperless_mobile/features/saved_view/cubit/saved_view_cubit.dart';
import 'package:paperless_mobile/features/saved_view/view/add_saved_view_page.dart'; import 'package:paperless_mobile/features/saved_view/view/add_saved_view_page.dart';
@@ -19,6 +21,7 @@ import 'package:paperless_mobile/features/saved_view/view/saved_view_list.dart';
import 'package:paperless_mobile/features/search_app_bar/view/search_app_bar.dart'; import 'package:paperless_mobile/features/search_app_bar/view/search_app_bar.dart';
import 'package:paperless_mobile/features/settings/bloc/application_settings_cubit.dart'; import 'package:paperless_mobile/features/settings/bloc/application_settings_cubit.dart';
import 'package:paperless_mobile/features/settings/bloc/application_settings_state.dart'; import 'package:paperless_mobile/features/settings/bloc/application_settings_state.dart';
import 'package:paperless_mobile/features/settings/model/view_type.dart';
import 'package:paperless_mobile/features/tasks/cubit/task_status_cubit.dart'; import 'package:paperless_mobile/features/tasks/cubit/task_status_cubit.dart';
import 'package:paperless_mobile/generated/l10n.dart'; import 'package:paperless_mobile/generated/l10n.dart';
import 'package:paperless_mobile/helpers/message_helpers.dart'; import 'package:paperless_mobile/helpers/message_helpers.dart';
@@ -147,7 +150,6 @@ class _DocumentsPageState extends State<DocumentsPage>
return false; return false;
}, },
child: NestedScrollView( child: NestedScrollView(
floatHeaderSlivers: true,
headerSliverBuilder: (context, innerBoxIsScrolled) => [ headerSliverBuilder: (context, innerBoxIsScrolled) => [
SliverOverlapAbsorber( SliverOverlapAbsorber(
// This widget takes the overlapping behavior of the SliverAppBar, // This widget takes the overlapping behavior of the SliverAppBar,
@@ -160,17 +162,41 @@ class _DocumentsPageState extends State<DocumentsPage>
handle: NestedScrollView.sliverOverlapAbsorberHandleFor( handle: NestedScrollView.sliverOverlapAbsorberHandleFor(
context, context,
), ),
sliver: SearchAppBar( sliver: BlocBuilder<DocumentsCubit, DocumentsState>(
hintText: "Search documents", //TODO: INTL builder: (context, state) {
onOpenSearch: showDocumentSearchPage, if (state.selection.isNotEmpty) {
bottom: TabBar( return SliverAppBar(
controller: _tabController, floating: false,
isScrollable: true, pinned: true,
tabs: [ leading: IconButton(
Tab(text: S.of(context).documentsPageTitle), icon: const Icon(Icons.close),
Tab(text: S.of(context).savedViewsLabel), onPressed: () => context
], .read<DocumentsCubit>()
), .resetSelection(),
),
title: Text(
"${state.selection.length} ${S.of(context).documentsSelectedText}",
),
actions: [
IconButton(
icon: const Icon(Icons.delete),
onPressed: () => _onDelete(state),
),
],
);
}
return SearchAppBar(
hintText: S.of(context).documentSearchSearchDocuments,
onOpenSearch: showDocumentSearchPage,
bottom: TabBar(
controller: _tabController,
tabs: [
Tab(text: S.of(context).documentsPageTitle),
Tab(text: S.of(context).savedViewsLabel),
],
),
);
},
), ),
), ),
], ],
@@ -186,7 +212,7 @@ class _DocumentsPageState extends State<DocumentsPage>
_currentTab != desiredTab) { _currentTab != desiredTab) {
setState(() => _currentTab = desiredTab); setState(() => _currentTab = desiredTab);
} }
return true; return false;
}, },
child: NotificationListener<ScrollMetricsNotification>( child: NotificationListener<ScrollMetricsNotification>(
onNotification: (notification) { onNotification: (notification) {
@@ -213,7 +239,7 @@ class _DocumentsPageState extends State<DocumentsPage>
), ),
); );
} }
return true; return false;
}, },
child: TabBarView( child: TabBarView(
controller: _tabController, controller: _tabController,
@@ -233,6 +259,7 @@ class _DocumentsPageState extends State<DocumentsPage>
.sliverOverlapAbsorberHandleFor( .sliverOverlapAbsorberHandleFor(
context), context),
), ),
_buildViewActions(),
BlocBuilder<DocumentsCubit, DocumentsState>( BlocBuilder<DocumentsCubit, DocumentsState>(
buildWhen: (previous, current) => buildWhen: (previous, current) =>
!const ListEquality().equals( !const ListEquality().equals(
@@ -324,8 +351,33 @@ class _DocumentsPageState extends State<DocumentsPage>
); );
} }
//TODO: Add app bar... Widget _buildViewActions() {
void _onDelete(BuildContext context, DocumentsState documentsState) async { return SliverToBoxAdapter(
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const SortDocumentsButton(),
BlocBuilder<ApplicationSettingsCubit, ApplicationSettingsState>(
builder: (context, state) {
return IconButton(
icon: Icon(
state.preferredViewType == ViewType.list
? Icons.grid_view_rounded
: Icons.list,
),
onPressed: () =>
context.read<ApplicationSettingsCubit>().setViewType(
state.preferredViewType.toggle(),
),
);
},
)
],
).paddedSymmetrically(horizontal: 8, vertical: 4),
);
}
void _onDelete(DocumentsState documentsState) async {
final shouldDelete = await showDialog<bool>( final shouldDelete = await showDialog<bool>(
context: context, context: context,
builder: (context) => builder: (context) =>

View File

@@ -20,15 +20,14 @@ import 'package:paperless_mobile/features/document_upload/view/document_upload_p
import 'package:paperless_mobile/features/documents/bloc/documents_cubit.dart'; import 'package:paperless_mobile/features/documents/bloc/documents_cubit.dart';
import 'package:paperless_mobile/features/documents/view/pages/documents_page.dart'; import 'package:paperless_mobile/features/documents/view/pages/documents_page.dart';
import 'package:paperless_mobile/features/home/view/route_description.dart'; import 'package:paperless_mobile/features/home/view/route_description.dart';
import 'package:paperless_mobile/features/home/view/widget/_app_drawer.dart';
import 'package:paperless_mobile/features/inbox/bloc/inbox_cubit.dart'; import 'package:paperless_mobile/features/inbox/bloc/inbox_cubit.dart';
import 'package:paperless_mobile/features/inbox/bloc/state/inbox_state.dart';
import 'package:paperless_mobile/features/inbox/view/pages/inbox_page.dart'; import 'package:paperless_mobile/features/inbox/view/pages/inbox_page.dart';
import 'package:paperless_mobile/features/labels/view/pages/labels_page.dart'; import 'package:paperless_mobile/features/labels/view/pages/labels_page.dart';
import 'package:paperless_mobile/features/notifications/services/local_notification_service.dart'; import 'package:paperless_mobile/features/notifications/services/local_notification_service.dart';
import 'package:paperless_mobile/features/saved_view/cubit/saved_view_cubit.dart'; import 'package:paperless_mobile/features/saved_view/cubit/saved_view_cubit.dart';
import 'package:paperless_mobile/features/scan/bloc/document_scanner_cubit.dart'; import 'package:paperless_mobile/features/scan/bloc/document_scanner_cubit.dart';
import 'package:paperless_mobile/features/scan/view/scanner_page.dart'; import 'package:paperless_mobile/features/scan/view/scanner_page.dart';
import 'package:paperless_mobile/features/settings/view/settings_page.dart';
import 'package:paperless_mobile/features/sharing/share_intent_queue.dart'; import 'package:paperless_mobile/features/sharing/share_intent_queue.dart';
import 'package:paperless_mobile/features/tasks/cubit/task_status_cubit.dart'; import 'package:paperless_mobile/features/tasks/cubit/task_status_cubit.dart';
import 'package:paperless_mobile/generated/l10n.dart'; import 'package:paperless_mobile/generated/l10n.dart';
@@ -189,13 +188,24 @@ class _HomePageState extends State<HomePage> {
label: S.of(context).bottomNavLabelsPageLabel, label: S.of(context).bottomNavLabelsPageLabel,
), ),
RouteDescription( RouteDescription(
icon: const Icon(Icons.inbox_outlined), icon: const Icon(Icons.inbox_outlined),
selectedIcon: Icon( selectedIcon: Icon(
Icons.inbox, Icons.inbox,
color: Theme.of(context).colorScheme.primary, color: Theme.of(context).colorScheme.primary,
), ),
label: S.of(context).bottomNavInboxPageLabel, label: S.of(context).bottomNavInboxPageLabel,
), badgeBuilder: (icon) => BlocBuilder<InboxCubit, InboxState>(
bloc: _inboxCubit,
builder: (context, state) {
if (state.itemsInInboxCount > 0) {
return Badge.count(
count: state.itemsInInboxCount,
child: icon,
);
}
return icon;
},
)),
]; ];
final routes = <Widget>[ final routes = <Widget>[
MultiBlocProvider( MultiBlocProvider(

View File

@@ -16,8 +16,8 @@ class RouteDescription {
NavigationDestination toNavigationDestination() { NavigationDestination toNavigationDestination() {
return NavigationDestination( return NavigationDestination(
label: label, label: label,
icon: icon, icon: badgeBuilder?.call(icon) ?? icon,
selectedIcon: selectedIcon, selectedIcon: badgeBuilder?.call(selectedIcon) ?? selectedIcon,
); );
} }

View File

@@ -115,6 +115,7 @@ class InboxCubit extends HydratedCubit<InboxState> with PagedDocumentsMixin {
document.copyWith(tags: updatedTags), document.copyWith(tags: updatedTags),
); );
await remove(document); await remove(document);
emit(state.copyWith(itemsInInboxCount: state.itemsInInboxCount - 1));
return tagsToRemove; return tagsToRemove;
} }
@@ -129,6 +130,7 @@ class InboxCubit extends HydratedCubit<InboxState> with PagedDocumentsMixin {
tags: {...document.tags, ...removedTags}, tags: {...document.tags, ...removedTags},
); );
await _documentsApi.update(updatedDoc); await _documentsApi.update(updatedDoc);
emit(state.copyWith(itemsInInboxCount: state.itemsInInboxCount + 1));
return reload(); return reload();
} }
@@ -147,6 +149,7 @@ class InboxCubit extends HydratedCubit<InboxState> with PagedDocumentsMixin {
emit(state.copyWith( emit(state.copyWith(
hasLoaded: true, hasLoaded: true,
value: [], value: [],
itemsInInboxCount: 0,
)); ));
} finally { } finally {
emit(state.copyWith(isLoading: false)); emit(state.copyWith(isLoading: false));
@@ -160,6 +163,7 @@ class InboxCubit extends HydratedCubit<InboxState> with PagedDocumentsMixin {
} else { } else {
// Remove document from inbox. // Remove document from inbox.
remove(document); remove(document);
emit(state.copyWith(itemsInInboxCount: state.itemsInInboxCount - 1));
} }
} }

View File

@@ -76,78 +76,81 @@ class _InboxPageState extends State<InboxPage> {
); );
}, },
), ),
body: NestedScrollView( body: RefreshIndicator(
headerSliverBuilder: (context, innerBoxIsScrolled) => [ edgeOffset: 78,
SearchAppBar( onRefresh: () => context.read<InboxCubit>().initializeInbox(),
hintText: "Search documents", child: NestedScrollView(
onOpenSearch: showDocumentSearchPage), headerSliverBuilder: (context, innerBoxIsScrolled) => [
], SearchAppBar(
body: BlocBuilder<InboxCubit, InboxState>( hintText: S.of(context).documentSearchSearchDocuments,
builder: (context, state) { onOpenSearch: showDocumentSearchPage,
if (!state.hasLoaded) { ),
return const CustomScrollView( ],
physics: NeverScrollableScrollPhysics(), body: BlocBuilder<InboxCubit, InboxState>(
slivers: [DocumentsListLoadingWidget()], builder: (context, state) {
); if (!state.hasLoaded) {
} return const CustomScrollView(
physics: NeverScrollableScrollPhysics(),
slivers: [DocumentsListLoadingWidget()],
);
}
if (state.documents.isEmpty) { if (state.documents.isEmpty) {
return InboxEmptyWidget( return InboxEmptyWidget(
emptyStateRefreshIndicatorKey: _emptyStateRefreshIndicatorKey, emptyStateRefreshIndicatorKey: _emptyStateRefreshIndicatorKey,
); );
} }
// Build a list of slivers alternating between SliverToBoxAdapter // Build a list of slivers alternating between SliverToBoxAdapter
// (group header) and a SliverList (inbox items). // (group header) and a SliverList (inbox items).
final List<Widget> slivers = _groupByDate(state.documents) final List<Widget> slivers = _groupByDate(state.documents)
.entries .entries
.map( .map(
(entry) => [ (entry) => [
SliverToBoxAdapter( SliverToBoxAdapter(
child: Align( child: Align(
alignment: Alignment.centerLeft, alignment: Alignment.centerLeft,
child: ClipRRect( child: ClipRRect(
borderRadius: BorderRadius.circular(32.0), borderRadius: BorderRadius.circular(32.0),
child: Text( child: Text(
entry.key, entry.key,
style: Theme.of(context).textTheme.bodySmall, style: Theme.of(context).textTheme.bodySmall,
textAlign: TextAlign.center, textAlign: TextAlign.center,
).padded(), ).padded(),
), ),
).paddedOnly(top: 8.0), ).paddedOnly(top: 8.0),
),
SliverList(
delegate: SliverChildBuilderDelegate(
childCount: entry.value.length,
(context, index) {
if (index < entry.value.length - 1) {
return Column(
children: [
_buildListItem(
entry.value[index],
),
const Divider(
indent: 16,
endIndent: 16,
),
],
);
}
return _buildListItem(
entry.value[index],
);
},
), ),
), SliverList(
], delegate: SliverChildBuilderDelegate(
) childCount: entry.value.length,
.flattened (context, index) {
.toList() if (index < entry.value.length - 1) {
..add(const SliverToBoxAdapter(child: SizedBox(height: 78))); return Column(
children: [
_buildListItem(
entry.value[index],
),
const Divider(
indent: 16,
endIndent: 16,
),
],
);
}
return _buildListItem(
entry.value[index],
);
},
),
),
],
)
.flattened
.toList()
..add(const SliverToBoxAdapter(child: SizedBox(height: 78)));
// edgeOffset: kToolbarHeight,
return RefreshIndicator( return CustomScrollView(
onRefresh: () => context.read<InboxCubit>().initializeInbox(),
child: CustomScrollView(
controller: _scrollController, controller: _scrollController,
slivers: [ slivers: [
SliverToBoxAdapter( SliverToBoxAdapter(
@@ -160,9 +163,9 @@ class _InboxPageState extends State<InboxPage> {
), ),
...slivers, ...slivers,
], ],
), );
); },
}, ),
), ),
), ),
); );

View File

@@ -51,9 +51,7 @@ class TagsWidget extends StatelessWidget {
} else { } else {
return SingleChildScrollView( return SingleChildScrollView(
scrollDirection: Axis.horizontal, scrollDirection: Axis.horizontal,
child: Row( child: Row(children: children),
children: children,
),
); );
} }
}, },

View File

@@ -85,7 +85,6 @@ class _LabelFormFieldState<T extends Label> extends State<LabelFormField<T>> {
TextStyle(color: Theme.of(context).disabledColor, fontSize: 18.0), TextStyle(color: Theme.of(context).disabledColor, fontSize: 18.0),
), ),
), ),
getImmediateSuggestions: true,
loadingBuilder: (context) => Container(), loadingBuilder: (context) => Container(),
initialValue: widget.initialValue ?? const IdQueryParameter.unset(), initialValue: widget.initialValue ?? const IdQueryParameter.unset(),
name: widget.name, name: widget.name,
@@ -108,7 +107,6 @@ class _LabelFormFieldState<T extends Label> extends State<LabelFormField<T>> {
shape: RoundedRectangleBorder( shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(16), borderRadius: BorderRadius.circular(16),
), ),
style: ListTileStyle.list,
), ),
suggestionsCallback: (pattern) { suggestionsCallback: (pattern) {
final List<IdQueryParameter> suggestions = widget.labelOptions.entries final List<IdQueryParameter> suggestions = widget.labelOptions.entries

View File

@@ -1,7 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:paperless_mobile/core/widgets/hint_card.dart';
import 'package:paperless_mobile/extensions/flutter_extensions.dart'; import 'package:paperless_mobile/extensions/flutter_extensions.dart';
import 'package:paperless_mobile/features/documents/view/widgets/documents_empty_state.dart';
import 'package:paperless_mobile/features/saved_view/cubit/saved_view_cubit.dart'; import 'package:paperless_mobile/features/saved_view/cubit/saved_view_cubit.dart';
import 'package:paperless_mobile/features/saved_view/cubit/saved_view_details_cubit.dart'; import 'package:paperless_mobile/features/saved_view/cubit/saved_view_details_cubit.dart';
import 'package:paperless_mobile/features/saved_view/cubit/saved_view_state.dart'; import 'package:paperless_mobile/features/saved_view/cubit/saved_view_state.dart';
@@ -17,10 +17,11 @@ class SavedViewList extends StatelessWidget {
return BlocBuilder<SavedViewCubit, SavedViewState>( return BlocBuilder<SavedViewCubit, SavedViewState>(
builder: (context, state) { builder: (context, state) {
if (state.value.isEmpty) { if (state.value.isEmpty) {
return Text( return SliverToBoxAdapter(
S.of(context).savedViewsEmptyStateText, child: HintCard(
textAlign: TextAlign.center, hintText: S.of(context).savedViewsEmptyStateText,
).padded(); ),
);
} }
return SliverList( return SliverList(
delegate: SliverChildBuilderDelegate( delegate: SliverChildBuilderDelegate(
@@ -29,8 +30,10 @@ class SavedViewList extends StatelessWidget {
return ListTile( return ListTile(
title: Text(view.name), title: Text(view.name),
subtitle: Text( subtitle: Text(
"${view.filterRules.length} filter(s) set", S
), //TODO: INTL w/ placeholder .of(context)
.savedViewsFiltersSetCount(view.filterRules.length),
),
onTap: () { onTap: () {
Navigator.of(context).push( Navigator.of(context).push(
MaterialPageRoute( MaterialPageRoute(
@@ -42,7 +45,6 @@ class SavedViewList extends StatelessWidget {
savedView: view, savedView: view,
), ),
), ),
BlocProvider.value(value: savedViewCubit),
], ],
child: SavedViewPage( child: SavedViewPage(
onDelete: savedViewCubit.remove, onDelete: savedViewCubit.remove,

View File

@@ -65,7 +65,7 @@ class _ScannerPageState extends State<ScannerPage>
floatHeaderSlivers: false, floatHeaderSlivers: false,
headerSliverBuilder: (context, innerBoxIsScrolled) => [ headerSliverBuilder: (context, innerBoxIsScrolled) => [
SearchAppBar( SearchAppBar(
hintText: "Search documents", //TODO: INTL hintText: S.of(context).documentSearchSearchDocuments,
onOpenSearch: showDocumentSearchPage, onOpenSearch: showDocumentSearchPage,
bottom: PreferredSize( bottom: PreferredSize(
child: _buildActions(connectedState.isConnected), child: _buildActions(connectedState.isConnected),
@@ -101,7 +101,7 @@ class _ScannerPageState extends State<ScannerPage>
BlocBuilder<DocumentScannerCubit, List<File>>( BlocBuilder<DocumentScannerCubit, List<File>>(
builder: (context, state) { builder: (context, state) {
return TextButton.icon( return TextButton.icon(
label: Text("Preview"), //TODO: INTL label: Text(S.of(context).scannerPagePreviewLabel),
onPressed: state.isNotEmpty onPressed: state.isNotEmpty
? () => Navigator.of(context).push( ? () => Navigator.of(context).push(
MaterialPageRoute( MaterialPageRoute(
@@ -121,7 +121,7 @@ class _ScannerPageState extends State<ScannerPage>
BlocBuilder<DocumentScannerCubit, List<File>>( BlocBuilder<DocumentScannerCubit, List<File>>(
builder: (context, state) { builder: (context, state) {
return TextButton.icon( return TextButton.icon(
label: Text("Clear all"), //TODO: INTL label: Text(S.of(context).scannerPageClearAllLabel),
onPressed: state.isEmpty ? null : () => _reset(context), onPressed: state.isEmpty ? null : () => _reset(context),
icon: const Icon(Icons.delete_sweep_outlined), icon: const Icon(Icons.delete_sweep_outlined),
); );
@@ -130,7 +130,7 @@ class _ScannerPageState extends State<ScannerPage>
BlocBuilder<DocumentScannerCubit, List<File>>( BlocBuilder<DocumentScannerCubit, List<File>>(
builder: (context, state) { builder: (context, state) {
return TextButton.icon( return TextButton.icon(
label: Text("Upload"), //TODO: INTL label: Text(S.of(context).scannerPageUploadLabel),
onPressed: state.isEmpty || !isConnected onPressed: state.isEmpty || !isConnected
? null ? null
: () => _onPrepareDocumentUpload(context), : () => _onPrepareDocumentUpload(context),

View File

@@ -11,7 +11,7 @@ import 'package:paperless_mobile/core/repository/state/impl/document_type_reposi
import 'package:paperless_mobile/core/repository/state/impl/storage_path_repository_state.dart'; import 'package:paperless_mobile/core/repository/state/impl/storage_path_repository_state.dart';
import 'package:paperless_mobile/core/repository/state/impl/tag_repository_state.dart'; import 'package:paperless_mobile/core/repository/state/impl/tag_repository_state.dart';
import 'package:paperless_mobile/core/widgets/hint_card.dart'; import 'package:paperless_mobile/core/widgets/hint_card.dart';
import 'package:paperless_mobile/core/widgets/paperless_logo.dart'; import 'package:paperless_mobile/extensions/flutter_extensions.dart';
import 'package:paperless_mobile/features/login/bloc/authentication_cubit.dart'; import 'package:paperless_mobile/features/login/bloc/authentication_cubit.dart';
import 'package:paperless_mobile/features/settings/bloc/application_settings_cubit.dart'; import 'package:paperless_mobile/features/settings/bloc/application_settings_cubit.dart';
import 'package:paperless_mobile/generated/l10n.dart'; import 'package:paperless_mobile/generated/l10n.dart';
@@ -25,8 +25,12 @@ class AccountSettingsDialog extends StatelessWidget {
return AlertDialog( return AlertDialog(
scrollable: true, scrollable: true,
contentPadding: EdgeInsets.zero, contentPadding: EdgeInsets.zero,
icon: const PaperlessLogo.green(), title: Row(
title: const Text(" Your Accounts"), children: [
const CloseButton(),
Text(S.of(context).accountSettingsTitle),
],
),
content: BlocBuilder<PaperlessServerInformationCubit, content: BlocBuilder<PaperlessServerInformationCubit,
PaperlessServerInformationState>( PaperlessServerInformationState>(
builder: (context, state) { builder: (context, state) {
@@ -55,28 +59,27 @@ class AccountSettingsDialog extends StatelessWidget {
onTap: () {}, onTap: () {},
), ),
Divider(), Divider(),
OutlinedButton( FilledButton(
style: ButtonStyle(
backgroundColor: MaterialStatePropertyAll(
Theme.of(context).colorScheme.error,
),
),
child: Text( child: Text(
S.of(context).appDrawerLogoutLabel, S.of(context).appDrawerLogoutLabel,
style: TextStyle( style: TextStyle(
color: Theme.of(context).colorScheme.error, color: Theme.of(context).colorScheme.onError,
), ),
), ),
onPressed: () async { onPressed: () async {
await _onLogout(context); await _onLogout(context);
Navigator.of(context).maybePop(); Navigator.of(context).maybePop();
}, },
), ).padded(16),
], ],
); );
}, },
), ),
actions: [
TextButton(
child: Text(S.of(context).genericActionCloseLabel),
onPressed: () => Navigator.pop(context),
),
],
); );
} }

View File

@@ -47,11 +47,11 @@ class _LanguageSelectionSettingState extends State<LanguageSelectionSetting> {
), ),
RadioOption( RadioOption(
value: 'cs', value: 'cs',
label: _languageOptions['cs']! + " *", label: _languageOptions['cs']! + "*",
), ),
RadioOption( RadioOption(
value: 'tr', value: 'tr',
label: _languageOptions['tr']! + " *", label: _languageOptions['tr']! + "*",
) )
], ],
initialValue: context initialValue: context

View File

@@ -6,6 +6,8 @@
"name": {} "name": {}
} }
}, },
"accountSettingsTitle": "Account",
"@accountSettingsTitle": {},
"addCorrespondentPageTitle": "Nový korespondent", "addCorrespondentPageTitle": "Nový korespondent",
"@addCorrespondentPageTitle": {}, "@addCorrespondentPageTitle": {},
"addDocumentTypePageTitle": "Nový typ dokumentu", "addDocumentTypePageTitle": "Nový typ dokumentu",
@@ -44,9 +46,9 @@
"@bottomNavLabelsPageLabel": {}, "@bottomNavLabelsPageLabel": {},
"bottomNavScannerPageLabel": "Skener", "bottomNavScannerPageLabel": "Skener",
"@bottomNavScannerPageLabel": {}, "@bottomNavScannerPageLabel": {},
"colorSchemeOptionClassic": "Classic", "colorSchemeOptionClassic": "Klasicky",
"@colorSchemeOptionClassic": {}, "@colorSchemeOptionClassic": {},
"colorSchemeOptionDynamic": "Dynamic", "colorSchemeOptionDynamic": "Dynamicky",
"@colorSchemeOptionDynamic": {}, "@colorSchemeOptionDynamic": {},
"correspondentFormFieldSearchHintText": "Začni psát...", "correspondentFormFieldSearchHintText": "Začni psát...",
"@correspondentFormFieldSearchHintText": {}, "@correspondentFormFieldSearchHintText": {},
@@ -68,23 +70,23 @@
"@documentDeleteSuccessMessage": {}, "@documentDeleteSuccessMessage": {},
"documentDetailsPageAssignAsnButtonLabel": "Přiřadit", "documentDetailsPageAssignAsnButtonLabel": "Přiřadit",
"@documentDetailsPageAssignAsnButtonLabel": {}, "@documentDetailsPageAssignAsnButtonLabel": {},
"documentDetailsPageDeleteTooltip": "Delete", "documentDetailsPageDeleteTooltip": "Smazat",
"@documentDetailsPageDeleteTooltip": {}, "@documentDetailsPageDeleteTooltip": {},
"documentDetailsPageDownloadTooltip": "Download", "documentDetailsPageDownloadTooltip": "Stáhnout",
"@documentDetailsPageDownloadTooltip": {}, "@documentDetailsPageDownloadTooltip": {},
"documentDetailsPageEditTooltip": "Edit", "documentDetailsPageEditTooltip": "Upravit",
"@documentDetailsPageEditTooltip": {}, "@documentDetailsPageEditTooltip": {},
"documentDetailsPageLoadFullContentLabel": "Načíst celý obsah", "documentDetailsPageLoadFullContentLabel": "Načíst celý obsah",
"@documentDetailsPageLoadFullContentLabel": {}, "@documentDetailsPageLoadFullContentLabel": {},
"documentDetailsPageNoPdfViewerFoundErrorMessage": "No app to display PDF files found!", "documentDetailsPageNoPdfViewerFoundErrorMessage": "Aplikace pro otevírání PDF souborů nenalezena.",
"@documentDetailsPageNoPdfViewerFoundErrorMessage": {}, "@documentDetailsPageNoPdfViewerFoundErrorMessage": {},
"documentDetailsPageOpenInSystemViewerTooltip": "Open in system viewer", "documentDetailsPageOpenInSystemViewerTooltip": "Otevřít v systémovém prohlížeči",
"@documentDetailsPageOpenInSystemViewerTooltip": {}, "@documentDetailsPageOpenInSystemViewerTooltip": {},
"documentDetailsPageOpenPdfPermissionDeniedErrorMessage": "Could not open file: Permission denied.", "documentDetailsPageOpenPdfPermissionDeniedErrorMessage": "Soubor nelze otevřít: přístup zamítnut.",
"@documentDetailsPageOpenPdfPermissionDeniedErrorMessage": {}, "@documentDetailsPageOpenPdfPermissionDeniedErrorMessage": {},
"documentDetailsPagePreviewTooltip": "Preview", "documentDetailsPagePreviewTooltip": "Náhled",
"@documentDetailsPagePreviewTooltip": {}, "@documentDetailsPagePreviewTooltip": {},
"documentDetailsPageShareTooltip": "Share", "documentDetailsPageShareTooltip": "Sdílet",
"@documentDetailsPageShareTooltip": {}, "@documentDetailsPageShareTooltip": {},
"documentDetailsPageSimilarDocumentsLabel": "Podobné dokumenty", "documentDetailsPageSimilarDocumentsLabel": "Podobné dokumenty",
"@documentDetailsPageSimilarDocumentsLabel": {}, "@documentDetailsPageSimilarDocumentsLabel": {},
@@ -94,7 +96,7 @@
"@documentDetailsPageTabMetaDataLabel": {}, "@documentDetailsPageTabMetaDataLabel": {},
"documentDetailsPageTabOverviewLabel": "Přehled", "documentDetailsPageTabOverviewLabel": "Přehled",
"@documentDetailsPageTabOverviewLabel": {}, "@documentDetailsPageTabOverviewLabel": {},
"documentDetailsPageTabSimilarDocumentsLabel": "Similar Documents", "documentDetailsPageTabSimilarDocumentsLabel": "Podobné dokumenty",
"@documentDetailsPageTabSimilarDocumentsLabel": {}, "@documentDetailsPageTabSimilarDocumentsLabel": {},
"documentDocumentTypePropertyLabel": "Typ dokumentu", "documentDocumentTypePropertyLabel": "Typ dokumentu",
"@documentDocumentTypePropertyLabel": {}, "@documentDocumentTypePropertyLabel": {},
@@ -148,12 +150,16 @@
"@documentScannerPageUploadButtonTooltip": {}, "@documentScannerPageUploadButtonTooltip": {},
"documentScannerPageUploadFromThisDeviceButtonLabel": "Nahrát jeden dokument z tohoto zařízení", "documentScannerPageUploadFromThisDeviceButtonLabel": "Nahrát jeden dokument z tohoto zařízení",
"@documentScannerPageUploadFromThisDeviceButtonLabel": {}, "@documentScannerPageUploadFromThisDeviceButtonLabel": {},
"documentSearchHistory": "History", "documentSearchHistory": "Historie",
"@documentSearchHistory": {}, "@documentSearchHistory": {},
"documentSearchPageRemoveFromHistory": "Remove from search history?", "documentSearchNoMatchesFound": "No matches found.",
"@documentSearchNoMatchesFound": {},
"documentSearchPageRemoveFromHistory": "Odstranit z historie vyhledávání?",
"@documentSearchPageRemoveFromHistory": {}, "@documentSearchPageRemoveFromHistory": {},
"documentSearchResults": "Results", "documentSearchResults": "Výsledky",
"@documentSearchResults": {}, "@documentSearchResults": {},
"documentSearchSearchDocuments": "Search documents",
"@documentSearchSearchDocuments": {},
"documentsEmptyStateResetFilterLabel": "Zrušit", "documentsEmptyStateResetFilterLabel": "Zrušit",
"@documentsEmptyStateResetFilterLabel": {}, "@documentsEmptyStateResetFilterLabel": {},
"documentsFilterPageAdvancedLabel": "Rozšířené", "documentsFilterPageAdvancedLabel": "Rozšířené",
@@ -370,6 +376,8 @@
"@genericAcknowledgeLabel": {}, "@genericAcknowledgeLabel": {},
"genericActionCancelLabel": "Zrušit", "genericActionCancelLabel": "Zrušit",
"@genericActionCancelLabel": {}, "@genericActionCancelLabel": {},
"genericActionCloseLabel": "Close",
"@genericActionCloseLabel": {},
"genericActionCreateLabel": "Vytvořit", "genericActionCreateLabel": "Vytvořit",
"@genericActionCreateLabel": {}, "@genericActionCreateLabel": {},
"genericActionDeleteLabel": "Smazat", "genericActionDeleteLabel": "Smazat",
@@ -558,14 +566,26 @@
"@savedViewNameLabel": {}, "@savedViewNameLabel": {},
"savedViewsEmptyStateText": "Vytvoře si různé náhledy pro rychlé filtrování dokumentů.", "savedViewsEmptyStateText": "Vytvoře si různé náhledy pro rychlé filtrování dokumentů.",
"@savedViewsEmptyStateText": {}, "@savedViewsEmptyStateText": {},
"savedViewsFiltersSetCount": "{count, plural, zero{{count} filters set} one{{count} filter set} other{{count} filters set}}",
"@savedViewsFiltersSetCount": {
"placeholders": {
"count": {}
}
},
"savedViewShowInSidebarLabel": "Zobrazit v postranní liště", "savedViewShowInSidebarLabel": "Zobrazit v postranní liště",
"@savedViewShowInSidebarLabel": {}, "@savedViewShowInSidebarLabel": {},
"savedViewShowOnDashboardLabel": "Zobrazit na hlavním panelu", "savedViewShowOnDashboardLabel": "Zobrazit na hlavním panelu",
"@savedViewShowOnDashboardLabel": {}, "@savedViewShowOnDashboardLabel": {},
"savedViewsLabel": "Uložené náhledy", "savedViewsLabel": "Uložené náhledy",
"@savedViewsLabel": {}, "@savedViewsLabel": {},
"scannerPageClearAllLabel": "Clear all",
"@scannerPageClearAllLabel": {},
"scannerPageImagePreviewTitle": "Sken", "scannerPageImagePreviewTitle": "Sken",
"@scannerPageImagePreviewTitle": {}, "@scannerPageImagePreviewTitle": {},
"scannerPagePreviewLabel": "Preview",
"@scannerPagePreviewLabel": {},
"scannerPageUploadLabel": "Upload",
"@scannerPageUploadLabel": {},
"serverInformationPaperlessVersionText": "Verze Paperless serveru", "serverInformationPaperlessVersionText": "Verze Paperless serveru",
"@serverInformationPaperlessVersionText": {}, "@serverInformationPaperlessVersionText": {},
"settingsPageAppearanceSettingDarkThemeLabel": "Tmavý vzhled", "settingsPageAppearanceSettingDarkThemeLabel": "Tmavý vzhled",
@@ -584,7 +604,7 @@
"@settingsPageColorSchemeSettingDialogDescription": {}, "@settingsPageColorSchemeSettingDialogDescription": {},
"settingsPageColorSchemeSettingDynamicThemeingVersionMismatchWarning": "Dynamic theming is only supported for devices running Android 12 and above. Selecting the 'Dynamic' option might not have any effect depending on your OS implementation.", "settingsPageColorSchemeSettingDynamicThemeingVersionMismatchWarning": "Dynamic theming is only supported for devices running Android 12 and above. Selecting the 'Dynamic' option might not have any effect depending on your OS implementation.",
"@settingsPageColorSchemeSettingDynamicThemeingVersionMismatchWarning": {}, "@settingsPageColorSchemeSettingDynamicThemeingVersionMismatchWarning": {},
"settingsPageColorSchemeSettingLabel": "Colors", "settingsPageColorSchemeSettingLabel": "Barvy",
"@settingsPageColorSchemeSettingLabel": {}, "@settingsPageColorSchemeSettingLabel": {},
"settingsPageLanguageSettingLabel": "Jazyk", "settingsPageLanguageSettingLabel": "Jazyk",
"@settingsPageLanguageSettingLabel": {}, "@settingsPageLanguageSettingLabel": {},
@@ -602,9 +622,9 @@
"@settingsThemeModeLightLabel": {}, "@settingsThemeModeLightLabel": {},
"settingsThemeModeSystemLabel": "Systémový", "settingsThemeModeSystemLabel": "Systémový",
"@settingsThemeModeSystemLabel": {}, "@settingsThemeModeSystemLabel": {},
"sortDocumentAscending": "Ascending", "sortDocumentAscending": "Vzestupně",
"@sortDocumentAscending": {}, "@sortDocumentAscending": {},
"sortDocumentDescending": "Descending", "sortDocumentDescending": "Sestupně",
"@sortDocumentDescending": {}, "@sortDocumentDescending": {},
"storagePathParameterDayLabel": "den", "storagePathParameterDayLabel": "den",
"@storagePathParameterDayLabel": {}, "@storagePathParameterDayLabel": {},
@@ -627,6 +647,5 @@
"verifyIdentityPageTitle": "Ověř svou identitu", "verifyIdentityPageTitle": "Ověř svou identitu",
"@verifyIdentityPageTitle": {}, "@verifyIdentityPageTitle": {},
"verifyIdentityPageVerifyIdentityButtonLabel": "Ověřit identitu", "verifyIdentityPageVerifyIdentityButtonLabel": "Ověřit identitu",
"@verifyIdentityPageVerifyIdentityButtonLabel": {}, "@verifyIdentityPageVerifyIdentityButtonLabel": {}
"genericActionCloseLabel": "Close"
} }

View File

@@ -6,6 +6,8 @@
"name": {} "name": {}
} }
}, },
"accountSettingsTitle": "Account",
"@accountSettingsTitle": {},
"addCorrespondentPageTitle": "Neuer Korrespondent", "addCorrespondentPageTitle": "Neuer Korrespondent",
"@addCorrespondentPageTitle": {}, "@addCorrespondentPageTitle": {},
"addDocumentTypePageTitle": "Neuer Dokumenttyp", "addDocumentTypePageTitle": "Neuer Dokumenttyp",
@@ -150,10 +152,14 @@
"@documentScannerPageUploadFromThisDeviceButtonLabel": {}, "@documentScannerPageUploadFromThisDeviceButtonLabel": {},
"documentSearchHistory": "Verlauf", "documentSearchHistory": "Verlauf",
"@documentSearchHistory": {}, "@documentSearchHistory": {},
"documentSearchNoMatchesFound": "Keine Treffer.",
"@documentSearchNoMatchesFound": {},
"documentSearchPageRemoveFromHistory": "Aus dem Suchverlauf entfernen?", "documentSearchPageRemoveFromHistory": "Aus dem Suchverlauf entfernen?",
"@documentSearchPageRemoveFromHistory": {}, "@documentSearchPageRemoveFromHistory": {},
"documentSearchResults": "Ergebnisse", "documentSearchResults": "Ergebnisse",
"@documentSearchResults": {}, "@documentSearchResults": {},
"documentSearchSearchDocuments": "Durchsuche Dokumente",
"@documentSearchSearchDocuments": {},
"documentsEmptyStateResetFilterLabel": "Filter zurücksetzen", "documentsEmptyStateResetFilterLabel": "Filter zurücksetzen",
"@documentsEmptyStateResetFilterLabel": {}, "@documentsEmptyStateResetFilterLabel": {},
"documentsFilterPageAdvancedLabel": "Erweitert", "documentsFilterPageAdvancedLabel": "Erweitert",
@@ -268,7 +274,7 @@
"@errorMessageDocumentUploadFailed": {}, "@errorMessageDocumentUploadFailed": {},
"errorMessageInvalidClientCertificateConfiguration": "Ungültiges Zertifikat oder fehlende Passphrase, bitte versuche es erneut.", "errorMessageInvalidClientCertificateConfiguration": "Ungültiges Zertifikat oder fehlende Passphrase, bitte versuche es erneut.",
"@errorMessageInvalidClientCertificateConfiguration": {}, "@errorMessageInvalidClientCertificateConfiguration": {},
"errorMessageLoadSavedViewsError": "Gespeicherte Ansichten konnten nicht geladen werden.", "errorMessageLoadSavedViewsError": "Ansichten konnten nicht geladen werden.",
"@errorMessageLoadSavedViewsError": {}, "@errorMessageLoadSavedViewsError": {},
"errorMessageMissingClientCertificate": "Ein Client Zerfitikat wurde erwartet, aber nicht gesendet. Bitte konfiguriere ein gültiges Zertifikat.", "errorMessageMissingClientCertificate": "Ein Client Zerfitikat wurde erwartet, aber nicht gesendet. Bitte konfiguriere ein gültiges Zertifikat.",
"@errorMessageMissingClientCertificate": {}, "@errorMessageMissingClientCertificate": {},
@@ -370,6 +376,8 @@
"@genericAcknowledgeLabel": {}, "@genericAcknowledgeLabel": {},
"genericActionCancelLabel": "Abbrechen", "genericActionCancelLabel": "Abbrechen",
"@genericActionCancelLabel": {}, "@genericActionCancelLabel": {},
"genericActionCloseLabel": "Schließen",
"@genericActionCloseLabel": {},
"genericActionCreateLabel": "Erstellen", "genericActionCreateLabel": "Erstellen",
"@genericActionCreateLabel": {}, "@genericActionCreateLabel": {},
"genericActionDeleteLabel": "Löschen", "genericActionDeleteLabel": "Löschen",
@@ -558,14 +566,26 @@
"@savedViewNameLabel": {}, "@savedViewNameLabel": {},
"savedViewsEmptyStateText": "Lege Ansichten an, um Dokumente schneller zu finden.", "savedViewsEmptyStateText": "Lege Ansichten an, um Dokumente schneller zu finden.",
"@savedViewsEmptyStateText": {}, "@savedViewsEmptyStateText": {},
"savedViewsFiltersSetCount": "{count, plural, zero{{count} Filter gesetzt} one{{count} Filter gesetzt} other{{count} Filter gesetzt}}",
"@savedViewsFiltersSetCount": {
"placeholders": {
"count": {}
}
},
"savedViewShowInSidebarLabel": "In Seitenleiste zeigen", "savedViewShowInSidebarLabel": "In Seitenleiste zeigen",
"@savedViewShowInSidebarLabel": {}, "@savedViewShowInSidebarLabel": {},
"savedViewShowOnDashboardLabel": "Auf Startseite zeigen", "savedViewShowOnDashboardLabel": "Auf Startseite zeigen",
"@savedViewShowOnDashboardLabel": {}, "@savedViewShowOnDashboardLabel": {},
"savedViewsLabel": "Gespeicherte Ansichten", "savedViewsLabel": "Ansichten",
"@savedViewsLabel": {}, "@savedViewsLabel": {},
"scannerPageClearAllLabel": "Alle löschen",
"@scannerPageClearAllLabel": {},
"scannerPageImagePreviewTitle": "Aufnahme", "scannerPageImagePreviewTitle": "Aufnahme",
"@scannerPageImagePreviewTitle": {}, "@scannerPageImagePreviewTitle": {},
"scannerPagePreviewLabel": "Vorschau",
"@scannerPagePreviewLabel": {},
"scannerPageUploadLabel": "Hochladen",
"@scannerPageUploadLabel": {},
"serverInformationPaperlessVersionText": "Paperless Server-Version", "serverInformationPaperlessVersionText": "Paperless Server-Version",
"@serverInformationPaperlessVersionText": {}, "@serverInformationPaperlessVersionText": {},
"settingsPageAppearanceSettingDarkThemeLabel": "Dunkler Modus", "settingsPageAppearanceSettingDarkThemeLabel": "Dunkler Modus",
@@ -627,6 +647,5 @@
"verifyIdentityPageTitle": "Verifiziere deine Identität", "verifyIdentityPageTitle": "Verifiziere deine Identität",
"@verifyIdentityPageTitle": {}, "@verifyIdentityPageTitle": {},
"verifyIdentityPageVerifyIdentityButtonLabel": "Identität verifizieren", "verifyIdentityPageVerifyIdentityButtonLabel": "Identität verifizieren",
"@verifyIdentityPageVerifyIdentityButtonLabel": {}, "@verifyIdentityPageVerifyIdentityButtonLabel": {}
"genericActionCloseLabel": "Close"
} }

View File

@@ -6,6 +6,8 @@
"name": {} "name": {}
} }
}, },
"accountSettingsTitle": "Account",
"@accountSettingsTitle": {},
"addCorrespondentPageTitle": "New Correspondent", "addCorrespondentPageTitle": "New Correspondent",
"@addCorrespondentPageTitle": {}, "@addCorrespondentPageTitle": {},
"addDocumentTypePageTitle": "New Document Type", "addDocumentTypePageTitle": "New Document Type",
@@ -150,10 +152,14 @@
"@documentScannerPageUploadFromThisDeviceButtonLabel": {}, "@documentScannerPageUploadFromThisDeviceButtonLabel": {},
"documentSearchHistory": "History", "documentSearchHistory": "History",
"@documentSearchHistory": {}, "@documentSearchHistory": {},
"documentSearchNoMatchesFound": "No matches found.",
"@documentSearchNoMatchesFound": {},
"documentSearchPageRemoveFromHistory": "Remove from search history?", "documentSearchPageRemoveFromHistory": "Remove from search history?",
"@documentSearchPageRemoveFromHistory": {}, "@documentSearchPageRemoveFromHistory": {},
"documentSearchResults": "Results", "documentSearchResults": "Results",
"@documentSearchResults": {}, "@documentSearchResults": {},
"documentSearchSearchDocuments": "Search documents",
"@documentSearchSearchDocuments": {},
"documentsEmptyStateResetFilterLabel": "Reset filter", "documentsEmptyStateResetFilterLabel": "Reset filter",
"@documentsEmptyStateResetFilterLabel": {}, "@documentsEmptyStateResetFilterLabel": {},
"documentsFilterPageAdvancedLabel": "Advanced", "documentsFilterPageAdvancedLabel": "Advanced",
@@ -268,7 +274,7 @@
"@errorMessageDocumentUploadFailed": {}, "@errorMessageDocumentUploadFailed": {},
"errorMessageInvalidClientCertificateConfiguration": "Invalid certificate or missing passphrase, please try again", "errorMessageInvalidClientCertificateConfiguration": "Invalid certificate or missing passphrase, please try again",
"@errorMessageInvalidClientCertificateConfiguration": {}, "@errorMessageInvalidClientCertificateConfiguration": {},
"errorMessageLoadSavedViewsError": "Could not load saved views.", "errorMessageLoadSavedViewsError": "Could not load views.",
"@errorMessageLoadSavedViewsError": {}, "@errorMessageLoadSavedViewsError": {},
"errorMessageMissingClientCertificate": "A client certificate was expected but not sent. Please provide a valid client certificate.", "errorMessageMissingClientCertificate": "A client certificate was expected but not sent. Please provide a valid client certificate.",
"@errorMessageMissingClientCertificate": {}, "@errorMessageMissingClientCertificate": {},
@@ -370,6 +376,8 @@
"@genericAcknowledgeLabel": {}, "@genericAcknowledgeLabel": {},
"genericActionCancelLabel": "Cancel", "genericActionCancelLabel": "Cancel",
"@genericActionCancelLabel": {}, "@genericActionCancelLabel": {},
"genericActionCloseLabel": "Close",
"@genericActionCloseLabel": {},
"genericActionCreateLabel": "Create", "genericActionCreateLabel": "Create",
"@genericActionCreateLabel": {}, "@genericActionCreateLabel": {},
"genericActionDeleteLabel": "Delete", "genericActionDeleteLabel": "Delete",
@@ -558,14 +566,26 @@
"@savedViewNameLabel": {}, "@savedViewNameLabel": {},
"savedViewsEmptyStateText": "Create views to quickly filter your documents.", "savedViewsEmptyStateText": "Create views to quickly filter your documents.",
"@savedViewsEmptyStateText": {}, "@savedViewsEmptyStateText": {},
"savedViewsFiltersSetCount": "{count, plural, zero{{count} filters set} one{{count} filter set} other{{count} filters set}}",
"@savedViewsFiltersSetCount": {
"placeholders": {
"count": {}
}
},
"savedViewShowInSidebarLabel": "Show in sidebar", "savedViewShowInSidebarLabel": "Show in sidebar",
"@savedViewShowInSidebarLabel": {}, "@savedViewShowInSidebarLabel": {},
"savedViewShowOnDashboardLabel": "Show on dashboard", "savedViewShowOnDashboardLabel": "Show on dashboard",
"@savedViewShowOnDashboardLabel": {}, "@savedViewShowOnDashboardLabel": {},
"savedViewsLabel": "Saved Views", "savedViewsLabel": "Views",
"@savedViewsLabel": {}, "@savedViewsLabel": {},
"scannerPageClearAllLabel": "Clear all",
"@scannerPageClearAllLabel": {},
"scannerPageImagePreviewTitle": "Scan", "scannerPageImagePreviewTitle": "Scan",
"@scannerPageImagePreviewTitle": {}, "@scannerPageImagePreviewTitle": {},
"scannerPagePreviewLabel": "Preview",
"@scannerPagePreviewLabel": {},
"scannerPageUploadLabel": "Upload",
"@scannerPageUploadLabel": {},
"serverInformationPaperlessVersionText": "Paperless server version", "serverInformationPaperlessVersionText": "Paperless server version",
"@serverInformationPaperlessVersionText": {}, "@serverInformationPaperlessVersionText": {},
"settingsPageAppearanceSettingDarkThemeLabel": "Dark Theme", "settingsPageAppearanceSettingDarkThemeLabel": "Dark Theme",
@@ -627,6 +647,5 @@
"verifyIdentityPageTitle": "Verify your identity", "verifyIdentityPageTitle": "Verify your identity",
"@verifyIdentityPageTitle": {}, "@verifyIdentityPageTitle": {},
"verifyIdentityPageVerifyIdentityButtonLabel": "Verify Identity", "verifyIdentityPageVerifyIdentityButtonLabel": "Verify Identity",
"@verifyIdentityPageVerifyIdentityButtonLabel": {}, "@verifyIdentityPageVerifyIdentityButtonLabel": {}
"genericActionCloseLabel": "Close"
} }

651
lib/l10n/intl_pl.arb Normal file
View File

@@ -0,0 +1,651 @@
{
"@@locale": "pl",
"aboutDialogDevelopedByText": "Developed by {name}",
"@aboutDialogDevelopedByText": {
"placeholders": {
"name": {}
}
},
"accountSettingsTitle": "Account",
"@accountSettingsTitle": {},
"addCorrespondentPageTitle": "New Correspondent",
"@addCorrespondentPageTitle": {},
"addDocumentTypePageTitle": "Nowy rodzaj dokumentu",
"@addDocumentTypePageTitle": {},
"addStoragePathPageTitle": "New Storage Path",
"@addStoragePathPageTitle": {},
"addTagPageTitle": "Nowy tag",
"@addTagPageTitle": {},
"appDrawerAboutInfoLoadingText": "Retrieving application information...",
"@appDrawerAboutInfoLoadingText": {},
"appDrawerAboutLabel": "O aplikacji",
"@appDrawerAboutLabel": {},
"appDrawerHeaderLoggedInAsText": "Zalogowano jako",
"@appDrawerHeaderLoggedInAsText": {},
"appDrawerLogoutLabel": "Disconnect",
"@appDrawerLogoutLabel": {},
"appDrawerReportBugLabel": "Report a Bug",
"@appDrawerReportBugLabel": {},
"appDrawerSettingsLabel": "Ustawienia",
"@appDrawerSettingsLabel": {},
"appSettingsBiometricAuthenticationDescriptionText": "Authenticate on app start",
"@appSettingsBiometricAuthenticationDescriptionText": {},
"appSettingsBiometricAuthenticationLabel": "Biometric authentication",
"@appSettingsBiometricAuthenticationLabel": {},
"appSettingsDisableBiometricAuthenticationReasonText": "Authenticate to disable biometric authentication",
"@appSettingsDisableBiometricAuthenticationReasonText": {},
"appSettingsEnableBiometricAuthenticationReasonText": "Authenticate to enable biometric authentication",
"@appSettingsEnableBiometricAuthenticationReasonText": {},
"appTitleText": "Paperless Mobile",
"@appTitleText": {},
"bottomNavDocumentsPageLabel": "Documents",
"@bottomNavDocumentsPageLabel": {},
"bottomNavInboxPageLabel": "Skrzynka odbiorcza",
"@bottomNavInboxPageLabel": {},
"bottomNavLabelsPageLabel": "Labels",
"@bottomNavLabelsPageLabel": {},
"bottomNavScannerPageLabel": "Scanner",
"@bottomNavScannerPageLabel": {},
"colorSchemeOptionClassic": "Classic",
"@colorSchemeOptionClassic": {},
"colorSchemeOptionDynamic": "Dynamic",
"@colorSchemeOptionDynamic": {},
"correspondentFormFieldSearchHintText": "Zacznij pisać...",
"@correspondentFormFieldSearchHintText": {},
"deleteViewDialogContentText": "Do you really want to delete this view?",
"@deleteViewDialogContentText": {},
"deleteViewDialogTitleText": "Delete view ",
"@deleteViewDialogTitleText": {},
"documentAddedPropertyLabel": "Added at",
"@documentAddedPropertyLabel": {},
"documentArchiveSerialNumberPropertyLongLabel": "Numer Seryjny Archiwum",
"@documentArchiveSerialNumberPropertyLongLabel": {},
"documentArchiveSerialNumberPropertyShortLabel": "ASN",
"@documentArchiveSerialNumberPropertyShortLabel": {},
"documentCorrespondentPropertyLabel": "Correspondent",
"@documentCorrespondentPropertyLabel": {},
"documentCreatedPropertyLabel": "Created at",
"@documentCreatedPropertyLabel": {},
"documentDeleteSuccessMessage": "Dokument pomyślnie usunięty.",
"@documentDeleteSuccessMessage": {},
"documentDetailsPageAssignAsnButtonLabel": "Assign",
"@documentDetailsPageAssignAsnButtonLabel": {},
"documentDetailsPageDeleteTooltip": "Usuń",
"@documentDetailsPageDeleteTooltip": {},
"documentDetailsPageDownloadTooltip": "Pobierz",
"@documentDetailsPageDownloadTooltip": {},
"documentDetailsPageEditTooltip": "Edytuj",
"@documentDetailsPageEditTooltip": {},
"documentDetailsPageLoadFullContentLabel": "Load full content",
"@documentDetailsPageLoadFullContentLabel": {},
"documentDetailsPageNoPdfViewerFoundErrorMessage": "Nie znaleziono aplikacji do wyświetlania plików PDF",
"@documentDetailsPageNoPdfViewerFoundErrorMessage": {},
"documentDetailsPageOpenInSystemViewerTooltip": "Otwórz w przeglądarce systemowej",
"@documentDetailsPageOpenInSystemViewerTooltip": {},
"documentDetailsPageOpenPdfPermissionDeniedErrorMessage": "Nie można otworzyć pliku: ",
"@documentDetailsPageOpenPdfPermissionDeniedErrorMessage": {},
"documentDetailsPagePreviewTooltip": "Podgląd",
"@documentDetailsPagePreviewTooltip": {},
"documentDetailsPageShareTooltip": "Udostępnij",
"@documentDetailsPageShareTooltip": {},
"documentDetailsPageSimilarDocumentsLabel": "Podobne Dokumenty",
"@documentDetailsPageSimilarDocumentsLabel": {},
"documentDetailsPageTabContentLabel": "Treść",
"@documentDetailsPageTabContentLabel": {},
"documentDetailsPageTabMetaDataLabel": "Meta dane",
"@documentDetailsPageTabMetaDataLabel": {},
"documentDetailsPageTabOverviewLabel": "Przegląd",
"@documentDetailsPageTabOverviewLabel": {},
"documentDetailsPageTabSimilarDocumentsLabel": "Podobne Dokumenty",
"@documentDetailsPageTabSimilarDocumentsLabel": {},
"documentDocumentTypePropertyLabel": "Rodzaj dokumentu",
"@documentDocumentTypePropertyLabel": {},
"documentDownloadSuccessMessage": "Document successfully downloaded.",
"@documentDownloadSuccessMessage": {},
"documentEditPageSuggestionsLabel": "Suggestions: ",
"@documentEditPageSuggestionsLabel": {},
"documentEditPageTitle": "Edytuj Dokument",
"@documentEditPageTitle": {},
"documentFilterAdvancedLabel": "Advanced",
"@documentFilterAdvancedLabel": {},
"documentFilterApplyFilterLabel": "Apply",
"@documentFilterApplyFilterLabel": {},
"documentFilterQueryOptionsAsnLabel": "ASN",
"@documentFilterQueryOptionsAsnLabel": {},
"documentFilterQueryOptionsExtendedLabel": "Extended",
"@documentFilterQueryOptionsExtendedLabel": {},
"documentFilterQueryOptionsTitleAndContentLabel": "Tytuł i treść",
"@documentFilterQueryOptionsTitleAndContentLabel": {},
"documentFilterQueryOptionsTitleLabel": "Tytuł",
"@documentFilterQueryOptionsTitleLabel": {},
"documentFilterResetLabel": "Reset",
"@documentFilterResetLabel": {},
"documentFilterSearchLabel": "Szukaj",
"@documentFilterSearchLabel": {},
"documentFilterTitle": "Filter Documents",
"@documentFilterTitle": {},
"documentMetaDataChecksumLabel": "Original MD5-Checksum",
"@documentMetaDataChecksumLabel": {},
"documentMetaDataMediaFilenamePropertyLabel": "Media Filename",
"@documentMetaDataMediaFilenamePropertyLabel": {},
"documentMetaDataOriginalFileSizeLabel": "Original File Size",
"@documentMetaDataOriginalFileSizeLabel": {},
"documentMetaDataOriginalMimeTypeLabel": "Original MIME-Type",
"@documentMetaDataOriginalMimeTypeLabel": {},
"documentModifiedPropertyLabel": "Modified at",
"@documentModifiedPropertyLabel": {},
"documentPreviewPageTitle": "Podgląd",
"@documentPreviewPageTitle": {},
"documentScannerPageAddScanButtonLabel": "Zeskanuj dokument",
"@documentScannerPageAddScanButtonLabel": {},
"documentScannerPageEmptyStateText": "No documents scanned yet.",
"@documentScannerPageEmptyStateText": {},
"documentScannerPageOrText": "lub",
"@documentScannerPageOrText": {},
"documentScannerPageResetButtonTooltipText": "Delete all scans",
"@documentScannerPageResetButtonTooltipText": {},
"documentScannerPageTitle": "Skanuj",
"@documentScannerPageTitle": {},
"documentScannerPageUploadButtonTooltip": "Prześlij dokument z tego urządzenia",
"@documentScannerPageUploadButtonTooltip": {},
"documentScannerPageUploadFromThisDeviceButtonLabel": "Upload a document from this device",
"@documentScannerPageUploadFromThisDeviceButtonLabel": {},
"documentSearchHistory": "Historia",
"@documentSearchHistory": {},
"documentSearchNoMatchesFound": "No matches found.",
"@documentSearchNoMatchesFound": {},
"documentSearchPageRemoveFromHistory": "Usunąć z historii wyszukiwania?",
"@documentSearchPageRemoveFromHistory": {},
"documentSearchResults": "Wyniki",
"@documentSearchResults": {},
"documentSearchSearchDocuments": "Search documents",
"@documentSearchSearchDocuments": {},
"documentsEmptyStateResetFilterLabel": "Reset filter",
"@documentsEmptyStateResetFilterLabel": {},
"documentsFilterPageAdvancedLabel": "Advanced",
"@documentsFilterPageAdvancedLabel": {},
"documentsFilterPageApplyFilterLabel": "Apply",
"@documentsFilterPageApplyFilterLabel": {},
"documentsFilterPageDateRangeLastMonthLabel": "Last Month",
"@documentsFilterPageDateRangeLastMonthLabel": {},
"documentsFilterPageDateRangeLastSevenDaysLabel": "Last 7 Days",
"@documentsFilterPageDateRangeLastSevenDaysLabel": {},
"documentsFilterPageDateRangeLastThreeMonthsLabel": "Last 3 Months",
"@documentsFilterPageDateRangeLastThreeMonthsLabel": {},
"documentsFilterPageDateRangeLastYearLabel": "Last Year",
"@documentsFilterPageDateRangeLastYearLabel": {},
"documentsFilterPageQueryOptionsAsnLabel": "ASN",
"@documentsFilterPageQueryOptionsAsnLabel": {},
"documentsFilterPageQueryOptionsExtendedLabel": "Extended",
"@documentsFilterPageQueryOptionsExtendedLabel": {},
"documentsFilterPageQueryOptionsTitleAndContentLabel": "Title & Content",
"@documentsFilterPageQueryOptionsTitleAndContentLabel": {},
"documentsFilterPageQueryOptionsTitleLabel": "Title",
"@documentsFilterPageQueryOptionsTitleLabel": {},
"documentsFilterPageSearchLabel": "Szukaj",
"@documentsFilterPageSearchLabel": {},
"documentsFilterPageTitle": "Filter Documents",
"@documentsFilterPageTitle": {},
"documentsPageBulkDeleteSuccessfulText": "Dokument pomyślnie usunięty.",
"@documentsPageBulkDeleteSuccessfulText": {},
"documentsPageEmptyStateNothingHereText": "There seems to be nothing here...",
"@documentsPageEmptyStateNothingHereText": {},
"documentsPageEmptyStateOopsText": "Ups.",
"@documentsPageEmptyStateOopsText": {},
"documentsPageNewDocumentAvailableText": "New document available!",
"@documentsPageNewDocumentAvailableText": {},
"documentsPageOrderByLabel": "Order By",
"@documentsPageOrderByLabel": {},
"documentsPageSelectionBulkDeleteDialogContinueText": "This action is irreversible. Do you wish to proceed anyway?",
"@documentsPageSelectionBulkDeleteDialogContinueText": {},
"documentsPageSelectionBulkDeleteDialogTitle": "Potwierdź usunięcie",
"@documentsPageSelectionBulkDeleteDialogTitle": {},
"documentsPageSelectionBulkDeleteDialogWarningTextMany": "Are you sure you want to delete the following documents?",
"@documentsPageSelectionBulkDeleteDialogWarningTextMany": {},
"documentsPageSelectionBulkDeleteDialogWarningTextOne": "Are you sure you want to delete the following document?",
"@documentsPageSelectionBulkDeleteDialogWarningTextOne": {},
"documentsPageTitle": "Documents",
"@documentsPageTitle": {},
"documentsSelectedText": "selected",
"@documentsSelectedText": {},
"documentStoragePathPropertyLabel": "Storage Path",
"@documentStoragePathPropertyLabel": {},
"documentsUploadPageTitle": "Prepare document",
"@documentsUploadPageTitle": {},
"documentTagsPropertyLabel": "Tagi",
"@documentTagsPropertyLabel": {},
"documentTitlePropertyLabel": "Tytuł",
"@documentTitlePropertyLabel": {},
"documentTypeFormFieldSearchHintText": "Zacznij pisać...",
"@documentTypeFormFieldSearchHintText": {},
"documentUpdateSuccessMessage": "Dokument został pomyślnie zaktualizowany ",
"@documentUpdateSuccessMessage": {},
"documentUploadFileNameLabel": "Nazwa Pliku",
"@documentUploadFileNameLabel": {},
"documentUploadPageSynchronizeTitleAndFilenameLabel": "Synchronize title and filename",
"@documentUploadPageSynchronizeTitleAndFilenameLabel": {},
"documentUploadProcessingSuccessfulReloadActionText": "Reload",
"@documentUploadProcessingSuccessfulReloadActionText": {},
"documentUploadProcessingSuccessfulText": "Dokument pomyślnie przetworzony.",
"@documentUploadProcessingSuccessfulText": {},
"documentUploadSuccessText": "Dokument pomyślnie przesłany, przetwarzam...",
"@documentUploadSuccessText": {},
"editLabelPageConfirmDeletionDialogTitle": "Potwierdź usunięcie",
"@editLabelPageConfirmDeletionDialogTitle": {},
"editLabelPageDeletionDialogText": "This label contains references to other documents. By deleting this label, all references will be removed. Continue?",
"@editLabelPageDeletionDialogText": {},
"errorMessageAcknowledgeTasksError": "Could not acknowledge tasks.",
"@errorMessageAcknowledgeTasksError": {},
"errorMessageAuthenticationFailed": "Authentication failed, please try again.",
"@errorMessageAuthenticationFailed": {},
"errorMessageAutocompleteQueryError": "An error ocurred while trying to autocomplete your query.",
"@errorMessageAutocompleteQueryError": {},
"errorMessageBiometricAuthenticationFailed": "Biometric authentication failed.",
"@errorMessageBiometricAuthenticationFailed": {},
"errorMessageBiotmetricsNotSupported": "Biometric authentication not supported on this device.",
"@errorMessageBiotmetricsNotSupported": {},
"errorMessageBulkActionFailed": "Could not bulk edit documents.",
"@errorMessageBulkActionFailed": {},
"errorMessageCorrespondentCreateFailed": "Could not create correspondent, please try again.",
"@errorMessageCorrespondentCreateFailed": {},
"errorMessageCorrespondentLoadFailed": "Could not load correspondents.",
"@errorMessageCorrespondentLoadFailed": {},
"errorMessageCreateSavedViewError": "Could not create saved view, please try again.",
"@errorMessageCreateSavedViewError": {},
"errorMessageDeleteSavedViewError": "Could not delete saved view, please try again",
"@errorMessageDeleteSavedViewError": {},
"errorMessageDeviceOffline": "You are currently offline. Please make sure you are connected to the internet.",
"@errorMessageDeviceOffline": {},
"errorMessageDocumentAsnQueryFailed": "Could not assign archive serial number.",
"@errorMessageDocumentAsnQueryFailed": {},
"errorMessageDocumentDeleteFailed": "Could not delete document, please try again.",
"@errorMessageDocumentDeleteFailed": {},
"errorMessageDocumentLoadFailed": "Could not load documents, please try again.",
"@errorMessageDocumentLoadFailed": {},
"errorMessageDocumentPreviewFailed": "Could not load document preview.",
"@errorMessageDocumentPreviewFailed": {},
"errorMessageDocumentTypeCreateFailed": "Could not create document, please try again.",
"@errorMessageDocumentTypeCreateFailed": {},
"errorMessageDocumentTypeLoadFailed": "Could not load document types, please try again.",
"@errorMessageDocumentTypeLoadFailed": {},
"errorMessageDocumentUpdateFailed": "Could not update document, please try again.",
"@errorMessageDocumentUpdateFailed": {},
"errorMessageDocumentUploadFailed": "Could not upload document, please try again.",
"@errorMessageDocumentUploadFailed": {},
"errorMessageInvalidClientCertificateConfiguration": "Invalid certificate or missing passphrase, please try again",
"@errorMessageInvalidClientCertificateConfiguration": {},
"errorMessageLoadSavedViewsError": "Could not load views.",
"@errorMessageLoadSavedViewsError": {},
"errorMessageMissingClientCertificate": "A client certificate was expected but not sent. Please provide a valid client certificate.",
"@errorMessageMissingClientCertificate": {},
"errorMessageNotAuthenticated": "User is not authenticated.",
"@errorMessageNotAuthenticated": {},
"errorMessageRequestTimedOut": "The request to the server timed out.",
"@errorMessageRequestTimedOut": {},
"errorMessageScanRemoveFailed": "An error occurred removing the scans.",
"@errorMessageScanRemoveFailed": {},
"errorMessageServerUnreachable": "Could not reach your Paperless server, is it up and running?",
"@errorMessageServerUnreachable": {},
"errorMessageSimilarQueryError": "Could not load similar documents.",
"@errorMessageSimilarQueryError": {},
"errorMessageStoragePathCreateFailed": "Could not create storage path, please try again.",
"@errorMessageStoragePathCreateFailed": {},
"errorMessageStoragePathLoadFailed": "Could not load storage paths.",
"@errorMessageStoragePathLoadFailed": {},
"errorMessageSuggestionsQueryError": "Could not load suggestions.",
"@errorMessageSuggestionsQueryError": {},
"errorMessageTagCreateFailed": "Could not create tag, please try again.",
"@errorMessageTagCreateFailed": {},
"errorMessageTagLoadFailed": "Could not load tags.",
"@errorMessageTagLoadFailed": {},
"errorMessageUnknonwnError": "An unknown error occurred.",
"@errorMessageUnknonwnError": {},
"errorMessageUnsupportedFileFormat": "This file format is not supported.",
"@errorMessageUnsupportedFileFormat": {},
"errorReportLabel": "REPORT",
"@errorReportLabel": {},
"extendedDateRangeDialogAbsoluteLabel": "Absolute",
"@extendedDateRangeDialogAbsoluteLabel": {},
"extendedDateRangeDialogHintText": "Hint: Apart from concrete dates, you can also specify a time range relative to the current date.",
"@extendedDateRangeDialogHintText": {},
"extendedDateRangeDialogRelativeAmountLabel": "Amount",
"@extendedDateRangeDialogRelativeAmountLabel": {},
"extendedDateRangeDialogRelativeLabel": "Relative",
"@extendedDateRangeDialogRelativeLabel": {},
"extendedDateRangeDialogRelativeLastLabel": "Last",
"@extendedDateRangeDialogRelativeLastLabel": {},
"extendedDateRangeDialogRelativeTimeUnitLabel": "Time unit",
"@extendedDateRangeDialogRelativeTimeUnitLabel": {},
"extendedDateRangeDialogTitle": "Wybierz zakres dat",
"@extendedDateRangeDialogTitle": {},
"extendedDateRangePickerAfterLabel": "Po",
"@extendedDateRangePickerAfterLabel": {},
"extendedDateRangePickerBeforeLabel": "Przed",
"@extendedDateRangePickerBeforeLabel": {},
"extendedDateRangePickerDayText": "{count, plural, zero{days} one{day} other{days}}",
"@extendedDateRangePickerDayText": {
"placeholders": {
"count": {}
}
},
"extendedDateRangePickerLastDaysLabel": "{count, plural, zero{} one{Yesterday} other{Last {count} days}}",
"@extendedDateRangePickerLastDaysLabel": {
"placeholders": {
"count": {}
}
},
"extendedDateRangePickerLastMonthsLabel": "{count, plural, zero{} one{Last month} other{Last {count} months}}",
"@extendedDateRangePickerLastMonthsLabel": {
"placeholders": {
"count": {}
}
},
"extendedDateRangePickerLastText": "Last",
"@extendedDateRangePickerLastText": {},
"extendedDateRangePickerLastWeeksLabel": "{count, plural, zero{} one{Last week} other{Last {count} weeks}}",
"@extendedDateRangePickerLastWeeksLabel": {
"placeholders": {
"count": {}
}
},
"extendedDateRangePickerLastYearsLabel": "{count, plural, zero{} one{Last year} other{Last {count} years}}",
"@extendedDateRangePickerLastYearsLabel": {
"placeholders": {
"count": {}
}
},
"extendedDateRangePickerMonthText": "{count, plural, zero{} one{month} other{months}}",
"@extendedDateRangePickerMonthText": {
"placeholders": {
"count": {}
}
},
"extendedDateRangePickerWeekText": "{count, plural, zero{} one{week} other{weeks}}",
"@extendedDateRangePickerWeekText": {
"placeholders": {
"count": {}
}
},
"extendedDateRangePickerYearText": "{count, plural, zero{} one{year} other{years}}",
"@extendedDateRangePickerYearText": {
"placeholders": {
"count": {}
}
},
"genericAcknowledgeLabel": "Got it!",
"@genericAcknowledgeLabel": {},
"genericActionCancelLabel": "Cancel",
"@genericActionCancelLabel": {},
"genericActionCloseLabel": "Close",
"@genericActionCloseLabel": {},
"genericActionCreateLabel": "Create",
"@genericActionCreateLabel": {},
"genericActionDeleteLabel": "Delete",
"@genericActionDeleteLabel": {},
"genericActionEditLabel": "Edit",
"@genericActionEditLabel": {},
"genericActionOkLabel": "Ok",
"@genericActionOkLabel": {},
"genericActionSaveLabel": "Save",
"@genericActionSaveLabel": {},
"genericActionSelectText": "Select",
"@genericActionSelectText": {},
"genericActionUpdateLabel": "Zapisz zmiany",
"@genericActionUpdateLabel": {},
"genericActionUploadLabel": "Upload",
"@genericActionUploadLabel": {},
"genericMessageOfflineText": "Jesteście w trybie offline.",
"@genericMessageOfflineText": {},
"inboxPageAssignAsnLabel": "Assign ASN",
"@inboxPageAssignAsnLabel": {},
"inboxPageDocumentRemovedMessageText": "Dokument usunięty ze skrzynki odbiorczej",
"@inboxPageDocumentRemovedMessageText": {},
"inboxPageMarkAllAsSeenConfirmationDialogText": "Are you sure you want to mark all documents as seen? This will perform a bulk edit operation removing all inbox tags from the documents. This action is not reversible! Are you sure you want to continue?",
"@inboxPageMarkAllAsSeenConfirmationDialogText": {},
"inboxPageMarkAllAsSeenConfirmationDialogTitleText": "Mark all as seen?",
"@inboxPageMarkAllAsSeenConfirmationDialogTitleText": {},
"inboxPageMarkAllAsSeenLabel": "All seen",
"@inboxPageMarkAllAsSeenLabel": {},
"inboxPageMarkAsSeenText": "Mark as seen",
"@inboxPageMarkAsSeenText": {},
"inboxPageNoNewDocumentsRefreshLabel": "Odświerz",
"@inboxPageNoNewDocumentsRefreshLabel": {},
"inboxPageNoNewDocumentsText": "You do not have unseen documents.",
"@inboxPageNoNewDocumentsText": {},
"inboxPageQuickActionsLabel": "Quick Action",
"@inboxPageQuickActionsLabel": {},
"inboxPageSuggestionSuccessfullyAppliedMessage": "Suggestion successfully applied.",
"@inboxPageSuggestionSuccessfullyAppliedMessage": {},
"inboxPageTodayText": "Dzisiaj",
"@inboxPageTodayText": {},
"inboxPageUndoRemoveText": "Cofnij",
"@inboxPageUndoRemoveText": {},
"inboxPageUnseenText": "unseen",
"@inboxPageUnseenText": {},
"inboxPageUsageHintText": "Hint: Swipe left to mark a document as seen and remove all inbox tags from the document.",
"@inboxPageUsageHintText": {},
"inboxPageYesterdayText": "Wczoraj",
"@inboxPageYesterdayText": {},
"labelAnyAssignedText": "Any assigned",
"@labelAnyAssignedText": {},
"labelFormFieldNoItemsFoundText": "No items found!",
"@labelFormFieldNoItemsFoundText": {},
"labelIsInsensivitePropertyLabel": "Case Irrelevant",
"@labelIsInsensivitePropertyLabel": {},
"labelMatchingAlgorithmPropertyLabel": "Matching Algorithm",
"@labelMatchingAlgorithmPropertyLabel": {},
"labelMatchPropertyLabel": "Match",
"@labelMatchPropertyLabel": {},
"labelNamePropertyLabel": "Nazwa",
"@labelNamePropertyLabel": {},
"labelNotAssignedText": "Not assigned",
"@labelNotAssignedText": {},
"labelsPageCorrespondentEmptyStateAddNewLabel": "Add new correspondent",
"@labelsPageCorrespondentEmptyStateAddNewLabel": {},
"labelsPageCorrespondentEmptyStateDescriptionText": "You don't seem to have any correspondents set up.",
"@labelsPageCorrespondentEmptyStateDescriptionText": {},
"labelsPageCorrespondentsTitleText": "Correspondents",
"@labelsPageCorrespondentsTitleText": {},
"labelsPageDocumentTypeEmptyStateAddNewLabel": "Dodaj nowy rodzaj dokumentu",
"@labelsPageDocumentTypeEmptyStateAddNewLabel": {},
"labelsPageDocumentTypeEmptyStateDescriptionText": "You don't seem to have any document types set up.",
"@labelsPageDocumentTypeEmptyStateDescriptionText": {},
"labelsPageDocumentTypesTitleText": "Rodzaje dokumentów",
"@labelsPageDocumentTypesTitleText": {},
"labelsPageStoragePathEmptyStateAddNewLabel": "Add new storage path",
"@labelsPageStoragePathEmptyStateAddNewLabel": {},
"labelsPageStoragePathEmptyStateDescriptionText": "You don't seem to have any storage paths set up.",
"@labelsPageStoragePathEmptyStateDescriptionText": {},
"labelsPageStoragePathTitleText": "Storage Paths",
"@labelsPageStoragePathTitleText": {},
"labelsPageTagsEmptyStateAddNewLabel": "Dodaj nowy tag",
"@labelsPageTagsEmptyStateAddNewLabel": {},
"labelsPageTagsEmptyStateDescriptionText": "You don't seem to have any tags set up.",
"@labelsPageTagsEmptyStateDescriptionText": {},
"labelsPageTagsTitleText": "Tagi",
"@labelsPageTagsTitleText": {},
"linkedDocumentsPageTitle": "Linked Documents",
"@linkedDocumentsPageTitle": {},
"loginPageAdvancedLabel": "Advanced Settings",
"@loginPageAdvancedLabel": {},
"loginPageClientCertificatePassphraseLabel": "Passphrase",
"@loginPageClientCertificatePassphraseLabel": {},
"loginPageClientCertificateSettingDescriptionText": "Configure Mutual TLS Authentication",
"@loginPageClientCertificateSettingDescriptionText": {},
"loginPageClientCertificateSettingInvalidFileFormatValidationText": "Invalid certificate format, only .pfx is allowed",
"@loginPageClientCertificateSettingInvalidFileFormatValidationText": {},
"loginPageClientCertificateSettingLabel": "Client Certificate",
"@loginPageClientCertificateSettingLabel": {},
"loginPageClientCertificateSettingSelectFileText": "Select file...",
"@loginPageClientCertificateSettingSelectFileText": {},
"loginPageContinueLabel": "Kontynuuj",
"@loginPageContinueLabel": {},
"loginPageIncorrectOrMissingCertificatePassphraseErrorMessageText": "Incorrect or missing certificate passphrase.",
"@loginPageIncorrectOrMissingCertificatePassphraseErrorMessageText": {},
"loginPageLoginButtonLabel": "Polącz",
"@loginPageLoginButtonLabel": {},
"loginPagePasswordFieldLabel": "Hasło",
"@loginPagePasswordFieldLabel": {},
"loginPagePasswordValidatorMessageText": "Hasło nie może być puste.",
"@loginPagePasswordValidatorMessageText": {},
"loginPageReachabilityConnectionTimeoutText": "Connection timed out.",
"@loginPageReachabilityConnectionTimeoutText": {},
"loginPageReachabilityInvalidClientCertificateConfigurationText": "Incorrect or missing client certificate passphrase.",
"@loginPageReachabilityInvalidClientCertificateConfigurationText": {},
"loginPageReachabilityMissingClientCertificateText": "A client certificate was expected but not sent. Please provide a certificate.",
"@loginPageReachabilityMissingClientCertificateText": {},
"loginPageReachabilityNotReachableText": "Could not establish a connection to the server.",
"@loginPageReachabilityNotReachableText": {},
"loginPageReachabilitySuccessText": "Connection successfully established.",
"@loginPageReachabilitySuccessText": {},
"loginPageReachabilityUnresolvedHostText": "Host could not be resolved. Please check the server address and your internet connection. ",
"@loginPageReachabilityUnresolvedHostText": {},
"loginPageServerUrlFieldLabel": "Adres serwera",
"@loginPageServerUrlFieldLabel": {},
"loginPageServerUrlValidatorMessageInvalidAddressText": "Invalid address.",
"@loginPageServerUrlValidatorMessageInvalidAddressText": {},
"loginPageServerUrlValidatorMessageMissingSchemeText": "Server address must include a scheme.",
"@loginPageServerUrlValidatorMessageMissingSchemeText": {},
"loginPageServerUrlValidatorMessageRequiredText": "Server address must not be empty.",
"@loginPageServerUrlValidatorMessageRequiredText": {},
"loginPageSignInButtonLabel": "Sign In",
"@loginPageSignInButtonLabel": {},
"loginPageSignInTitle": "Sign In",
"@loginPageSignInTitle": {},
"loginPageSignInToPrefixText": "Sign in to {serverAddress}",
"@loginPageSignInToPrefixText": {
"placeholders": {
"serverAddress": {}
}
},
"loginPageTitle": "Connect to Paperless",
"@loginPageTitle": {},
"loginPageUsernameLabel": "Username",
"@loginPageUsernameLabel": {},
"loginPageUsernameValidatorMessageText": "Username must not be empty.",
"@loginPageUsernameValidatorMessageText": {},
"matchingAlgorithmAllDescription": "Document contains all of these words",
"@matchingAlgorithmAllDescription": {},
"matchingAlgorithmAllName": "All",
"@matchingAlgorithmAllName": {},
"matchingAlgorithmAnyDescription": "Document contains any of these words",
"@matchingAlgorithmAnyDescription": {},
"matchingAlgorithmAnyName": "Any",
"@matchingAlgorithmAnyName": {},
"matchingAlgorithmAutoDescription": "Learn matching automatically",
"@matchingAlgorithmAutoDescription": {},
"matchingAlgorithmAutoName": "Auto",
"@matchingAlgorithmAutoName": {},
"matchingAlgorithmExactDescription": "Document contains this string",
"@matchingAlgorithmExactDescription": {},
"matchingAlgorithmExactName": "Exact",
"@matchingAlgorithmExactName": {},
"matchingAlgorithmFuzzyDescription": "Document contains a word similar to this word",
"@matchingAlgorithmFuzzyDescription": {},
"matchingAlgorithmFuzzyName": "Fuzzy",
"@matchingAlgorithmFuzzyName": {},
"matchingAlgorithmRegexDescription": "Document matches this regular expression",
"@matchingAlgorithmRegexDescription": {},
"matchingAlgorithmRegexName": "Regular Expression",
"@matchingAlgorithmRegexName": {},
"offlineWidgetText": "Nie można było nawiązać połączenia internetowego.",
"@offlineWidgetText": {},
"onboardingDoneButtonLabel": "Done",
"@onboardingDoneButtonLabel": {},
"onboardingNextButtonLabel": "Następne",
"@onboardingNextButtonLabel": {},
"receiveSharedFilePermissionDeniedMessage": "Could not access the received file. Please try to open the app before sharing.",
"@receiveSharedFilePermissionDeniedMessage": {},
"referencedDocumentsReadOnlyHintText": "This is a read-only view! You cannot edit or remove documents. A maximum of 100 referenced documents will be loaded.",
"@referencedDocumentsReadOnlyHintText": {},
"savedViewCreateNewLabel": "New View",
"@savedViewCreateNewLabel": {},
"savedViewCreateTooltipText": "Creates a new view based on the current filter criteria.",
"@savedViewCreateTooltipText": {},
"savedViewNameLabel": "Nazwa",
"@savedViewNameLabel": {},
"savedViewsEmptyStateText": "Create views to quickly filter your documents.",
"@savedViewsEmptyStateText": {},
"savedViewsFiltersSetCount": "{count, plural, zero{{count} filters set} one{{count} filter set} other{{count} filters set}}",
"@savedViewsFiltersSetCount": {
"placeholders": {
"count": {}
}
},
"savedViewShowInSidebarLabel": "Show in sidebar",
"@savedViewShowInSidebarLabel": {},
"savedViewShowOnDashboardLabel": "Show on dashboard",
"@savedViewShowOnDashboardLabel": {},
"savedViewsLabel": "Views",
"@savedViewsLabel": {},
"scannerPageClearAllLabel": "Clear all",
"@scannerPageClearAllLabel": {},
"scannerPageImagePreviewTitle": "Skanuj",
"@scannerPageImagePreviewTitle": {},
"scannerPagePreviewLabel": "Preview",
"@scannerPagePreviewLabel": {},
"scannerPageUploadLabel": "Upload",
"@scannerPageUploadLabel": {},
"serverInformationPaperlessVersionText": "Wersja serwera Paperless",
"@serverInformationPaperlessVersionText": {},
"settingsPageAppearanceSettingDarkThemeLabel": "Motyw ciemny",
"@settingsPageAppearanceSettingDarkThemeLabel": {},
"settingsPageAppearanceSettingLightThemeLabel": "Motyw jasny",
"@settingsPageAppearanceSettingLightThemeLabel": {},
"settingsPageAppearanceSettingSystemThemeLabel": "Użyj motywu systemu",
"@settingsPageAppearanceSettingSystemThemeLabel": {},
"settingsPageAppearanceSettingTitle": "Wygląd",
"@settingsPageAppearanceSettingTitle": {},
"settingsPageApplicationSettingsDescriptionText": "Język i wygląd",
"@settingsPageApplicationSettingsDescriptionText": {},
"settingsPageApplicationSettingsLabel": "Aplikacja",
"@settingsPageApplicationSettingsLabel": {},
"settingsPageColorSchemeSettingDialogDescription": "Choose between a classic color scheme inspired by a traditional Paperless green or use the dynamic color scheme based on your system theme.",
"@settingsPageColorSchemeSettingDialogDescription": {},
"settingsPageColorSchemeSettingDynamicThemeingVersionMismatchWarning": "Dynamic theming is only supported for devices running Android 12 and above. Selecting the 'Dynamic' option might not have any effect depending on your OS implementation.",
"@settingsPageColorSchemeSettingDynamicThemeingVersionMismatchWarning": {},
"settingsPageColorSchemeSettingLabel": "Kolory",
"@settingsPageColorSchemeSettingLabel": {},
"settingsPageLanguageSettingLabel": "Język",
"@settingsPageLanguageSettingLabel": {},
"settingsPageSecuritySettingsDescriptionText": "Uwierzytelnianie biometryczne",
"@settingsPageSecuritySettingsDescriptionText": {},
"settingsPageSecuritySettingsLabel": "Zabezpieczenia",
"@settingsPageSecuritySettingsLabel": {},
"settingsPageStorageSettingsDescriptionText": "Manage files and storage space",
"@settingsPageStorageSettingsDescriptionText": {},
"settingsPageStorageSettingsLabel": "Storage",
"@settingsPageStorageSettingsLabel": {},
"settingsThemeModeDarkLabel": "Ciemny",
"@settingsThemeModeDarkLabel": {},
"settingsThemeModeLightLabel": "Jasny",
"@settingsThemeModeLightLabel": {},
"settingsThemeModeSystemLabel": "System",
"@settingsThemeModeSystemLabel": {},
"sortDocumentAscending": "Ascending",
"@sortDocumentAscending": {},
"sortDocumentDescending": "Descending",
"@sortDocumentDescending": {},
"storagePathParameterDayLabel": "dzień",
"@storagePathParameterDayLabel": {},
"storagePathParameterMonthLabel": "miesiąc",
"@storagePathParameterMonthLabel": {},
"storagePathParameterYearLabel": "rok",
"@storagePathParameterYearLabel": {},
"tagColorPropertyLabel": "Kolor",
"@tagColorPropertyLabel": {},
"tagFormFieldSearchHintText": "Filter tags...",
"@tagFormFieldSearchHintText": {},
"tagInboxTagPropertyLabel": "Tag skrzynki odbiorczej",
"@tagInboxTagPropertyLabel": {},
"uploadPageAutomaticallInferredFieldsHintText": "If you specify values for these fields, your paperless instance will not automatically derive a value. If you want these values to be automatically populated by your server, leave the fields blank.",
"@uploadPageAutomaticallInferredFieldsHintText": {},
"verifyIdentityPageDescriptionText": "Use the configured biometric factor to authenticate and unlock your documents.",
"@verifyIdentityPageDescriptionText": {},
"verifyIdentityPageLogoutButtonLabel": "Disconnect",
"@verifyIdentityPageLogoutButtonLabel": {},
"verifyIdentityPageTitle": "Verify your identity",
"@verifyIdentityPageTitle": {},
"verifyIdentityPageVerifyIdentityButtonLabel": "Verify Identity",
"@verifyIdentityPageVerifyIdentityButtonLabel": {}
}

View File

@@ -6,6 +6,8 @@
"name": {} "name": {}
} }
}, },
"accountSettingsTitle": "Account",
"@accountSettingsTitle": {},
"addCorrespondentPageTitle": "Yeni ek yazar", "addCorrespondentPageTitle": "Yeni ek yazar",
"@addCorrespondentPageTitle": {}, "@addCorrespondentPageTitle": {},
"addDocumentTypePageTitle": "Yeni Belge Türü", "addDocumentTypePageTitle": "Yeni Belge Türü",
@@ -150,10 +152,14 @@
"@documentScannerPageUploadFromThisDeviceButtonLabel": {}, "@documentScannerPageUploadFromThisDeviceButtonLabel": {},
"documentSearchHistory": "History", "documentSearchHistory": "History",
"@documentSearchHistory": {}, "@documentSearchHistory": {},
"documentSearchNoMatchesFound": "No matches found.",
"@documentSearchNoMatchesFound": {},
"documentSearchPageRemoveFromHistory": "Remove from search history?", "documentSearchPageRemoveFromHistory": "Remove from search history?",
"@documentSearchPageRemoveFromHistory": {}, "@documentSearchPageRemoveFromHistory": {},
"documentSearchResults": "Results", "documentSearchResults": "Results",
"@documentSearchResults": {}, "@documentSearchResults": {},
"documentSearchSearchDocuments": "Search documents",
"@documentSearchSearchDocuments": {},
"documentsEmptyStateResetFilterLabel": "Filtreyi sıfırla", "documentsEmptyStateResetFilterLabel": "Filtreyi sıfırla",
"@documentsEmptyStateResetFilterLabel": {}, "@documentsEmptyStateResetFilterLabel": {},
"documentsFilterPageAdvancedLabel": "Gelişmiş", "documentsFilterPageAdvancedLabel": "Gelişmiş",
@@ -370,6 +376,8 @@
"@genericAcknowledgeLabel": {}, "@genericAcknowledgeLabel": {},
"genericActionCancelLabel": "İptal", "genericActionCancelLabel": "İptal",
"@genericActionCancelLabel": {}, "@genericActionCancelLabel": {},
"genericActionCloseLabel": "Close",
"@genericActionCloseLabel": {},
"genericActionCreateLabel": "Yarat", "genericActionCreateLabel": "Yarat",
"@genericActionCreateLabel": {}, "@genericActionCreateLabel": {},
"genericActionDeleteLabel": "Sil", "genericActionDeleteLabel": "Sil",
@@ -558,14 +566,26 @@
"@savedViewNameLabel": {}, "@savedViewNameLabel": {},
"savedViewsEmptyStateText": "Belgelerinizi hızla filtrelemek için görünümler oluşturun.", "savedViewsEmptyStateText": "Belgelerinizi hızla filtrelemek için görünümler oluşturun.",
"@savedViewsEmptyStateText": {}, "@savedViewsEmptyStateText": {},
"savedViewsFiltersSetCount": "{count, plural, zero{{count} filters set} one{{count} filter set} other{{count} filters set}}",
"@savedViewsFiltersSetCount": {
"placeholders": {
"count": {}
}
},
"savedViewShowInSidebarLabel": "Kenar çubuğunda göster", "savedViewShowInSidebarLabel": "Kenar çubuğunda göster",
"@savedViewShowInSidebarLabel": {}, "@savedViewShowInSidebarLabel": {},
"savedViewShowOnDashboardLabel": "Kontrol panelinde göster", "savedViewShowOnDashboardLabel": "Kontrol panelinde göster",
"@savedViewShowOnDashboardLabel": {}, "@savedViewShowOnDashboardLabel": {},
"savedViewsLabel": "Kayıtlı Görünümler", "savedViewsLabel": "Kayıtlı Görünümler",
"@savedViewsLabel": {}, "@savedViewsLabel": {},
"scannerPageClearAllLabel": "Clear all",
"@scannerPageClearAllLabel": {},
"scannerPageImagePreviewTitle": "Tara", "scannerPageImagePreviewTitle": "Tara",
"@scannerPageImagePreviewTitle": {}, "@scannerPageImagePreviewTitle": {},
"scannerPagePreviewLabel": "Preview",
"@scannerPagePreviewLabel": {},
"scannerPageUploadLabel": "Upload",
"@scannerPageUploadLabel": {},
"serverInformationPaperlessVersionText": "Paperless sunucu versiyonu", "serverInformationPaperlessVersionText": "Paperless sunucu versiyonu",
"@serverInformationPaperlessVersionText": {}, "@serverInformationPaperlessVersionText": {},
"settingsPageAppearanceSettingDarkThemeLabel": "Koyu Tema", "settingsPageAppearanceSettingDarkThemeLabel": "Koyu Tema",
@@ -627,6 +647,5 @@
"verifyIdentityPageTitle": "Kimliğinizi doğrulayın", "verifyIdentityPageTitle": "Kimliğinizi doğrulayın",
"@verifyIdentityPageTitle": {}, "@verifyIdentityPageTitle": {},
"verifyIdentityPageVerifyIdentityButtonLabel": "Kimliği Doğrula", "verifyIdentityPageVerifyIdentityButtonLabel": "Kimliği Doğrula",
"@verifyIdentityPageVerifyIdentityButtonLabel": {}, "@verifyIdentityPageVerifyIdentityButtonLabel": {}
"genericActionCloseLabel": "Close"
} }

View File

@@ -46,5 +46,10 @@ ThemeData buildTheme({
appBarTheme: AppBarTheme( appBarTheme: AppBarTheme(
scrolledUnderElevation: 0, scrolledUnderElevation: 0,
), ),
chipTheme: ChipThemeData(
backgroundColor: colorScheme.surfaceVariant,
checkmarkColor: colorScheme.onSurfaceVariant,
deleteIconColor: colorScheme.onSurfaceVariant,
),
); );
} }

View File

@@ -8,6 +8,6 @@ class PaperlessServerStatisticsModel {
}); });
PaperlessServerStatisticsModel.fromJson(Map<String, dynamic> json) PaperlessServerStatisticsModel.fromJson(Map<String, dynamic> json)
: documentsTotal = json['documents_total'], : documentsTotal = json['documents_total'] ?? 0,
documentsInInbox = json['documents_inbox']; documentsInInbox = json['documents_inbox'] ?? 0;
} }

View File

@@ -714,10 +714,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_typeahead name: flutter_typeahead
sha256: "0ec56e1deac7556f3616f3cd53c9a25bf225dc8b72e9f44b5a7717e42bb467b5" sha256: "73eb76fa640ea630e2d957e7b469ab2b91e4da6c4950d6032fab7009275637b7"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.1.1" version: "4.3.3"
flutter_web_plugins: flutter_web_plugins:
dependency: transitive dependency: transitive
description: flutter description: flutter

View File

@@ -68,7 +68,7 @@ dependencies:
mime: ^1.0.2 mime: ^1.0.2
receive_sharing_intent: ^1.4.5 receive_sharing_intent: ^1.4.5
uuid: ^3.0.6 uuid: ^3.0.6
flutter_typeahead: ^4.1.1 flutter_typeahead: ^4.3.3
fluttertoast: ^8.1.1 fluttertoast: ^8.1.1
paperless_api: paperless_api:
path: packages/paperless_api path: packages/paperless_api