From 893449ca6d527df94c14523edf342ec607c2c9e9 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Mon, 11 Dec 2023 18:21:29 +0530 Subject: [PATCH 01/24] Improve logs + fix lint for unawaited future --- lib/ui/viewer/file/zoomable_image.dart | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/ui/viewer/file/zoomable_image.dart b/lib/ui/viewer/file/zoomable_image.dart index 3487a1778..8f371032e 100644 --- a/lib/ui/viewer/file/zoomable_image.dart +++ b/lib/ui/viewer/file/zoomable_image.dart @@ -266,7 +266,7 @@ class _ZoomableImageState extends State showToast( context, 'Updating photo scale zooming and scale: ${_photoViewController.scale}', - ); + ).ignore(); } final prevImageInfo = await getImageInfo(previewImageProvider); finalImageInfo = await getImageInfo(finalImageProvider); @@ -301,10 +301,12 @@ class _ZoomableImageState extends State ) async { final int h = imageInfo.image.height, w = imageInfo.image.width; if (h != enteFile.height || w != enteFile.width) { - if (kDebugMode) { - showToast(context, 'Updating aspect ratio'); + final logMessage = + 'Updating aspect ratio for from ${enteFile.height}x${enteFile.width} to ${h}x$w'; + if (kDebugMode && (enteFile.height != 0 || enteFile.width != 0)) { + showToast(context, logMessage).ignore(); } - _logger.info('Updating aspect ratio for $enteFile to $h:$w'); + _logger.info(logMessage); await FileMagicService.instance.updatePublicMagicMetadata([ enteFile, ], { From 42533f285c4e2a2cd1b1100b9c70274cbb7e8157 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Mon, 11 Dec 2023 18:27:17 +0530 Subject: [PATCH 02/24] Linter warning fixes --- .../gallery/gallery_app_bar_widget.dart | 41 +++++++++++-------- lib/utils/magic_util.dart | 2 +- 2 files changed, 24 insertions(+), 19 deletions(-) diff --git a/lib/ui/viewer/gallery/gallery_app_bar_widget.dart b/lib/ui/viewer/gallery/gallery_app_bar_widget.dart index 21f2f862e..848535ee6 100644 --- a/lib/ui/viewer/gallery/gallery_app_bar_widget.dart +++ b/lib/ui/viewer/gallery/gallery_app_bar_widget.dart @@ -130,11 +130,14 @@ class _GalleryAppBarWidgetState extends State { if (galleryType != GalleryType.ownedCollection && galleryType != GalleryType.hiddenOwnedCollection && galleryType != GalleryType.quickLink) { - showToast( - context, - 'Type of galler $galleryType is not supported for ' - 'rename', + unawaited( + showToast( + context, + 'Type of galler $galleryType is not supported for ' + 'rename', + ), ); + return; } final result = await showTextInputDialog( @@ -233,7 +236,7 @@ class _GalleryAppBarWidgetState extends State { await dialog.hide(); if (status.localIDs.isEmpty) { - showErrorDialog( + await showErrorDialog( context, S.of(context).allClear, S.of(context).youveNoFilesInThisAlbumThatCanBeDeleted, @@ -256,7 +259,7 @@ class _GalleryAppBarWidgetState extends State { body: S.of(context).youHaveSuccessfullyFreedUp(formatBytes(status.size)), firstButtonLabel: S.of(context).rateUs, firstButtonOnTap: () async { - UpdateService.instance.launchReviewUrl(); + await UpdateService.instance.launchReviewUrl(); }, firstButtonType: ButtonType.primary, secondButtonLabel: S.of(context).ok, @@ -265,7 +268,7 @@ class _GalleryAppBarWidgetState extends State { showToast( context, S.of(context).remindToEmptyDeviceTrash, - ); + ).ignore(); } }, ); @@ -586,7 +589,7 @@ class _GalleryAppBarWidgetState extends State { } else if (value == AlbumPopupAction.map) { await showOnMap(); } else { - showToast(context, S.of(context).somethingWentWrong); + unawaited(showToast(context, S.of(context).somethingWentWrong)); } }, ), @@ -602,21 +605,23 @@ class _GalleryAppBarWidgetState extends State { widget.collection!, ); if (coverPhotoID != null) { - changeCoverPhoto(context, widget.collection!, coverPhotoID); + unawaited(changeCoverPhoto(context, widget.collection!, coverPhotoID)); } } Future showOnMap() async { final bool result = await requestForMapEnable(context); if (result) { - Navigator.of(context).push( - MaterialPageRoute( - builder: (context) => MapScreen( - filesFutureFn: () async { - return FilesDB.instance.getAllFilesCollection( - widget.collection!.id, - ); - }, + unawaited( + Navigator.of(context).push( + MaterialPageRoute( + builder: (context) => MapScreen( + filesFutureFn: () async { + return FilesDB.instance.getAllFilesCollection( + widget.collection!.id, + ); + }, + ), ), ), ); @@ -644,7 +649,7 @@ class _GalleryAppBarWidgetState extends State { ], ); if (sortByAsc != null) { - changeSortOrder(bContext, widget.collection!, sortByAsc); + unawaited(changeSortOrder(bContext, widget.collection!, sortByAsc)); } } diff --git a/lib/utils/magic_util.dart b/lib/utils/magic_util.dart index 539ccf9e4..b3459ece0 100644 --- a/lib/utils/magic_util.dart +++ b/lib/utils/magic_util.dart @@ -116,7 +116,7 @@ Future changeSortOrder( ); } catch (e, s) { _logger.severe("failed to update collection visibility", e, s); - showShortToast(context, S.of(context).somethingWentWrong); + unawaited(showShortToast(context, S.of(context).somethingWentWrong)); rethrow; } } From 0e062eb2d95f2ab0f5f17869fb04ba97b17d11a8 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Mon, 11 Dec 2023 19:27:35 +0530 Subject: [PATCH 03/24] Add option to clean up uncaterogized album --- .../collection_sharing_actions.dart | 44 +++++++++++++++++-- .../gallery/gallery_app_bar_widget.dart | 25 +++++++++++ 2 files changed, 65 insertions(+), 4 deletions(-) diff --git a/lib/ui/actions/collection/collection_sharing_actions.dart b/lib/ui/actions/collection/collection_sharing_actions.dart index 9428c56da..21d4543a2 100644 --- a/lib/ui/actions/collection/collection_sharing_actions.dart +++ b/lib/ui/actions/collection/collection_sharing_actions.dart @@ -1,3 +1,5 @@ +import "dart:async"; + import 'package:flutter/material.dart'; import 'package:logging/logging.dart'; import 'package:photos/core/configuration.dart'; @@ -257,8 +259,10 @@ class CollectionActions { labelText: S.of(context).sendInvite, isInAlert: true, onTap: () async { - shareText( - S.of(context).shareTextRecommendUsingEnte, + unawaited( + shareText( + S.of(context).shareTextRecommendUsingEnte, + ), ); }, ), @@ -384,6 +388,23 @@ class CollectionActions { await collectionsService.trashEmptyCollection(collection); } + Future removeFromUncatIfPresentInOtherAlbum( + Collection collection, + BuildContext bContext, + ) async { + try { + final List files = + await FilesDB.instance.getAllFilesCollection(collection.id); + await moveFilesFromCurrentCollection(bContext, collection, files); + } catch (e) { + logger.severe("Failed to remove files from uncategorized", e); + await showErrorDialogForException( + context: bContext, + exception: e as Exception, + ); + } + } + // _confirmSharedAlbumDeletion should be shown when user tries to delete an // album shared with other ente users. Future _confirmSharedAlbumDeletion( @@ -446,7 +467,9 @@ class CollectionActions { } if (!isCollectionOwner && split.ownedByOtherUsers.isNotEmpty) { - showShortToast(context, S.of(context).canOnlyRemoveFilesOwnedByYou); + unawaited( + showShortToast(context, S.of(context).canOnlyRemoveFilesOwnedByYou), + ); return; } @@ -528,7 +551,20 @@ class CollectionActions { for (MapEntry> entry in destCollectionToFilesMap.entries) { - await collectionsService.move(entry.key, collection.id, entry.value); + if (collection.type == CollectionType.uncategorized && + entry.key == collection.id) { + // skip moving files to uncategorized collection from uncategorized + // this flow is triggered while cleaning up uncategerized collection + logger.info( + 'skipping moving ${entry.value.length} files to uncategorized collection', + ); + } else { + await collectionsService.move( + entry.key, + collection.id, + entry.value, + ); + } } } diff --git a/lib/ui/viewer/gallery/gallery_app_bar_widget.dart b/lib/ui/viewer/gallery/gallery_app_bar_widget.dart index 848535ee6..58f94ba3b 100644 --- a/lib/ui/viewer/gallery/gallery_app_bar_widget.dart +++ b/lib/ui/viewer/gallery/gallery_app_bar_widget.dart @@ -71,6 +71,7 @@ enum AlbumPopupAction { addPhotos, pinAlbum, removeLink, + cleanUncategorized, } class _GalleryAppBarWidgetState extends State { @@ -385,6 +386,25 @@ class _GalleryAppBarWidgetState extends State { ), ); } + + if (galleryType == GalleryType.uncategorized) { + items.add( + PopupMenuItem( + value: AlbumPopupAction.cleanUncategorized, + child: Row( + children: [ + const Icon(Icons.crop_original_outlined), + const Padding( + padding: EdgeInsets.all(8), + ), + Text( + "Clean Uncategorized", + ), + ], + ), + ), + ); + } if (galleryType.canPin()) { items.add( PopupMenuItem( @@ -588,6 +608,11 @@ class _GalleryAppBarWidgetState extends State { } } else if (value == AlbumPopupAction.map) { await showOnMap(); + } else if (value == AlbumPopupAction.cleanUncategorized) { + await collectionActions.removeFromUncatIfPresentInOtherAlbum( + widget.collection!, + context, + ); } else { unawaited(showToast(context, S.of(context).somethingWentWrong)); } From 5d761e10c37a92a36bdbb1a329bf7e8122ee18ba Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Tue, 12 Dec 2023 08:23:45 +0530 Subject: [PATCH 04/24] Lint warnings fix --- .../backup/backup_section_widget.dart | 43 +++++++++++-------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/lib/ui/settings/backup/backup_section_widget.dart b/lib/ui/settings/backup/backup_section_widget.dart index 60d144f99..daddde047 100644 --- a/lib/ui/settings/backup/backup_section_widget.dart +++ b/lib/ui/settings/backup/backup_section_widget.dart @@ -1,3 +1,4 @@ +import "dart:async"; import 'dart:io'; import 'package:flutter/material.dart'; @@ -53,7 +54,7 @@ class BackupSectionWidgetState extends State { trailingIcon: Icons.chevron_right_outlined, trailingIconIsMuted: true, onTap: () async { - routeToPage( + await routeToPage( context, BackupFolderSelectionPage( buttonText: S.of(context).backup, @@ -70,7 +71,7 @@ class BackupSectionWidgetState extends State { trailingIcon: Icons.chevron_right_outlined, trailingIconIsMuted: true, onTap: () async { - routeToPage( + await routeToPage( context, const BackupSettingsScreen(), ); @@ -133,10 +134,12 @@ class BackupSectionWidgetState extends State { } if (duplicates.isEmpty) { - showErrorDialog( - context, - S.of(context).noDuplicates, - S.of(context).youveNoDuplicateFilesThatCanBeCleared, + unawaited( + showErrorDialog( + context, + S.of(context).noDuplicates, + S.of(context).youveNoDuplicateFilesThatCanBeCleared, + ), ); } else { final DeduplicationResult? result = @@ -167,15 +170,17 @@ class BackupSectionWidgetState extends State { S.of(context).youHaveSuccessfullyFreedUp(formatBytes(status.size)), firstButtonLabel: S.of(context).rateUs, firstButtonOnTap: () async { - UpdateService.instance.launchReviewUrl(); + await UpdateService.instance.launchReviewUrl(); }, firstButtonType: ButtonType.primary, secondButtonLabel: S.of(context).ok, secondButtonOnTap: () async { if (Platform.isIOS) { - showToast( - context, - S.of(context).remindToEmptyDeviceTrash, + unawaited( + showToast( + context, + S.of(context).remindToEmptyDeviceTrash, + ), ); } }, @@ -195,9 +200,11 @@ class BackupSectionWidgetState extends State { isInAlert: true, onTap: () async { if (Platform.isIOS) { - showToast( - context, - S.of(context).remindToEmptyDeviceTrash, + unawaited( + showToast( + context, + S.of(context).remindToEmptyDeviceTrash, + ), ); } }, @@ -222,10 +229,12 @@ class BackupSectionWidgetState extends State { firstButtonType: ButtonType.primary, secondButtonLabel: S.of(context).ok, secondButtonOnTap: () async { - showShortToast( - context, - S.of(context).remindToEmptyEnteTrash, - ).ignore(); + unawaited( + showShortToast( + context, + S.of(context).remindToEmptyEnteTrash, + ), + ); }, ); } From baf572152cdbfd7096c62970af645752fa16fa09 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Tue, 12 Dec 2023 08:24:02 +0530 Subject: [PATCH 05/24] Dedupe: remove deprecated code --- lib/ui/tools/deduplicate_page.dart | 85 ------------------------------ 1 file changed, 85 deletions(-) diff --git a/lib/ui/tools/deduplicate_page.dart b/lib/ui/tools/deduplicate_page.dart index ae0045883..f03832b06 100644 --- a/lib/ui/tools/deduplicate_page.dart +++ b/lib/ui/tools/deduplicate_page.dart @@ -48,8 +48,6 @@ class _DeduplicatePageState extends State { final Set _selectedFiles = {}; final Map _fileSizeMap = {}; late List _duplicates; - bool _shouldClubByCaptureTime = false; - bool _shouldClubByFileName = false; bool toastShown = false; SortKey sortKey = SortKey.size; @@ -200,89 +198,6 @@ class _DeduplicatePageState extends State { ); } - @Deprecated('Remove options for club by name, clean code in 2024') - Padding _getHeader() { - return Padding( - padding: const EdgeInsets.fromLTRB(16, 12, 16, 12), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - S.of(context).reviewDeduplicateItems, - style: Theme.of(context).textTheme.titleSmall, - ), - const Padding( - padding: EdgeInsets.all(12), - ), - const Divider( - height: 0, - ), - ], - ), - ); - } - - @Deprecated('Remove options for clubbing, clean code in 2024') - Widget _getClubbingConfig() { - return Padding( - padding: const EdgeInsets.fromLTRB(12, 0, 12, 4), - child: Column( - children: [ - CheckboxListTile( - value: _shouldClubByFileName, - onChanged: (value) { - _shouldClubByFileName = value!; - if (_shouldClubByFileName) { - _shouldClubByCaptureTime = false; - } - _resetEntriesAndSelection(); - setState(() {}); - }, - title: Text(S.of(context).clubByFileName), - ), - CheckboxListTile( - value: _shouldClubByCaptureTime, - onChanged: (value) { - _shouldClubByCaptureTime = value!; - if (_shouldClubByCaptureTime) { - _shouldClubByFileName = false; - } - _resetEntriesAndSelection(); - setState(() {}); - }, - title: Text(S.of(context).clubByCaptureTime), - ), - const Padding( - padding: EdgeInsets.all(8), - ), - const Divider( - height: 0, - ), - const Padding( - padding: EdgeInsets.all(4), - ), - ], - ), - ); - } - - void _resetEntriesAndSelection() { - _duplicates = widget.duplicates; - late String? Function(EnteFile) clubbingKeyFn; - if (_shouldClubByCaptureTime) { - clubbingKeyFn = (EnteFile f) => f.creationTime?.toString() ?? ''; - } else if (_shouldClubByFileName) { - clubbingKeyFn = (EnteFile f) => f.displayName; - } else { - clubbingKeyFn = (EnteFile f) => f.hash; - } - _duplicates = DeduplicationService.instance.clubDuplicates( - _duplicates, - clubbingKey: clubbingKeyFn, - ); - _selectAllFilesButFirst(); - } - Widget _getSortMenu(BuildContext context) { Text sortOptionText(SortKey key) { String text = key.toString(); From 1d5b3a20905e5b0b865aa404c018221268183e91 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Wed, 13 Dec 2023 08:49:40 +0530 Subject: [PATCH 06/24] Update launch.json.example --- .vscode/launch.json.example | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.vscode/launch.json.example b/.vscode/launch.json.example index 974de11cb..1e6b9ae6f 100644 --- a/.vscode/launch.json.example +++ b/.vscode/launch.json.example @@ -26,6 +26,8 @@ "independent", "--dart-define", "endpoint=http://localhost:8080", + "--dart-define", + "web-family=http://localhost:3003", ] }, { @@ -41,10 +43,12 @@ "type": "dart", "flutterMode": "debug", "program": "lib/main.dart", - "args": [ - "--dart-define", - "endpoint=http://localhost:8080", - ] + "args": [ + "--dart-define", + "endpoint=http://localhost:8080", + "--dart-define", + "web-family=http://localhost:3003" + ] }, ] } \ No newline at end of file From 56d81735103e1327ec5cbb725c815222f3778da9 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Wed, 13 Dec 2023 08:51:12 +0530 Subject: [PATCH 07/24] Fix: Dismiss dialog before navigation --- lib/services/billing_service.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/services/billing_service.dart b/lib/services/billing_service.dart index d565149fc..e9485f50c 100644 --- a/lib/services/billing_service.dart +++ b/lib/services/billing_service.dart @@ -184,6 +184,7 @@ class BillingService { try { final String jwtToken = await UserService.instance.getFamiliesToken(); final bool familyExist = userDetails.isPartOfFamily(); + await dialog.hide(); await Navigator.of(context).push( MaterialPageRoute( builder: (BuildContext context) { @@ -198,6 +199,5 @@ class BillingService { await dialog.hide(); await showGenericErrorDialog(context: context, error: e); } - await dialog.hide(); } } From 82cdd9a7a24bc1fcf5e3c143c6c4f59aaa5c46ec Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Thu, 14 Dec 2023 08:49:11 +0530 Subject: [PATCH 08/24] UI: Add option to select/unselect grid --- lib/ui/tools/deduplicate_page.dart | 103 +++++++++++++++++------------ 1 file changed, 61 insertions(+), 42 deletions(-) diff --git a/lib/ui/tools/deduplicate_page.dart b/lib/ui/tools/deduplicate_page.dart index f03832b06..a816f29a2 100644 --- a/lib/ui/tools/deduplicate_page.dart +++ b/lib/ui/tools/deduplicate_page.dart @@ -9,13 +9,13 @@ import 'package:photos/models/duplicate_files.dart'; import 'package:photos/models/file/file.dart'; import 'package:photos/services/collections_service.dart'; import 'package:photos/services/deduplication_service.dart'; +import "package:photos/theme/ente_theme.dart"; import 'package:photos/ui/viewer/file/detail_page.dart'; import 'package:photos/ui/viewer/file/thumbnail_widget.dart'; import 'package:photos/ui/viewer/gallery/empty_state.dart'; import 'package:photos/utils/data_util.dart'; import 'package:photos/utils/delete_file_util.dart'; import 'package:photos/utils/navigation_util.dart'; -import 'package:photos/utils/toast_util.dart'; class DeduplicatePage extends StatefulWidget { final List duplicates; @@ -46,9 +46,10 @@ class _DeduplicatePageState extends State { ); final Set _selectedFiles = {}; + final Set unselectedGrids = {}; final Map _fileSizeMap = {}; + late List _duplicates; - bool toastShown = false; SortKey sortKey = SortKey.size; @@ -58,6 +59,7 @@ class _DeduplicatePageState extends State { widget.duplicates, clubbingKey: (EnteFile f) => f.hash, ); + unselectedGrids.clear(); _selectAllFilesButFirst(); super.initState(); @@ -65,6 +67,7 @@ class _DeduplicatePageState extends State { void _selectAllFilesButFirst() { _selectedFiles.clear(); + for (final duplicate in _duplicates) { for (int index = 0; index < duplicate.files.length; index++) { // Select all items but the first @@ -79,13 +82,6 @@ class _DeduplicatePageState extends State { @override Widget build(BuildContext context) { - if (!toastShown) { - toastShown = true; - showShortToast( - context, - S.of(context).longpressOnAnItemToViewInFullscreen, - ); - } _sortDuplicates(); return Scaffold( appBar: AppBar( @@ -326,13 +322,38 @@ class _DeduplicatePageState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Padding( - padding: const EdgeInsets.fromLTRB(2, 4, 4, 12), - child: Text( - S.of(context).duplicateItemsGroup( - duplicates.files.length, - formatBytes(duplicates.size), + padding: const EdgeInsets.fromLTRB(2, 4, 2, 12), + child: GestureDetector( + onTap: () { + if (unselectedGrids.contains(itemIndex)) { + unselectedGrids.remove(itemIndex); + } else { + unselectedGrids.add(itemIndex); + } + setState(() {}); + }, + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + S.of(context).duplicateItemsGroup( + duplicates.files.length, + formatBytes(duplicates.size), + ), + style: Theme.of(context).textTheme.titleSmall, ), - style: Theme.of(context).textTheme.titleSmall, + unselectedGrids.contains(itemIndex) + ? Icon( + Icons.check_circle_outlined, + color: getEnteColorScheme(context).strokeMuted, + size: 24, + ) + : const Icon( + Icons.check_circle, + size: 24, + ), + ], + ), ), ), Padding( @@ -360,12 +381,20 @@ class _DeduplicatePageState extends State { Widget _buildFile(BuildContext context, EnteFile file, int index) { return GestureDetector( onTap: () { - if (_selectedFiles.contains(file)) { - _selectedFiles.remove(file); - } else { - _selectedFiles.add(file); - } - setState(() {}); + final files = _duplicates[index].files; + routeToPage( + context, + DetailPage( + DetailPageConfiguration( + files, + null, + files.indexOf(file), + "deduplicate_", + mode: DetailPageMode.minimalistic, + ), + ), + forceCustomPageRoute: true, + ); }, onLongPress: () { HapticFeedback.lightImpact(); @@ -392,28 +421,18 @@ class _DeduplicatePageState extends State { height: (MediaQuery.of(context).size.width - (crossAxisSpacing * crossAxisCount)) / crossAxisCount, - child: Stack( - children: [ - Hero( - tag: "deduplicate_" + file.tag, - child: ClipRRect( - borderRadius: BorderRadius.circular(4), - child: ThumbnailWidget( - file, - diskLoadDeferDuration: thumbnailDiskLoadDeferDuration, - serverLoadDeferDuration: thumbnailServerLoadDeferDuration, - shouldShowLivePhotoOverlay: true, - key: Key("deduplicate_" + file.tag), - ), - ), + child: Hero( + tag: "deduplicate_" + file.tag, + child: ClipRRect( + borderRadius: BorderRadius.circular(4), + child: ThumbnailWidget( + file, + diskLoadDeferDuration: thumbnailDiskLoadDeferDuration, + serverLoadDeferDuration: thumbnailServerLoadDeferDuration, + shouldShowLivePhotoOverlay: true, + key: Key("deduplicate_" + file.tag), ), - _selectedFiles.contains(file) - ? ClipRRect( - borderRadius: BorderRadius.circular(4), - child: selectedOverlay, - ) - : const SizedBox.shrink(), - ], + ), ), ), const SizedBox(height: 6), From 08930a4e699b0d02bc8c44e8e9a24f9ee9635ccc Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Thu, 14 Dec 2023 08:58:12 +0530 Subject: [PATCH 09/24] Rename --- lib/models/duplicate_files.dart | 22 +++++++++++----------- lib/services/deduplication_service.dart | 4 ++-- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/lib/models/duplicate_files.dart b/lib/models/duplicate_files.dart index a0d363e07..a60436c29 100644 --- a/lib/models/duplicate_files.dart +++ b/lib/models/duplicate_files.dart @@ -4,13 +4,13 @@ import 'package:photos/models/file/file.dart'; import 'package:photos/services/collections_service.dart'; class DuplicateFilesResponse { - final List duplicates; - DuplicateFilesResponse(this.duplicates); + final List sameSizeFiles; + DuplicateFilesResponse(this.sameSizeFiles); factory DuplicateFilesResponse.fromMap(Map map) { return DuplicateFilesResponse( - List.from( - map['duplicates']?.map((x) => DuplicateItems.fromMap(x)), + List.from( + map['duplicates']?.map((x) => FileWithSameSize.fromMap(x)), ), ); } @@ -19,23 +19,23 @@ class DuplicateFilesResponse { DuplicateFilesResponse.fromMap(json.decode(source)); @override - String toString() => 'DuplicateFiles(duplicates: $duplicates)'; + String toString() => 'DuplicateFiles(sameSizeFiles: $sameSizeFiles)'; } -class DuplicateItems { +class FileWithSameSize { final List fileIDs; final int size; - DuplicateItems(this.fileIDs, this.size); + FileWithSameSize(this.fileIDs, this.size); - factory DuplicateItems.fromMap(Map map) { - return DuplicateItems( + factory FileWithSameSize.fromMap(Map map) { + return FileWithSameSize( List.from(map['fileIDs']), map['size'], ); } - factory DuplicateItems.fromJson(String source) => - DuplicateItems.fromMap(json.decode(source)); + factory FileWithSameSize.fromJson(String source) => + FileWithSameSize.fromMap(json.decode(source)); @override String toString() => 'Duplicates(fileIDs: $fileIDs, size: $size)'; diff --git a/lib/services/deduplication_service.dart b/lib/services/deduplication_service.dart index 7af257c75..73e31626c 100644 --- a/lib/services/deduplication_service.dart +++ b/lib/services/deduplication_service.dart @@ -26,13 +26,13 @@ class DeduplicationService { } final DuplicateFilesResponse dupes = await _fetchDuplicateFileIDs(); final ids = []; - for (final dupe in dupes.duplicates) { + for (final dupe in dupes.sameSizeFiles) { ids.addAll(dupe.fileIDs); } final fileMap = await FilesDB.instance.getFilesFromIDs(ids); final result = []; final missingFileIDs = []; - for (final dupe in dupes.duplicates) { + for (final dupe in dupes.sameSizeFiles) { final files = []; for (final id in dupe.fileIDs) { final file = fileMap[id]; From 665c37819783f27d2beea61671bb266906e1737a Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Thu, 14 Dec 2023 09:40:50 +0530 Subject: [PATCH 10/24] Dedupe: Pull up hash clubbing logic --- lib/services/deduplication_service.dart | 90 ++++++++++--------------- lib/ui/tools/deduplicate_page.dart | 6 +- 2 files changed, 38 insertions(+), 58 deletions(-) diff --git a/lib/services/deduplication_service.dart b/lib/services/deduplication_service.dart index 73e31626c..f1af56121 100644 --- a/lib/services/deduplication_service.dart +++ b/lib/services/deduplication_service.dart @@ -33,29 +33,37 @@ class DeduplicationService { final result = []; final missingFileIDs = []; for (final dupe in dupes.sameSizeFiles) { - final files = []; + final Map> sizeHashToFilesMap = {}; + final fileSize = dupe.size; + final filesWithHash = []; for (final id in dupe.fileIDs) { final file = fileMap[id]; - if (file != null) { - files.add(file); - } else { + if (file != null && file.hash != null && file.hash!.isNotEmpty) { + filesWithHash.add(file); + } else if (file == null) { missingFileIDs.add(id); + } else { + _logger.info("File with ID $id has no hash"); + } + } + // Group by size and hash + for (final file in filesWithHash) { + final key = '$fileSize-${file.hash}'; + _logger.info('FileUploadID ${file.uploadedFileID} has hash ${key}'); + if (!sizeHashToFilesMap.containsKey(key)) { + sizeHashToFilesMap[key] = []; } + sizeHashToFilesMap[key]!.add(file); } - // Place files that are available locally at first to minimize the chances - // of a deletion followed by a re-upload - files.sort((first, second) { - if (first.localID != null && second.localID == null) { - return -1; - } else if (first.localID == null && second.localID != null) { - return 1; + for (final key in sizeHashToFilesMap.keys) { + final files = sizeHashToFilesMap[key]!; + if (files.length > 1) { + // todo: add logic to put candidate to keep first + result.add(DuplicateFiles(files, fileSize)); } - return 0; - }); - if (files.length > 1) { - result.add(DuplicateFiles(files, dupe.size)); } } + if (missingFileIDs.isNotEmpty) { _logger.severe( "Missing files", @@ -74,35 +82,8 @@ class DeduplicationService { } } - List clubDuplicates( - List dupesBySize, { - required String? Function(EnteFile) clubbingKey, - }) { - final dupesBySizeAndClubKey = []; - for (final sizeBasedDupe in dupesBySize) { - final Map> clubKeyToFilesMap = {}; - for (final file in sizeBasedDupe.files) { - final String? clubKey = clubbingKey(file); - if (clubKey == null || clubKey.isEmpty) { - continue; - } - if (!clubKeyToFilesMap.containsKey(clubKey)) { - clubKeyToFilesMap[clubKey] = []; - } - clubKeyToFilesMap[clubKey]!.add(file); - } - for (final clubbingKey in clubKeyToFilesMap.keys) { - final clubbedFiles = clubKeyToFilesMap[clubbingKey]!; - if (clubbedFiles.length > 1) { - dupesBySizeAndClubKey.add( - DuplicateFiles(clubbedFiles, sizeBasedDupe.size), - ); - } - } - } - return dupesBySizeAndClubKey; - } - + // Returns a list of DuplicateFiles, where each DuplicateFiles object contains + // a list of files that have the same size and hash Future> _getDuplicateFilesFromLocal() async { final List allFiles = await FilesDB.instance.getAllFilesFromDB( CollectionsService.instance.getHiddenCollectionIds(), @@ -111,24 +92,27 @@ class DeduplicationService { allFiles.removeWhere( (f) => !f.isUploaded || + (f.hash ?? '').isEmpty || (f.ownerID ?? 0) != ownerID || (f.fileSize ?? 0) <= 0, ); - final Map> sizeToFilesMap = {}; + final Map> sizeHashToFilesMap = {}; for (final file in allFiles) { - if (!sizeToFilesMap.containsKey(file.fileSize)) { - sizeToFilesMap[file.fileSize!] = []; + final key = '${file.fileSize}-${file.hash}'; + if (!sizeHashToFilesMap.containsKey(key)) { + sizeHashToFilesMap[key] = []; } - sizeToFilesMap[file.fileSize]!.add(file); + sizeHashToFilesMap[key]!.add(file); } - final List dupesBySize = []; - for (final size in sizeToFilesMap.keys) { - final List files = sizeToFilesMap[size]!; + final List dupesBySizeHash = []; + for (final key in sizeHashToFilesMap.keys) { + final List files = sizeHashToFilesMap[key]!; if (files.length > 1) { - dupesBySize.add(DuplicateFiles(files, size)); + final size = files[0].fileSize!; + dupesBySizeHash.add(DuplicateFiles(files, size)); } } - return dupesBySize; + return dupesBySizeHash; } Future _fetchDuplicateFileIDs() async { diff --git a/lib/ui/tools/deduplicate_page.dart b/lib/ui/tools/deduplicate_page.dart index a816f29a2..d0b336894 100644 --- a/lib/ui/tools/deduplicate_page.dart +++ b/lib/ui/tools/deduplicate_page.dart @@ -8,7 +8,6 @@ import "package:photos/generated/l10n.dart"; import 'package:photos/models/duplicate_files.dart'; import 'package:photos/models/file/file.dart'; import 'package:photos/services/collections_service.dart'; -import 'package:photos/services/deduplication_service.dart'; import "package:photos/theme/ente_theme.dart"; import 'package:photos/ui/viewer/file/detail_page.dart'; import 'package:photos/ui/viewer/file/thumbnail_widget.dart'; @@ -55,10 +54,7 @@ class _DeduplicatePageState extends State { @override void initState() { - _duplicates = DeduplicationService.instance.clubDuplicates( - widget.duplicates, - clubbingKey: (EnteFile f) => f.hash, - ); + _duplicates = widget.duplicates; unselectedGrids.clear(); _selectAllFilesButFirst(); From 664952c1ed662d815aa0a589f0bbda9f123c76a4 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Thu, 14 Dec 2023 11:07:19 +0530 Subject: [PATCH 11/24] Refactor: Reduce duplicate logic in dedupe grouping --- lib/models/duplicate_files.dart | 10 +++ lib/services/deduplication_service.dart | 91 +++++++------------------ 2 files changed, 36 insertions(+), 65 deletions(-) diff --git a/lib/models/duplicate_files.dart b/lib/models/duplicate_files.dart index a60436c29..151cd6dee 100644 --- a/lib/models/duplicate_files.dart +++ b/lib/models/duplicate_files.dart @@ -15,6 +15,16 @@ class DuplicateFilesResponse { ); } + Map toUploadIDToSize() { + final Map result = {}; + for (final filesWithSameSize in sameSizeFiles) { + for (final uploadID in filesWithSameSize.fileIDs) { + result[uploadID] = filesWithSameSize.size; + } + } + return result; + } + factory DuplicateFilesResponse.fromJson(String source) => DuplicateFilesResponse.fromMap(json.decode(source)); diff --git a/lib/services/deduplication_service.dart b/lib/services/deduplication_service.dart index f1af56121..97dbe676c 100644 --- a/lib/services/deduplication_service.dart +++ b/lib/services/deduplication_service.dart @@ -19,62 +19,7 @@ class DeduplicationService { Future> getDuplicateFiles() async { try { - final bool hasFileSizes = await FilesService.instance.hasMigratedSizes(); - if (hasFileSizes) { - final List result = await _getDuplicateFilesFromLocal(); - return result; - } - final DuplicateFilesResponse dupes = await _fetchDuplicateFileIDs(); - final ids = []; - for (final dupe in dupes.sameSizeFiles) { - ids.addAll(dupe.fileIDs); - } - final fileMap = await FilesDB.instance.getFilesFromIDs(ids); - final result = []; - final missingFileIDs = []; - for (final dupe in dupes.sameSizeFiles) { - final Map> sizeHashToFilesMap = {}; - final fileSize = dupe.size; - final filesWithHash = []; - for (final id in dupe.fileIDs) { - final file = fileMap[id]; - if (file != null && file.hash != null && file.hash!.isNotEmpty) { - filesWithHash.add(file); - } else if (file == null) { - missingFileIDs.add(id); - } else { - _logger.info("File with ID $id has no hash"); - } - } - // Group by size and hash - for (final file in filesWithHash) { - final key = '$fileSize-${file.hash}'; - _logger.info('FileUploadID ${file.uploadedFileID} has hash ${key}'); - if (!sizeHashToFilesMap.containsKey(key)) { - sizeHashToFilesMap[key] = []; - } - sizeHashToFilesMap[key]!.add(file); - } - for (final key in sizeHashToFilesMap.keys) { - final files = sizeHashToFilesMap[key]!; - if (files.length > 1) { - // todo: add logic to put candidate to keep first - result.add(DuplicateFiles(files, fileSize)); - } - } - } - - if (missingFileIDs.isNotEmpty) { - _logger.severe( - "Missing files", - InvalidStateError( - "Could not find " + - missingFileIDs.length.toString() + - " files in local DB: " + - missingFileIDs.toString(), - ), - ); - } + final List result = await _getDuplicateFiles(); return result; } catch (e, s) { _logger.severe("failed to get dedupeFile", e, s); @@ -84,20 +29,36 @@ class DeduplicationService { // Returns a list of DuplicateFiles, where each DuplicateFiles object contains // a list of files that have the same size and hash - Future> _getDuplicateFilesFromLocal() async { + Future> _getDuplicateFiles() async { + Map uploadIDToSize = {}; + final bool hasFileSizes = await FilesService.instance.hasMigratedSizes(); + if (hasFileSizes) { + final DuplicateFilesResponse dupes = await _fetchDuplicateFileIDs(); + uploadIDToSize = dupes.toUploadIDToSize(); + } + final List allFiles = await FilesDB.instance.getAllFilesFromDB( CollectionsService.instance.getHiddenCollectionIds(), ); final int ownerID = Configuration.instance.getUserID()!; - allFiles.removeWhere( - (f) => - !f.isUploaded || - (f.hash ?? '').isEmpty || - (f.ownerID ?? 0) != ownerID || - (f.fileSize ?? 0) <= 0, - ); - final Map> sizeHashToFilesMap = {}; + final List filteredFiles = []; for (final file in allFiles) { + if (!file.isUploaded || + (file.hash ?? '').isEmpty || + (file.ownerID ?? 0) != ownerID) { + continue; + } + if ((file.fileSize ?? 0) <= 0) { + file.fileSize = uploadIDToSize[file.uploadedFileID!] ?? 0; + } + if ((file.fileSize ?? 0) <= 0) { + continue; + } + filteredFiles.add(file); + } + + final Map> sizeHashToFilesMap = {}; + for (final file in filteredFiles) { final key = '${file.fileSize}-${file.hash}'; if (!sizeHashToFilesMap.containsKey(key)) { sizeHashToFilesMap[key] = []; From 5df250358177c9af71294b56612d101841b0fa79 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Thu, 14 Dec 2023 13:48:26 +0530 Subject: [PATCH 12/24] Dedupe: Switch to selected grids for delete section --- lib/db/files_db.dart | 10 +++- lib/models/duplicate_files.dart | 7 ++- lib/services/collections_service.dart | 15 ++++++ lib/services/deduplication_service.dart | 20 ++++++-- lib/services/search_service.dart | 6 ++- lib/ui/tools/deduplicate_page.dart | 68 ++++++++++++++----------- 6 files changed, 87 insertions(+), 39 deletions(-) diff --git a/lib/db/files_db.dart b/lib/db/files_db.dart index eea060855..1ec0a1948 100644 --- a/lib/db/files_db.dart +++ b/lib/db/files_db.dart @@ -1488,14 +1488,20 @@ class FilesDB { await batch.commit(noResult: true); } - Future> getAllFilesFromDB(Set collectionsToIgnore) async { + Future> getAllFilesFromDB( + Set collectionsToIgnore, { + bool dedupeByUploadId = true, + }) async { final db = await instance.database; final List> result = await db.query(filesTable, orderBy: '$columnCreationTime DESC'); final List files = convertToFiles(result); final List deduplicatedFiles = await applyDBFilters( files, - DBFilterOptions(ignoredCollectionIDs: collectionsToIgnore), + DBFilterOptions( + ignoredCollectionIDs: collectionsToIgnore, + dedupeUploadID: dedupeByUploadId, + ), ); return deduplicatedFiles; } diff --git a/lib/models/duplicate_files.dart b/lib/models/duplicate_files.dart index 151cd6dee..dc8985661 100644 --- a/lib/models/duplicate_files.dart +++ b/lib/models/duplicate_files.dart @@ -54,9 +54,14 @@ class FileWithSameSize { class DuplicateFiles { final List files; final int size; + final Set collectionIDs; static final collectionsService = CollectionsService.instance; - DuplicateFiles(this.files, this.size) { + DuplicateFiles( + this.files, + this.size, + this.collectionIDs, + ) { sortByCollectionName(); } diff --git a/lib/services/collections_service.dart b/lib/services/collections_service.dart index c17c2f4ff..1678d15e9 100644 --- a/lib/services/collections_service.dart +++ b/lib/services/collections_service.dart @@ -310,6 +310,21 @@ class CollectionsService { .toList(); } + // getActiveCollections returns list of collections which are not deleted yet + Set nonHiddenOwnedCollections() { + final int ownerID = _config.getUserID()!; + return _collectionIDToCollections.values + .toList() + .where( + (element) => + !element.isDeleted && + !element.isHidden() && + element.isOwner(ownerID), + ) + .map((e) => e.id) + .toSet(); + } + // returns collections after removing deleted,uncategorized, and hidden // collections List getCollectionsForUI({ diff --git a/lib/services/deduplication_service.dart b/lib/services/deduplication_service.dart index 97dbe676c..661990766 100644 --- a/lib/services/deduplication_service.dart +++ b/lib/services/deduplication_service.dart @@ -32,20 +32,24 @@ class DeduplicationService { Future> _getDuplicateFiles() async { Map uploadIDToSize = {}; final bool hasFileSizes = await FilesService.instance.hasMigratedSizes(); - if (hasFileSizes) { + if (!hasFileSizes) { final DuplicateFilesResponse dupes = await _fetchDuplicateFileIDs(); uploadIDToSize = dupes.toUploadIDToSize(); } + final Set allowedCollectionIDs = + CollectionsService.instance.nonHiddenOwnedCollections(); final List allFiles = await FilesDB.instance.getAllFilesFromDB( CollectionsService.instance.getHiddenCollectionIds(), + dedupeByUploadId: false, ); final int ownerID = Configuration.instance.getUserID()!; final List filteredFiles = []; for (final file in allFiles) { if (!file.isUploaded || (file.hash ?? '').isEmpty || - (file.ownerID ?? 0) != ownerID) { + (file.ownerID ?? 0) != ownerID || + (!allowedCollectionIDs.contains(file.collectionID!))) { continue; } if ((file.fileSize ?? 0) <= 0) { @@ -58,19 +62,27 @@ class DeduplicationService { } final Map> sizeHashToFilesMap = {}; + final Map> sizeHashToCollectionsSet = {}; + final Set processedFileIds = {}; for (final file in filteredFiles) { final key = '${file.fileSize}-${file.hash}'; if (!sizeHashToFilesMap.containsKey(key)) { sizeHashToFilesMap[key] = []; + sizeHashToCollectionsSet[key] = {}; + } + sizeHashToCollectionsSet[key]!.add(file.collectionID!); + if (!processedFileIds.contains(file.uploadedFileID)) { + sizeHashToFilesMap[key]!.add(file); + processedFileIds.add(file.uploadedFileID!); } - sizeHashToFilesMap[key]!.add(file); } final List dupesBySizeHash = []; for (final key in sizeHashToFilesMap.keys) { final List files = sizeHashToFilesMap[key]!; + final Set collectionIds = sizeHashToCollectionsSet[key]!; if (files.length > 1) { final size = files[0].fileSize!; - dupesBySizeHash.add(DuplicateFiles(files, size)); + dupesBySizeHash.add(DuplicateFiles(files, size, collectionIds)); } } return dupesBySizeHash; diff --git a/lib/services/search_service.dart b/lib/services/search_service.dart index 06f1fb6c3..54bb8a5b0 100644 --- a/lib/services/search_service.dart +++ b/lib/services/search_service.dart @@ -55,8 +55,10 @@ class SearchService { return _cachedFilesFuture!; } _logger.fine("Reading all files from db"); - _cachedFilesFuture = - FilesDB.instance.getAllFilesFromDB(ignoreCollections()); + _cachedFilesFuture = FilesDB.instance.getAllFilesFromDB( + ignoreCollections(), + dedupeByUploadId: true, + ); return _cachedFilesFuture!; } diff --git a/lib/ui/tools/deduplicate_page.dart b/lib/ui/tools/deduplicate_page.dart index d0b336894..8de4cd77f 100644 --- a/lib/ui/tools/deduplicate_page.dart +++ b/lib/ui/tools/deduplicate_page.dart @@ -15,6 +15,7 @@ import 'package:photos/ui/viewer/gallery/empty_state.dart'; import 'package:photos/utils/data_util.dart'; import 'package:photos/utils/delete_file_util.dart'; import 'package:photos/utils/navigation_util.dart'; +import "package:photos/utils/toast_util.dart"; class DeduplicatePage extends StatefulWidget { final List duplicates; @@ -44,9 +45,7 @@ class _DeduplicatePageState extends State { ), ); - final Set _selectedFiles = {}; - final Set unselectedGrids = {}; - final Map _fileSizeMap = {}; + final Set selectedGrids = {}; late List _duplicates; @@ -55,24 +54,15 @@ class _DeduplicatePageState extends State { @override void initState() { _duplicates = widget.duplicates; - unselectedGrids.clear(); _selectAllFilesButFirst(); super.initState(); } void _selectAllFilesButFirst() { - _selectedFiles.clear(); - - for (final duplicate in _duplicates) { - for (int index = 0; index < duplicate.files.length; index++) { - // Select all items but the first - if (index != 0) { - _selectedFiles.add(duplicate.files[index]); - } - // Maintain a map of fileID to fileSize for quick "space freed" computation - _fileSizeMap[duplicate.files[index].uploadedFileID] = duplicate.size; - } + selectedGrids.clear(); + for (int idx = 0; idx < _duplicates.length; idx++) { + selectedGrids.add(idx); } } @@ -93,7 +83,7 @@ class _DeduplicatePageState extends State { ), onSelected: (dynamic value) { setState(() { - _selectedFiles.clear(); + selectedGrids.clear(); }); }, offset: const Offset(0, 50), @@ -178,7 +168,7 @@ class _DeduplicatePageState extends State { shrinkWrap: true, ), ), - _selectedFiles.isEmpty + selectedGrids.isEmpty ? const SizedBox.shrink() : Column( children: [ @@ -259,11 +249,16 @@ class _DeduplicatePageState extends State { } Widget _getDeleteButton() { - final String text = S.of(context).deleteItemCount(_selectedFiles.length); - int size = 0; - for (final file in _selectedFiles) { - size += _fileSizeMap[file.uploadedFileID]!; + int fileCount = 0; + int totalSize = 0; + for (int index = 0; index < _duplicates.length; index++) { + if (selectedGrids.contains(index)) { + final int toDeleteCount = _duplicates[index].files.length - 1; + fileCount += toDeleteCount; + totalSize += toDeleteCount * _duplicates[index].size; + } } + final String text = S.of(context).deleteItemCount(fileCount); return SizedBox( width: double.infinity, child: SafeArea( @@ -289,7 +284,7 @@ class _DeduplicatePageState extends State { ), const Padding(padding: EdgeInsets.all(2)), Text( - formatBytes(size), + formatBytes(totalSize), style: TextStyle( color: Theme.of(context) .colorScheme @@ -302,10 +297,23 @@ class _DeduplicatePageState extends State { ], ), onPressed: () async { - await deleteFilesFromRemoteOnly(context, _selectedFiles.toList()); - Bus.instance.fire(UserDetailsChangedEvent()); - Navigator.of(context) - .pop(DeduplicationResult(_selectedFiles.length, size)); + final List filesToDelele = []; + for (int index = 0; index < _duplicates.length; index++) { + if (selectedGrids.contains(index)) { + filesToDelele.addAll(_duplicates[index].files.sublist(1)); + } + } + + showToast( + context, + 'Should move & delete ${filesToDelele.length} files}', + ).ignore(); + if (filesToDelele.isEmpty) { + await deleteFilesFromRemoteOnly(context, filesToDelele); + Bus.instance.fire(UserDetailsChangedEvent()); + Navigator.of(context) + .pop(DeduplicationResult(filesToDelele.length, totalSize)); + } }, ), ), @@ -321,10 +329,10 @@ class _DeduplicatePageState extends State { padding: const EdgeInsets.fromLTRB(2, 4, 2, 12), child: GestureDetector( onTap: () { - if (unselectedGrids.contains(itemIndex)) { - unselectedGrids.remove(itemIndex); + if (selectedGrids.contains(itemIndex)) { + selectedGrids.remove(itemIndex); } else { - unselectedGrids.add(itemIndex); + selectedGrids.add(itemIndex); } setState(() {}); }, @@ -338,7 +346,7 @@ class _DeduplicatePageState extends State { ), style: Theme.of(context).textTheme.titleSmall, ), - unselectedGrids.contains(itemIndex) + !selectedGrids.contains(itemIndex) ? Icon( Icons.check_circle_outlined, color: getEnteColorScheme(context).strokeMuted, From 54504fa7e92783cfed55f320d34a46ace8ff5c5b Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Thu, 14 Dec 2023 15:57:53 +0530 Subject: [PATCH 13/24] Add support to silently add to remote collection --- lib/services/collections_service.dart | 58 +++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/lib/services/collections_service.dart b/lib/services/collections_service.dart index 1678d15e9..108446c2a 100644 --- a/lib/services/collections_service.dart +++ b/lib/services/collections_service.dart @@ -1188,6 +1188,64 @@ class CollectionsService { } } + // This method is used to add files to a collection without firing any events. + // Unlike `addToCollection`, this method does not update the `FilesDB` or modify + // the `EnteFile` objects passed to it. This is only used during dedupe process + // for adding files to a collection without firing any events. + Future addSilentlyToCollection( + int collectionID, + List files, + ) async { + if (files.isEmpty) { + return; + } + // as any non uploaded file + final pendingUpload = files.any( + (element) => element.uploadedFileID != null, + ); + if (pendingUpload) { + throw ArgumentError('Can only add uploaded files silently'); + } + final existingFileIDsInCollection = + await FilesDB.instance.getUploadedFileIDs(collectionID); + files.removeWhere( + (element) => existingFileIDsInCollection.contains(element.uploadedFileID), + ); + if (files.isEmpty) { + _logger.info("nothing to add to the collection"); + return; + } + final params = {}; + params["collectionID"] = collectionID; + final batchedFiles = files.chunks(batchSize); + for (final batch in batchedFiles) { + params["files"] = []; + for (final file in batch) { + final int uploadedFileID = file.uploadedFileID!; + final fileKey = getFileKey(file); + final encryptedKeyData = + CryptoUtil.encryptSync(fileKey, getCollectionKey(collectionID)); + final String encryptedKey = + CryptoUtil.bin2base64(encryptedKeyData.encryptedData!); + final String keyDecryptionNonce = + CryptoUtil.bin2base64(encryptedKeyData.nonce!); + params["files"].add( + CollectionFileItem(uploadedFileID, encryptedKey, keyDecryptionNonce) + .toMap(), + ); + } + try { + await _enteDio.post( + "/collections/add-files", + data: params, + ); + } catch (e) { + _logger.warning('failed to add files to collection', e); + rethrow; + } + } + } + Future linkLocalFileToExistingUploadedFileInAnotherCollection( int destCollectionID, { required EnteFile localFileToUpload, From 780d553c0aade64a193746d07a77880d5677abdf Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Thu, 14 Dec 2023 18:59:13 +0530 Subject: [PATCH 14/24] Fixed typo --- lib/services/collections_service.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/services/collections_service.dart b/lib/services/collections_service.dart index 108446c2a..a7c51d8fc 100644 --- a/lib/services/collections_service.dart +++ b/lib/services/collections_service.dart @@ -1201,7 +1201,7 @@ class CollectionsService { } // as any non uploaded file final pendingUpload = files.any( - (element) => element.uploadedFileID != null, + (element) => element.uploadedFileID == null, ); if (pendingUpload) { throw ArgumentError('Can only add uploaded files silently'); From e26983b123e5a8807a3871a01ebedbe45522afa0 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Thu, 14 Dec 2023 19:03:41 +0530 Subject: [PATCH 15/24] Ensure symlink is added before deleting duplicates --- lib/models/duplicate_files.dart | 14 ++++++ lib/services/deduplication_service.dart | 1 - lib/ui/tools/deduplicate_page.dart | 61 ++++++++++++++++++------- 3 files changed, 59 insertions(+), 17 deletions(-) diff --git a/lib/models/duplicate_files.dart b/lib/models/duplicate_files.dart index dc8985661..8bb538859 100644 --- a/lib/models/duplicate_files.dart +++ b/lib/models/duplicate_files.dart @@ -64,6 +64,20 @@ class DuplicateFiles { ) { sortByCollectionName(); } + // sortByLocalIDs sorts the files such that files with localID are at the top + List sortByLocalIDs() { + final List filesWithoutLocalID = []; + final List localFiles = []; + for (final file in files) { + if ((file.localID ?? '').isEmpty) { + localFiles.add(file); + } else { + filesWithoutLocalID.add(file); + } + } + localFiles.addAll(filesWithoutLocalID); + return localFiles; + } @override String toString() => 'DuplicateFiles(files: $files, size: $size)'; diff --git a/lib/services/deduplication_service.dart b/lib/services/deduplication_service.dart index 661990766..41ddff091 100644 --- a/lib/services/deduplication_service.dart +++ b/lib/services/deduplication_service.dart @@ -1,6 +1,5 @@ import 'package:logging/logging.dart'; import "package:photos/core/configuration.dart"; -import 'package:photos/core/errors.dart'; import 'package:photos/core/network/network.dart'; import 'package:photos/db/files_db.dart'; import 'package:photos/models/duplicate_files.dart'; diff --git a/lib/ui/tools/deduplicate_page.dart b/lib/ui/tools/deduplicate_page.dart index 8de4cd77f..a8e2a602b 100644 --- a/lib/ui/tools/deduplicate_page.dart +++ b/lib/ui/tools/deduplicate_page.dart @@ -1,3 +1,5 @@ +import "dart:developer"; + import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:photos/core/constants.dart'; @@ -14,6 +16,7 @@ import 'package:photos/ui/viewer/file/thumbnail_widget.dart'; import 'package:photos/ui/viewer/gallery/empty_state.dart'; import 'package:photos/utils/data_util.dart'; import 'package:photos/utils/delete_file_util.dart'; +import "package:photos/utils/dialog_util.dart"; import 'package:photos/utils/navigation_util.dart'; import "package:photos/utils/toast_util.dart"; @@ -297,22 +300,11 @@ class _DeduplicatePageState extends State { ], ), onPressed: () async { - final List filesToDelele = []; - for (int index = 0; index < _duplicates.length; index++) { - if (selectedGrids.contains(index)) { - filesToDelele.addAll(_duplicates[index].files.sublist(1)); - } - } - - showToast( - context, - 'Should move & delete ${filesToDelele.length} files}', - ).ignore(); - if (filesToDelele.isEmpty) { - await deleteFilesFromRemoteOnly(context, filesToDelele); - Bus.instance.fire(UserDetailsChangedEvent()); - Navigator.of(context) - .pop(DeduplicationResult(filesToDelele.length, totalSize)); + try { + await deleteDuplicates(totalSize); + } catch (e) { + log("Failed to delete duplicates", error: e); + showGenericErrorDialog(context: context, error: e).ignore(); } }, ), @@ -321,6 +313,43 @@ class _DeduplicatePageState extends State { ); } + Future deleteDuplicates(int totalSize) async { + final List filesToDelele = []; + final Map> collectionToFilesToAddMap = {}; + for (int index = 0; index < _duplicates.length; index++) { + if (selectedGrids.contains(index)) { + final sortedFiles = _duplicates[index].sortByLocalIDs(); + final EnteFile fileToKeep = sortedFiles.first; + filesToDelele.addAll(sortedFiles.sublist(1)); + for (final collectionID in _duplicates[index].collectionIDs) { + if (!collectionToFilesToAddMap.containsKey(collectionID)) { + collectionToFilesToAddMap[collectionID] = []; + } + if (fileToKeep.collectionID != collectionID) { + collectionToFilesToAddMap[collectionID]!.add(fileToKeep); + } + } + } + } + for (final collectionID in collectionToFilesToAddMap.keys) { + log("AddingNow ${collectionToFilesToAddMap[collectionID]!.length} files to $collectionID"); + await CollectionsService.instance.addSilentlyToCollection( + collectionID, + collectionToFilesToAddMap[collectionID]!, + ); + } + showToast( + context, + 'Should move & delete ${filesToDelele.length} files} ', + ).ignore(); + if (filesToDelele.isEmpty) { + await deleteFilesFromRemoteOnly(context, filesToDelele); + Bus.instance.fire(UserDetailsChangedEvent()); + Navigator.of(context) + .pop(DeduplicationResult(filesToDelele.length, totalSize)); + } + } + Widget _getGridView(DuplicateFiles duplicates, int itemIndex) { return Column( crossAxisAlignment: CrossAxisAlignment.start, From 404454770fafcd0a8950b1ba86bed86714e52963 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Thu, 14 Dec 2023 23:14:45 +0530 Subject: [PATCH 16/24] Remove unused variable --- lib/ui/tools/deduplicate_page.dart | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/lib/ui/tools/deduplicate_page.dart b/lib/ui/tools/deduplicate_page.dart index a8e2a602b..ed172d127 100644 --- a/lib/ui/tools/deduplicate_page.dart +++ b/lib/ui/tools/deduplicate_page.dart @@ -33,20 +33,6 @@ class _DeduplicatePageState extends State { static const crossAxisCount = 4; static const crossAxisSpacing = 4.0; static const headerRowCount = 3; - static final selectedOverlay = Container( - color: Colors.black.withOpacity(0.4), - child: const Align( - alignment: Alignment.bottomRight, - child: Padding( - padding: EdgeInsets.only(right: 4, bottom: 4), - child: Icon( - Icons.check_circle, - size: 24, - color: Colors.white, - ), - ), - ), - ); final Set selectedGrids = {}; From 91f25e1319c3eef405dbddf303e1b0a784079746 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Thu, 14 Dec 2023 23:16:51 +0530 Subject: [PATCH 17/24] Rename method --- lib/ui/tools/deduplicate_page.dart | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/ui/tools/deduplicate_page.dart b/lib/ui/tools/deduplicate_page.dart index ed172d127..9791a31f1 100644 --- a/lib/ui/tools/deduplicate_page.dart +++ b/lib/ui/tools/deduplicate_page.dart @@ -43,12 +43,11 @@ class _DeduplicatePageState extends State { @override void initState() { _duplicates = widget.duplicates; - _selectAllFilesButFirst(); - + _selectAllGrids(); super.initState(); } - void _selectAllFilesButFirst() { + void _selectAllGrids() { selectedGrids.clear(); for (int idx = 0; idx < _duplicates.length; idx++) { selectedGrids.add(idx); From e874d83d19da0f5a318942e0501bf09e06417240 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Thu, 14 Dec 2023 23:20:35 +0530 Subject: [PATCH 18/24] Remove redundant sort option --- lib/generated/intl/messages_de.dart | 1 - lib/generated/intl/messages_en.dart | 1 - lib/generated/intl/messages_es.dart | 1 - lib/generated/intl/messages_fr.dart | 1 - lib/generated/intl/messages_it.dart | 1 - lib/generated/intl/messages_nl.dart | 1 - lib/generated/intl/messages_zh.dart | 1 - lib/generated/l10n.dart | 10 ---------- lib/l10n/intl_en.arb | 1 - lib/ui/tools/deduplicate_page.dart | 27 ++++++++++----------------- 10 files changed, 10 insertions(+), 35 deletions(-) diff --git a/lib/generated/intl/messages_de.dart b/lib/generated/intl/messages_de.dart index 1b935485f..794b2e395 100644 --- a/lib/generated/intl/messages_de.dart +++ b/lib/generated/intl/messages_de.dart @@ -1323,7 +1323,6 @@ class MessageLookup extends MessageLookupByLibrary { "Dadurch wirst du von folgendem Gerät abgemeldet:"), "thisWillLogYouOutOfThisDevice": MessageLookupByLibrary.simpleMessage( "Dadurch wirst du von diesem Gerät abgemeldet!"), - "time": MessageLookupByLibrary.simpleMessage("Zeit"), "toHideAPhotoOrVideo": MessageLookupByLibrary.simpleMessage("Foto oder Video verstecken"), "toResetVerifyEmail": MessageLookupByLibrary.simpleMessage( diff --git a/lib/generated/intl/messages_en.dart b/lib/generated/intl/messages_en.dart index 1326d41a5..1e5bd8992 100644 --- a/lib/generated/intl/messages_en.dart +++ b/lib/generated/intl/messages_en.dart @@ -1335,7 +1335,6 @@ class MessageLookup extends MessageLookupByLibrary { "This will log you out of the following device:"), "thisWillLogYouOutOfThisDevice": MessageLookupByLibrary.simpleMessage( "This will log you out of this device!"), - "time": MessageLookupByLibrary.simpleMessage("Time"), "toHideAPhotoOrVideo": MessageLookupByLibrary.simpleMessage("To hide a photo or video"), "toResetVerifyEmail": MessageLookupByLibrary.simpleMessage( diff --git a/lib/generated/intl/messages_es.dart b/lib/generated/intl/messages_es.dart index 499277175..d53e3ef87 100644 --- a/lib/generated/intl/messages_es.dart +++ b/lib/generated/intl/messages_es.dart @@ -1208,7 +1208,6 @@ class MessageLookup extends MessageLookupByLibrary { "Esto cerrará la sesión del siguiente dispositivo:"), "thisWillLogYouOutOfThisDevice": MessageLookupByLibrary.simpleMessage( "¡Esto cerrará la sesión de este dispositivo!"), - "time": MessageLookupByLibrary.simpleMessage("Tiempo"), "toHideAPhotoOrVideo": MessageLookupByLibrary.simpleMessage( "Para ocultar una foto o video"), "todaysLogs": MessageLookupByLibrary.simpleMessage("Registros de hoy"), diff --git a/lib/generated/intl/messages_fr.dart b/lib/generated/intl/messages_fr.dart index 4a76e7b4e..b6423645e 100644 --- a/lib/generated/intl/messages_fr.dart +++ b/lib/generated/intl/messages_fr.dart @@ -1396,7 +1396,6 @@ class MessageLookup extends MessageLookupByLibrary { "Cela vous déconnectera de l\'appareil suivant :"), "thisWillLogYouOutOfThisDevice": MessageLookupByLibrary.simpleMessage( "Cela vous déconnectera de cet appareil !"), - "time": MessageLookupByLibrary.simpleMessage("Date et heure"), "toHideAPhotoOrVideo": MessageLookupByLibrary.simpleMessage( "Cacher une photo ou une vidéo"), "toResetVerifyEmail": MessageLookupByLibrary.simpleMessage( diff --git a/lib/generated/intl/messages_it.dart b/lib/generated/intl/messages_it.dart index eaabb326b..0801ca05a 100644 --- a/lib/generated/intl/messages_it.dart +++ b/lib/generated/intl/messages_it.dart @@ -1325,7 +1325,6 @@ class MessageLookup extends MessageLookupByLibrary { "Verrai disconnesso dai seguenti dispositivi:"), "thisWillLogYouOutOfThisDevice": MessageLookupByLibrary.simpleMessage( "Verrai disconnesso dal tuo dispositivo!"), - "time": MessageLookupByLibrary.simpleMessage("Ora"), "toHideAPhotoOrVideo": MessageLookupByLibrary.simpleMessage( "Per nascondere una foto o un video"), "toResetVerifyEmail": MessageLookupByLibrary.simpleMessage( diff --git a/lib/generated/intl/messages_nl.dart b/lib/generated/intl/messages_nl.dart index a114c1bd0..d3a3cd27e 100644 --- a/lib/generated/intl/messages_nl.dart +++ b/lib/generated/intl/messages_nl.dart @@ -1387,7 +1387,6 @@ class MessageLookup extends MessageLookupByLibrary { "Dit zal je uitloggen van het volgende apparaat:"), "thisWillLogYouOutOfThisDevice": MessageLookupByLibrary.simpleMessage( "Dit zal je uitloggen van dit apparaat!"), - "time": MessageLookupByLibrary.simpleMessage("Tijd"), "toHideAPhotoOrVideo": MessageLookupByLibrary.simpleMessage( "Om een foto of video te verbergen"), "toResetVerifyEmail": MessageLookupByLibrary.simpleMessage( diff --git a/lib/generated/intl/messages_zh.dart b/lib/generated/intl/messages_zh.dart index e87e6a5cc..a00cb907f 100644 --- a/lib/generated/intl/messages_zh.dart +++ b/lib/generated/intl/messages_zh.dart @@ -1121,7 +1121,6 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("这将使您在以下设备中退出登录:"), "thisWillLogYouOutOfThisDevice": MessageLookupByLibrary.simpleMessage("这将使您在此设备上退出登录!"), - "time": MessageLookupByLibrary.simpleMessage("时间"), "toHideAPhotoOrVideo": MessageLookupByLibrary.simpleMessage("隐藏照片或视频"), "toResetVerifyEmail": MessageLookupByLibrary.simpleMessage("要重置您的密码,请先验证您的电子邮件。"), diff --git a/lib/generated/l10n.dart b/lib/generated/l10n.dart index 6291e10c0..4db1875fd 100644 --- a/lib/generated/l10n.dart +++ b/lib/generated/l10n.dart @@ -5965,16 +5965,6 @@ class S { ); } - /// `Time` - String get time { - return Intl.message( - 'Time', - name: 'time', - desc: '', - args: [], - ); - } - /// `Long-press on an item to view in full-screen` String get longpressOnAnItemToViewInFullscreen { return Intl.message( diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index 37f514814..decc09505 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -823,7 +823,6 @@ "clubByFileName": "Club by file name", "count": "Count", "totalSize": "Total size", - "time": "Time", "longpressOnAnItemToViewInFullscreen": "Long-press on an item to view in full-screen", "decryptingVideo": "Decrypting video...", "authToViewYourMemories": "Please authenticate to view your memories", diff --git a/lib/ui/tools/deduplicate_page.dart b/lib/ui/tools/deduplicate_page.dart index 9791a31f1..048d6cb2a 100644 --- a/lib/ui/tools/deduplicate_page.dart +++ b/lib/ui/tools/deduplicate_page.dart @@ -109,15 +109,15 @@ class _DeduplicatePageState extends State { void _sortDuplicates() { _duplicates.sort((first, second) { - if (sortKey == SortKey.size) { - final aSize = first.files.length * first.size; - final bSize = second.files.length * second.size; - return bSize - aSize; - } else if (sortKey == SortKey.count) { - return second.files.length - first.files.length; - } else { - return second.files.first.creationTime! - - first.files.first.creationTime!; + switch (sortKey) { + case SortKey.size: + final aSize = first.files.length * first.size; + final bSize = second.files.length * second.size; + return bSize - aSize; + case SortKey.count: + return second.files.length - first.files.length; + default: + throw Exception("Unexpected sort key $sortKey"); } }); } @@ -178,9 +178,6 @@ class _DeduplicatePageState extends State { case SortKey.size: text = S.of(context).totalSize; break; - case SortKey.time: - text = S.of(context).time; - break; } return Text( text, @@ -471,11 +468,7 @@ class _DeduplicatePageState extends State { } } -enum SortKey { - size, - count, - time, -} +enum SortKey { size, count } class DeduplicationResult { final int count; From eb5e47c12d6867d33a872b24a66177c9ca3a7b3f Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Fri, 15 Dec 2023 00:06:13 +0530 Subject: [PATCH 19/24] Fix: Unselect all selected grids on sort change --- lib/ui/tools/deduplicate_page.dart | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/ui/tools/deduplicate_page.dart b/lib/ui/tools/deduplicate_page.dart index 048d6cb2a..428d35b3f 100644 --- a/lib/ui/tools/deduplicate_page.dart +++ b/lib/ui/tools/deduplicate_page.dart @@ -39,10 +39,12 @@ class _DeduplicatePageState extends State { late List _duplicates; SortKey sortKey = SortKey.size; + late ValueNotifier _deleteProgress; @override void initState() { _duplicates = widget.duplicates; + _deleteProgress = ValueNotifier(""); _selectAllGrids(); super.initState(); } @@ -214,7 +216,15 @@ class _DeduplicatePageState extends State { ), onSelected: (int index) { setState(() { - sortKey = SortKey.values[index]; + final newKey = SortKey.values[index]; + if (newKey == sortKey) { + return; + } else { + sortKey = newKey; + if (selectedGrids.length != _duplicates.length) { + selectedGrids.clear(); + } + } }); }, itemBuilder: (context) { From 7c9190263e7c163b0d1a9966764922170b6b60a9 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Fri, 15 Dec 2023 00:34:22 +0530 Subject: [PATCH 20/24] Dedupe: Display dedupe progress --- lib/generated/intl/messages_de.dart | 339 +++++++++++++++++----------- lib/generated/intl/messages_en.dart | 268 +++++++++++----------- lib/generated/intl/messages_es.dart | 236 +++++++++---------- lib/generated/intl/messages_fr.dart | 260 ++++++++++----------- lib/generated/intl/messages_it.dart | 256 ++++++++++----------- lib/generated/intl/messages_nl.dart | 264 +++++++++++----------- lib/generated/intl/messages_pl.dart | 4 +- lib/generated/intl/messages_pt.dart | 48 ++-- lib/generated/intl/messages_zh.dart | 264 +++++++++++----------- lib/generated/l10n.dart | 10 + lib/l10n/intl_en.arb | 16 ++ lib/ui/tools/deduplicate_page.dart | 43 +++- 12 files changed, 1070 insertions(+), 938 deletions(-) diff --git a/lib/generated/intl/messages_de.dart b/lib/generated/intl/messages_de.dart index 794b2e395..7956192f4 100644 --- a/lib/generated/intl/messages_de.dart +++ b/lib/generated/intl/messages_de.dart @@ -23,22 +23,25 @@ class MessageLookup extends MessageLookupByLibrary { static String m0(count) => "${Intl.plural(count, one: 'Element hinzufügen', other: 'Elemente hinzufügen')}"; - static String m1(emailOrName) => "Von ${emailOrName} hinzugefügt"; + static String m1(storageAmount, endDate) => + "Dein ${storageAmount} Add-on ist gültig bis ${endDate}"; - static String m2(albumName) => "Erfolgreich zu ${albumName} hinzugefügt"; + static String m2(emailOrName) => "Von ${emailOrName} hinzugefügt"; - static String m3(count) => + static String m3(albumName) => "Erfolgreich zu ${albumName} hinzugefügt"; + + static String m4(count) => "${Intl.plural(count, zero: 'Keine Teilnehmer', one: '1 Teilnehmer', other: '${count} Teilnehmer')}"; - static String m4(versionValue) => "Version: ${versionValue}"; + static String m5(versionValue) => "Version: ${versionValue}"; - static String m5(paymentProvider) => + static String m6(paymentProvider) => "Bitte kündigen Sie Ihr aktuelles Abo über ${paymentProvider} zuerst"; - static String m6(user) => + static String m7(user) => "Der Nutzer \"${user}\" wird keine weiteren Fotos zum Album hinzufügen können.\n\nJedoch kann er weiterhin vorhandene Bilder, welche durch ihn hinzugefügt worden sind, wieder entfernen"; - static String m7(isFamilyMember, storageAmountInGb) => + static String m8(isFamilyMember, storageAmountInGb) => "${Intl.select(isFamilyMember, { 'true': 'Deine Familiengruppe hat bereits ${storageAmountInGb} GB erhalten', @@ -46,158 +49,163 @@ class MessageLookup extends MessageLookupByLibrary { 'other': 'Du hast bereits ${storageAmountInGb} GB erhalten!', })}"; - static String m8(albumName) => + static String m9(albumName) => "Kollaborativer Link für ${albumName} erstellt"; - static String m9(familyAdminEmail) => + static String m10(familyAdminEmail) => "Bitte kontaktiere ${familyAdminEmail} um dein Abo zu verwalten"; - static String m10(provider) => + static String m11(provider) => "Bitte kontaktieren Sie uns über support@ente.io, um Ihr ${provider} Abo zu verwalten."; - static String m11(count) => + static String m12(count) => "${Intl.plural(count, one: 'Lösche ${count} Element', other: 'Lösche ${count} Elemente')}"; - static String m12(currentlyDeleting, totalCount) => + static String m13(currentlyDeleting, totalCount) => "Lösche ${currentlyDeleting} / ${totalCount}"; - static String m13(albumName) => + static String m14(albumName) => "Der öffentliche Link zum Zugriff auf \"${albumName}\" wird entfernt."; - static String m14(supportEmail) => + static String m15(supportEmail) => "Bitte sende eine E-Mail an ${supportEmail} von deiner registrierten E-Mail-Adresse"; - static String m15(count, storageSaved) => + static String m16(count, storageSaved) => "Du hast ${Intl.plural(count, one: '${count} duplizierte Datei', other: '${count} dupliziere Dateien')} gelöscht und (${storageSaved}!) freigegeben"; - static String m16(count, formattedSize) => + static String m17(count, formattedSize) => "${count} Dateien, ${formattedSize} jede"; - static String m17(newEmail) => "E-Mail-Adresse geändert zu ${newEmail}"; + static String m18(newEmail) => "E-Mail-Adresse geändert zu ${newEmail}"; - static String m18(email) => + static String m19(email) => "${email} hat kein Ente-Konto.\n\nSenden Sie eine Einladung, um Fotos zu teilen."; - static String m19(count, formattedNumber) => + static String m20(count, formattedNumber) => "${Intl.plural(count, one: '1 Datei', other: '${formattedNumber} Dateien')} auf diesem Gerät wurde(n) sicher gespeichert"; - static String m20(count, formattedNumber) => + static String m21(count, formattedNumber) => "${Intl.plural(count, one: '1 Datei', other: '${formattedNumber} Dateien')} in diesem Album wurde(n) sicher gespeichert"; - static String m21(storageAmountInGB) => + static String m22(storageAmountInGB) => "${storageAmountInGB} GB jedes Mal, wenn sich jemand mit deinem Code für einen bezahlten Tarif anmeldet"; - static String m22(freeAmount, storageUnit) => + static String m23(freeAmount, storageUnit) => "${freeAmount} ${storageUnit} kostenlos"; - static String m23(endDate) => "Kostenlose Demo verfügbar bis zum ${endDate}"; + static String m24(endDate) => "Kostenlose Demo verfügbar bis zum ${endDate}"; - static String m24(count) => + static String m25(count) => "Sie können immer noch ${Intl.plural(count, one: 'darauf', other: 'auf sie')} auf ente zugreifen, solange Sie ein aktives Abonnement haben"; - static String m25(sizeInMBorGB) => "${sizeInMBorGB} freigeben"; + static String m26(sizeInMBorGB) => "${sizeInMBorGB} freigeben"; - static String m26(count, formattedSize) => + static String m27(count, formattedSize) => "${Intl.plural(count, one: 'Es kann vom Gerät gelöscht werden, um ${formattedSize} freizugeben', other: 'Sie können vom Gerät gelöscht werden, um ${formattedSize} freizugeben')}"; - static String m27(count) => + static String m28(count) => "${Intl.plural(count, one: '${count} Objekt', other: '${count} Objekte')}"; - static String m28(expiryTime) => "Link läuft am ${expiryTime} ab"; + static String m29(expiryTime) => "Link läuft am ${expiryTime} ab"; - static String m29(count, formattedCount) => + static String m30(count, formattedCount) => "${Intl.plural(count, zero: 'keine Erinnerungsstücke', one: '${formattedCount} Erinnerung', other: '${formattedCount} Erinnerungsstücke')}"; - static String m30(count) => + static String m31(count) => "${Intl.plural(count, one: 'Element verschieben', other: 'Elemente verschieben')}"; - static String m31(albumName) => "Erfolgreich zu ${albumName} hinzugefügt"; + static String m32(albumName) => "Erfolgreich zu ${albumName} hinzugefügt"; - static String m32(passwordStrengthValue) => + static String m33(passwordStrengthValue) => "Passwortstärke: ${passwordStrengthValue}"; - static String m33(providerName) => + static String m34(providerName) => "Bitte kontaktiere den Support von ${providerName}, falls etwas abgebucht wurde"; - static String m34(reason) => + static String m35(reason) => "Leider ist deine Zahlung aus folgendem Grund fehlgeschlagen: ${reason}"; - static String m35(endDate) => + static String m36(endDate) => "Kostenlose Testversion gültig bis ${endDate}.\nSie können anschließend ein bezahltes Paket auswählen."; - static String m36(toEmail) => "Bitte sende uns eine E-Mail an ${toEmail}"; + static String m37(toEmail) => "Bitte sende uns eine E-Mail an ${toEmail}"; - static String m37(toEmail) => "Bitte sende die Protokolle an ${toEmail}"; + static String m38(toEmail) => "Bitte sende die Protokolle an ${toEmail}"; - static String m38(storeName) => "Bewerte uns auf ${storeName}"; + static String m39(storeName) => "Bewerte uns auf ${storeName}"; - static String m39(storageInGB) => + static String m40(storageInGB) => "3. Ihr beide erhaltet ${storageInGB} GB* kostenlos"; - static String m40(userEmail) => + static String m41(userEmail) => "${userEmail} wird aus diesem geteilten Album entfernt\n\nAlle von ihnen hinzugefügte Fotos werden ebenfalls aus dem Album entfernt"; - static String m41(endDate) => "Erneuert am ${endDate}"; + static String m42(endDate) => "Erneuert am ${endDate}"; + + static String m43(count) => + "${Intl.plural(count, one: '${count} Ergebnis gefunden', other: '${count} Ergebnisse gefunden')}"; - static String m42(count) => "${count} ausgewählt"; + static String m44(count) => "${count} ausgewählt"; - static String m43(count, yourCount) => + static String m45(count, yourCount) => "${count} ausgewählt (${yourCount} von Ihnen)"; - static String m44(verificationID) => + static String m46(verificationID) => "Hier ist meine Verifizierungs-ID: ${verificationID} für ente.io."; - static String m45(verificationID) => + static String m47(verificationID) => "Hey, kannst du bestätigen, dass dies deine ente.io Verifizierungs-ID ist: ${verificationID}"; - static String m46(referralCode, referralStorageInGB) => + static String m48(referralCode, referralStorageInGB) => "ente Weiterempfehlungs-Code: ${referralCode} \n\nEinlösen unter Einstellungen → Allgemein → Weiterempfehlungen, um ${referralStorageInGB} GB kostenlos zu erhalten, sobald Sie einen kostenpflichtigen Tarif abgeschlossen haben\n\nhttps://ente.io"; - static String m47(numberOfPeople) => + static String m49(numberOfPeople) => "${Intl.plural(numberOfPeople, zero: 'Teile mit bestimmten Personen', one: 'Teilen mit 1 Person', other: 'Teilen mit ${numberOfPeople} Personen')}"; - static String m48(emailIDs) => "Geteilt mit ${emailIDs}"; + static String m50(emailIDs) => "Geteilt mit ${emailIDs}"; - static String m49(fileType) => + static String m51(fileType) => "Dieses ${fileType} wird von deinem Gerät gelöscht."; - static String m50(fileType) => + static String m52(fileType) => "Dieses ${fileType} existiert auf ente.io und deinem Gerät."; - static String m51(fileType) => + static String m53(fileType) => "Dieses ${fileType} wird auf ente.io gelöscht."; - static String m52(storageAmountInGB) => "${storageAmountInGB} GB"; + static String m54(storageAmountInGB) => "${storageAmountInGB} GB"; - static String m53( + static String m55( usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) => "${usedAmount} ${usedStorageUnit} von ${totalAmount} ${totalStorageUnit} verwendet"; - static String m54(id) => + static String m56(id) => "Ihr ${id} ist bereits mit einem anderen \'ente\'-Konto verknüpft.\nWenn Sie Ihre ${id} mit diesem Konto verwenden möchten, kontaktieren Sie bitte unseren Support\'"; - static String m55(endDate) => "Ihr Abo endet am ${endDate}"; + static String m57(endDate) => "Ihr Abo endet am ${endDate}"; - static String m56(completed, total) => + static String m58(completed, total) => "${completed}/${total} Erinnerungsstücke gesichert"; - static String m57(storageAmountInGB) => + static String m59(storageAmountInGB) => "Diese erhalten auch ${storageAmountInGB} GB"; - static String m58(email) => "Dies ist ${email}s Verifizierungs-ID"; + static String m60(email) => "Dies ist ${email}s Verifizierungs-ID"; - static String m59(count) => + static String m61(count) => "${Intl.plural(count, zero: '', one: '1 Tag', other: '${count} Tage')}"; - static String m60(email) => "Verifiziere ${email}"; + static String m62(endDate) => "Gültig bis ${endDate}"; - static String m61(email) => + static String m63(email) => "Verifiziere ${email}"; + + static String m64(email) => "Wir haben eine E-Mail an ${email} gesendet"; - static String m62(count) => + static String m65(count) => "${Intl.plural(count, one: 'vor einem Jahr', other: 'vor ${count} Jahren')}"; - static String m63(storageSaved) => + static String m66(storageSaved) => "Du hast ${storageSaved} erfolgreich freigegeben!"; final messages = _notInlinedMessages(_notInlinedMessages); @@ -223,6 +231,11 @@ class MessageLookup extends MessageLookupByLibrary { "addLocation": MessageLookupByLibrary.simpleMessage("Ort hinzufügen"), "addLocationButton": MessageLookupByLibrary.simpleMessage("Hinzufügen"), "addMore": MessageLookupByLibrary.simpleMessage("Mehr hinzufügen"), + "addNew": MessageLookupByLibrary.simpleMessage("Hinzufügen"), + "addOnPageSubtitle": + MessageLookupByLibrary.simpleMessage("Details der Add-ons"), + "addOnValidTill": m1, + "addOns": MessageLookupByLibrary.simpleMessage("Add-ons"), "addPhotos": MessageLookupByLibrary.simpleMessage("Fotos hinzufügen"), "addSelected": MessageLookupByLibrary.simpleMessage("Auswahl hinzufügen"), @@ -232,9 +245,11 @@ class MessageLookup extends MessageLookupByLibrary { "addToHiddenAlbum": MessageLookupByLibrary.simpleMessage( "Zum versteckten Album hinzufügen"), "addViewer": MessageLookupByLibrary.simpleMessage("Album teilen"), + "addYourPhotosNow": + MessageLookupByLibrary.simpleMessage("Füge deine Foto jetzt hinzu"), "addedAs": MessageLookupByLibrary.simpleMessage("Hinzugefügt als"), - "addedBy": m1, - "addedSuccessfullyTo": m2, + "addedBy": m2, + "addedSuccessfullyTo": m3, "addingToFavorites": MessageLookupByLibrary.simpleMessage( "Wird zu Favoriten hinzugefügt..."), "advanced": MessageLookupByLibrary.simpleMessage("Erweitert"), @@ -245,7 +260,7 @@ class MessageLookup extends MessageLookupByLibrary { "after1Week": MessageLookupByLibrary.simpleMessage("Nach 1 Woche"), "after1Year": MessageLookupByLibrary.simpleMessage("Nach 1 Jahr"), "albumOwner": MessageLookupByLibrary.simpleMessage("Besitzer"), - "albumParticipantsCount": m3, + "albumParticipantsCount": m4, "albumTitle": MessageLookupByLibrary.simpleMessage("Albumtitel"), "albumUpdated": MessageLookupByLibrary.simpleMessage("Album aktualisiert"), @@ -283,7 +298,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Android, iOS, Web, Desktop"), "androidSignInTitle": MessageLookupByLibrary.simpleMessage( "Authentifizierung erforderlich"), - "appVersion": m4, + "appVersion": m5, "appleId": MessageLookupByLibrary.simpleMessage("Apple ID"), "apply": MessageLookupByLibrary.simpleMessage("Anwenden"), "applyCodeTitle": MessageLookupByLibrary.simpleMessage("Code nutzen"), @@ -354,6 +369,8 @@ class MessageLookup extends MessageLookupByLibrary { "backupSettings": MessageLookupByLibrary.simpleMessage("Backup-Einstellungen"), "backupVideos": MessageLookupByLibrary.simpleMessage("Videos sichern"), + "blackFridaySale": + MessageLookupByLibrary.simpleMessage("Black-Friday-Aktion"), "blog": MessageLookupByLibrary.simpleMessage("Blog"), "cachedData": MessageLookupByLibrary.simpleMessage("Daten im Cache"), "calculating": @@ -367,10 +384,10 @@ class MessageLookup extends MessageLookupByLibrary { "canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage( "Du kannst nur Dateien entfernen, die dir gehören"), "cancel": MessageLookupByLibrary.simpleMessage("Abbrechen"), - "cancelOtherSubscription": m5, + "cancelOtherSubscription": m6, "cancelSubscription": MessageLookupByLibrary.simpleMessage("Abonnement kündigen"), - "cannotAddMorePhotosAfterBecomingViewer": m6, + "cannotAddMorePhotosAfterBecomingViewer": m7, "cannotDeleteSharedFiles": MessageLookupByLibrary.simpleMessage( "Konnte geteilte Dateien nicht löschen"), "centerPoint": MessageLookupByLibrary.simpleMessage("Mittelpunkt"), @@ -391,7 +408,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Freien Speicher einlösen"), "claimMore": MessageLookupByLibrary.simpleMessage("Mehr einlösen!"), "claimed": MessageLookupByLibrary.simpleMessage("Eingelöst"), - "claimedStorageSoFar": m7, + "claimedStorageSoFar": m8, "clearCaches": MessageLookupByLibrary.simpleMessage("Cache löschen"), "click": MessageLookupByLibrary.simpleMessage("• Klick"), "clickOnTheOverflowMenu": MessageLookupByLibrary.simpleMessage( @@ -411,7 +428,7 @@ class MessageLookup extends MessageLookupByLibrary { "Erstelle einen Link, um anderen zu ermöglichen, Fotos in deinem geteilten Album hinzuzufügen und zu sehen - ohne dass diese ein Konto von ente.io oder die App benötigen. Ideal, um Fotos von Events zu sammeln."), "collaborativeLink": MessageLookupByLibrary.simpleMessage("Gemeinschaftlicher Link"), - "collaborativeLinkCreatedFor": m8, + "collaborativeLinkCreatedFor": m9, "collaborator": MessageLookupByLibrary.simpleMessage("Bearbeiter"), "collaboratorsCanAddPhotosAndVideosToTheSharedAlbum": MessageLookupByLibrary.simpleMessage( @@ -438,11 +455,12 @@ class MessageLookup extends MessageLookupByLibrary { "Wiederherstellungsschlüssel bestätigen"), "confirmYourRecoveryKey": MessageLookupByLibrary.simpleMessage( "Bestätigen Sie ihren Wiederherstellungsschlüssel"), - "contactFamilyAdmin": m9, + "contactFamilyAdmin": m10, "contactSupport": MessageLookupByLibrary.simpleMessage("Support kontaktieren"), - "contactToManageSubscription": m10, - "contacts": MessageLookupByLibrary.simpleMessage("Contacts"), + "contactToManageSubscription": m11, + "contacts": MessageLookupByLibrary.simpleMessage("Kontakte"), + "contents": MessageLookupByLibrary.simpleMessage("Inhalte"), "continueLabel": MessageLookupByLibrary.simpleMessage("Weiter"), "continueOnFreeTrial": MessageLookupByLibrary.simpleMessage( "Mit kostenloser Testversion fortfahren"), @@ -505,7 +523,7 @@ class MessageLookup extends MessageLookupByLibrary { "Damit werden alle leeren Alben gelöscht. Dies ist nützlich, wenn du das Durcheinander in deiner Albenliste verringern möchtest."), "deleteAll": MessageLookupByLibrary.simpleMessage("Alle löschen"), "deleteConfirmDialogBody": MessageLookupByLibrary.simpleMessage( - "This account is linked to other ente apps, if you use any.\\n\\nYour uploaded data, across all ente apps, will be scheduled for deletion, and your account will be permanently deleted."), + "Dieses Konto ist mit anderen ente Apps verknüpft, sofern du diese benutzt.\\n\\nDeine hochgeladenen Daten werden zur permanenten Löschung freigegeben. Dies gilt für alle ente Apps."), "deleteEmailRequest": MessageLookupByLibrary.simpleMessage( "Bitte sende eine E-Mail an account-deletion@ente.io von Deiner bei uns hinterlegten E-Mail-Adresse."), "deleteEmptyAlbums": @@ -518,11 +536,11 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Vom Gerät löschen"), "deleteFromEnte": MessageLookupByLibrary.simpleMessage("Auf ente.io löschen"), - "deleteItemCount": m11, + "deleteItemCount": m12, "deleteLocation": MessageLookupByLibrary.simpleMessage("Standort löschen"), "deletePhotos": MessageLookupByLibrary.simpleMessage("Fotos löschen"), - "deleteProgress": m12, + "deleteProgress": m13, "deleteReason1": MessageLookupByLibrary.simpleMessage( "Es fehlt eine zentrale Funktion, die ich benötige"), "deleteReason2": MessageLookupByLibrary.simpleMessage( @@ -554,7 +572,7 @@ class MessageLookup extends MessageLookupByLibrary { "Zuschauer können weiterhin Screenshots oder mit anderen externen Programmen Kopien der Bilder machen."), "disableDownloadWarningTitle": MessageLookupByLibrary.simpleMessage("Bitte beachten Sie:"), - "disableLinkMessage": m13, + "disableLinkMessage": m14, "disableTwofactor": MessageLookupByLibrary.simpleMessage( "Zweiten Faktor (2FA) deaktivieren"), "disablingTwofactorAuthentication": @@ -563,6 +581,8 @@ class MessageLookup extends MessageLookupByLibrary { "discord": MessageLookupByLibrary.simpleMessage("Discord"), "dismiss": MessageLookupByLibrary.simpleMessage("Verwerfen"), "distanceInKMUnit": MessageLookupByLibrary.simpleMessage("km"), + "doNotSignOut": + MessageLookupByLibrary.simpleMessage("Melde dich nicht ab"), "doThisLater": MessageLookupByLibrary.simpleMessage("Später machen"), "doYouWantToDiscardTheEditsYouHaveMade": MessageLookupByLibrary.simpleMessage( @@ -575,9 +595,9 @@ class MessageLookup extends MessageLookupByLibrary { "Herunterladen fehlgeschlagen"), "downloading": MessageLookupByLibrary.simpleMessage("Wird heruntergeladen..."), - "dropSupportEmail": m14, - "duplicateFileCountWithStorageSaved": m15, - "duplicateItemsGroup": m16, + "dropSupportEmail": m15, + "duplicateFileCountWithStorageSaved": m16, + "duplicateItemsGroup": m17, "edit": MessageLookupByLibrary.simpleMessage("Bearbeiten"), "editLocationTagTitle": MessageLookupByLibrary.simpleMessage("Standort bearbeiten"), @@ -585,8 +605,8 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Änderungen gespeichert"), "eligible": MessageLookupByLibrary.simpleMessage("zulässig"), "email": MessageLookupByLibrary.simpleMessage("E-Mail"), - "emailChangedTo": m17, - "emailNoEnteAccount": m18, + "emailChangedTo": m18, + "emailNoEnteAccount": m19, "emailVerificationToggle": MessageLookupByLibrary.simpleMessage("E-Mail-Verifizierung"), "emailYourLogs": MessageLookupByLibrary.simpleMessage( @@ -651,6 +671,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Protokolle exportieren"), "exportYourData": MessageLookupByLibrary.simpleMessage("Daten exportieren"), + "faces": MessageLookupByLibrary.simpleMessage("Gesichter"), "failedToApplyCode": MessageLookupByLibrary.simpleMessage( "Der Code konnte nicht aktiviert werden"), "failedToCancel": @@ -682,9 +703,11 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Beschreibung hinzufügen …"), "fileSavedToGallery": MessageLookupByLibrary.simpleMessage( "Datei in Galerie gespeichert"), - "fileTypes": MessageLookupByLibrary.simpleMessage("File types"), - "filesBackedUpFromDevice": m19, - "filesBackedUpInAlbum": m20, + "fileTypes": MessageLookupByLibrary.simpleMessage("Dateitypen"), + "fileTypesAndNames": + MessageLookupByLibrary.simpleMessage("Dateitypen und -namen"), + "filesBackedUpFromDevice": m20, + "filesBackedUpInAlbum": m21, "filesDeleted": MessageLookupByLibrary.simpleMessage("Dateien gelöscht"), "flip": MessageLookupByLibrary.simpleMessage("Spiegeln"), @@ -694,20 +717,20 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Passwort vergessen"), "freeStorageClaimed": MessageLookupByLibrary.simpleMessage( "Kostenlos hinzugefügter Speicherplatz"), - "freeStorageOnReferralSuccess": m21, - "freeStorageSpace": m22, + "freeStorageOnReferralSuccess": m22, + "freeStorageSpace": m23, "freeStorageUsable": MessageLookupByLibrary.simpleMessage( "Freier Speicherplatz nutzbar"), "freeTrial": MessageLookupByLibrary.simpleMessage("Kostenlose Testphase"), - "freeTrialValidTill": m23, - "freeUpAccessPostDelete": m24, - "freeUpAmount": m25, + "freeTrialValidTill": m24, + "freeUpAccessPostDelete": m25, + "freeUpAmount": m26, "freeUpDeviceSpace": MessageLookupByLibrary.simpleMessage("Gerätespeicher freiräumen"), "freeUpSpace": MessageLookupByLibrary.simpleMessage("Speicherplatz freigeben"), - "freeUpSpaceSaving": m26, + "freeUpSpaceSaving": m27, "galleryMemoryLimitInfo": MessageLookupByLibrary.simpleMessage( "Bis zu 1000 Erinnerungsstücke angezeigt in der Galerie"), "general": MessageLookupByLibrary.simpleMessage("Allgemein"), @@ -722,6 +745,10 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Zugriff gewähren"), "groupNearbyPhotos": MessageLookupByLibrary.simpleMessage( "Fotos in der Nähe gruppieren"), + "hearUsExplanation": MessageLookupByLibrary.simpleMessage( + "Wir tracken keine App-Installationen. Es würde uns jedoch helfen, wenn du uns mitteilst, wie du von uns erfahren hast!"), + "hearUsWhereTitle": MessageLookupByLibrary.simpleMessage( + "Wie hast du von Ente erfahren? (optional)"), "hidden": MessageLookupByLibrary.simpleMessage("Versteckt"), "hide": MessageLookupByLibrary.simpleMessage("Ausblenden"), "hiding": MessageLookupByLibrary.simpleMessage("Verstecken..."), @@ -769,7 +796,7 @@ class MessageLookup extends MessageLookupByLibrary { "itLooksLikeSomethingWentWrongPleaseRetryAfterSome": MessageLookupByLibrary.simpleMessage( "Etwas ist schiefgelaufen. Bitte versuche es später noch einmal. Sollte der Fehler weiter bestehen, kontaktiere unser Supportteam."), - "itemCount": m27, + "itemCount": m28, "itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion": MessageLookupByLibrary.simpleMessage( "Elemente zeigen die Anzahl der Tage bis zum dauerhaften Löschen an"), @@ -795,12 +822,13 @@ class MessageLookup extends MessageLookupByLibrary { "linkDeviceLimit": MessageLookupByLibrary.simpleMessage("Geräte Limit"), "linkEnabled": MessageLookupByLibrary.simpleMessage("Aktiviert"), "linkExpired": MessageLookupByLibrary.simpleMessage("Abgelaufen"), - "linkExpiresOn": m28, + "linkExpiresOn": m29, "linkExpiry": MessageLookupByLibrary.simpleMessage("Ablaufdatum des Links"), "linkHasExpired": MessageLookupByLibrary.simpleMessage("Link ist abgelaufen"), "linkNeverExpires": MessageLookupByLibrary.simpleMessage("Niemals"), + "livePhotos": MessageLookupByLibrary.simpleMessage("Live-Fotos"), "loadMessage1": MessageLookupByLibrary.simpleMessage( "Du kannst dein Abonnement mit deiner Familie teilen"), "loadMessage2": MessageLookupByLibrary.simpleMessage( @@ -857,26 +885,31 @@ class MessageLookup extends MessageLookupByLibrary { "maps": MessageLookupByLibrary.simpleMessage("Karten"), "mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"), "matrix": MessageLookupByLibrary.simpleMessage("Matrix"), - "memoryCount": m29, + "memoryCount": m30, "merchandise": MessageLookupByLibrary.simpleMessage("Merchandise"), "mobileWebDesktop": MessageLookupByLibrary.simpleMessage("Mobil, Web, Desktop"), "moderateStrength": MessageLookupByLibrary.simpleMessage("Mittel"), "modifyYourQueryOrTrySearchingFor": MessageLookupByLibrary.simpleMessage( - "Modify your query, or try searching for"), + "Ändere deine Suchanfrage oder suche nach"), + "moments": MessageLookupByLibrary.simpleMessage("Momente"), "monthly": MessageLookupByLibrary.simpleMessage("Monatlich"), - "moveItem": m30, + "moveItem": m31, "moveToAlbum": MessageLookupByLibrary.simpleMessage("Zum Album verschieben"), "moveToHiddenAlbum": MessageLookupByLibrary.simpleMessage( "Zu verstecktem Album verschieben"), - "movedSuccessfullyTo": m31, + "movedSuccessfullyTo": m32, "movedToTrash": MessageLookupByLibrary.simpleMessage( "In den Papierkorb verschoben"), "movingFilesToAlbum": MessageLookupByLibrary.simpleMessage( "Verschiebe Dateien in Album..."), "name": MessageLookupByLibrary.simpleMessage("Name"), + "networkConnectionRefusedErr": MessageLookupByLibrary.simpleMessage( + "Ente ist im Moment nicht erreichbar. Bitte versuchen Sie es später erneut. Sollte das Problem bestehen bleiben, wenden Sie sich bitte an den Support."), + "networkHostLookUpErr": MessageLookupByLibrary.simpleMessage( + "Ente ist im Moment nicht erreichbar. Bitte überprüfen Sie Ihre Netzwerkeinstellungen. Sollte das Problem bestehen bleiben, wenden Sie sich bitte an den Support."), "never": MessageLookupByLibrary.simpleMessage("Niemals"), "newAlbum": MessageLookupByLibrary.simpleMessage("Neues Album"), "newToEnte": MessageLookupByLibrary.simpleMessage("Neu bei ente"), @@ -894,6 +927,8 @@ class MessageLookup extends MessageLookupByLibrary { "Keine versteckten Fotos oder Videos"), "noImagesWithLocation": MessageLookupByLibrary.simpleMessage("Keine Bilder mit Standort"), + "noInternetConnection": + MessageLookupByLibrary.simpleMessage("Keine Internetverbindung"), "noPhotosAreBeingBackedUpRightNow": MessageLookupByLibrary.simpleMessage( "Momentan werden keine Fotos gesichert"), @@ -934,15 +969,15 @@ class MessageLookup extends MessageLookupByLibrary { "passwordChangedSuccessfully": MessageLookupByLibrary.simpleMessage( "Passwort erfolgreich geändert"), "passwordLock": MessageLookupByLibrary.simpleMessage("Passwort Sperre"), - "passwordStrength": m32, + "passwordStrength": m33, "passwordWarning": MessageLookupByLibrary.simpleMessage( "Wir speichern dieses Passwort nicht. Wenn du es vergisst, können wir deine Daten nicht entschlüsseln"), "paymentDetails": MessageLookupByLibrary.simpleMessage("Zahlungsdetails"), "paymentFailed": MessageLookupByLibrary.simpleMessage("Zahlung fehlgeschlagen"), - "paymentFailedTalkToProvider": m33, - "paymentFailedWithReason": m34, + "paymentFailedTalkToProvider": m34, + "paymentFailedWithReason": m35, "pendingSync": MessageLookupByLibrary.simpleMessage("Synchronisation anstehend"), "peopleUsingYourCode": MessageLookupByLibrary.simpleMessage( @@ -953,30 +988,36 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Dauerhaft löschen"), "permanentlyDeleteFromDevice": MessageLookupByLibrary.simpleMessage( "Endgültig vom Gerät löschen?"), + "photoDescriptions": + MessageLookupByLibrary.simpleMessage("Foto Beschreibungen"), "photoGridSize": MessageLookupByLibrary.simpleMessage("Fotorastergröße"), "photoSmallCase": MessageLookupByLibrary.simpleMessage("Foto"), + "photos": MessageLookupByLibrary.simpleMessage("Fotos"), "photosAddedByYouWillBeRemovedFromTheAlbum": MessageLookupByLibrary.simpleMessage( "Von dir hinzugefügte Fotos werden vom Album entfernt"), "pickCenterPoint": MessageLookupByLibrary.simpleMessage("Mittelpunkt auswählen"), "pinAlbum": MessageLookupByLibrary.simpleMessage("Album anheften"), - "playStoreFreeTrialValidTill": m35, + "playStoreFreeTrialValidTill": m36, "playstoreSubscription": MessageLookupByLibrary.simpleMessage("PlayStore Abo"), + "pleaseCheckYourInternetConnectionAndTryAgain": + MessageLookupByLibrary.simpleMessage( + "Bitte überprüfe deine Internetverbindung und versuche es erneut."), "pleaseContactSupportAndWeWillBeHappyToHelp": MessageLookupByLibrary.simpleMessage( "Bitte kontaktieren Sie uns über support@ente.io wo wir Ihnen gerne weiterhelfen."), "pleaseContactSupportIfTheProblemPersists": MessageLookupByLibrary.simpleMessage( "Bitte wenden Sie sich an den Support, falls das Problem weiterhin besteht"), - "pleaseEmailUsAt": m36, + "pleaseEmailUsAt": m37, "pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage( "Bitte erteile die nötigen Berechtigungen"), "pleaseLoginAgain": MessageLookupByLibrary.simpleMessage("Bitte logge dich erneut ein"), - "pleaseSendTheLogsTo": m37, + "pleaseSendTheLogsTo": m38, "pleaseTryAgain": MessageLookupByLibrary.simpleMessage("Bitte versuche es erneut"), "pleaseVerifyTheCodeYouHaveEntered": @@ -1012,7 +1053,7 @@ class MessageLookup extends MessageLookupByLibrary { "raiseTicket": MessageLookupByLibrary.simpleMessage("Ticket erstellen"), "rateTheApp": MessageLookupByLibrary.simpleMessage("App bewerten"), "rateUs": MessageLookupByLibrary.simpleMessage("Bewerte uns"), - "rateUsOnStore": m38, + "rateUsOnStore": m39, "recover": MessageLookupByLibrary.simpleMessage("Wiederherstellen"), "recoverAccount": MessageLookupByLibrary.simpleMessage("Konto wiederherstellen"), @@ -1045,7 +1086,7 @@ class MessageLookup extends MessageLookupByLibrary { "1. Gib diesen Code an deine Freunde"), "referralStep2": MessageLookupByLibrary.simpleMessage( "2. Sie schließen ein bezahltes Abo ab"), - "referralStep3": m39, + "referralStep3": m40, "referrals": MessageLookupByLibrary.simpleMessage("Weiterempfehlungen"), "referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage( "Einlösungen sind derzeit pausiert"), @@ -1071,7 +1112,7 @@ class MessageLookup extends MessageLookupByLibrary { "removeLink": MessageLookupByLibrary.simpleMessage("Link entfernen"), "removeParticipant": MessageLookupByLibrary.simpleMessage("Teilnehmer entfernen"), - "removeParticipantBody": m40, + "removeParticipantBody": m41, "removePublicLink": MessageLookupByLibrary.simpleMessage("Öffentlichen Link entfernen"), "removeShareItemsWarning": MessageLookupByLibrary.simpleMessage( @@ -1085,7 +1126,7 @@ class MessageLookup extends MessageLookupByLibrary { "renameFile": MessageLookupByLibrary.simpleMessage("Datei umbenennen"), "renewSubscription": MessageLookupByLibrary.simpleMessage("Abonnement erneuern"), - "renewsOn": m41, + "renewsOn": m42, "reportABug": MessageLookupByLibrary.simpleMessage("Fehler melden"), "reportBug": MessageLookupByLibrary.simpleMessage("Fehler melden"), "resendEmail": @@ -1121,12 +1162,36 @@ class MessageLookup extends MessageLookupByLibrary { "scanThisBarcodeWithnyourAuthenticatorApp": MessageLookupByLibrary.simpleMessage( "Scanne diesen Code mit \ndeiner Authentifizierungs-App"), + "searchAlbumsEmptySection": + MessageLookupByLibrary.simpleMessage("Alben"), "searchByAlbumNameHint": MessageLookupByLibrary.simpleMessage("Name des Albums"), "searchByExamples": MessageLookupByLibrary.simpleMessage( "• Albumnamen (z.B. \"Kamera\")\n• Dateitypen (z.B. \"Videos\", \".gif\")\n• Jahre und Monate (z.B. \"2022\", \"Januar\")\n• Feiertage (z.B. \"Weihnachten\")\n• Fotobeschreibungen (z.B. \"#fun\")"), + "searchCaptionEmptySection": MessageLookupByLibrary.simpleMessage( + "Füge Beschreibungen wie \"#trip\" in der Fotoinfo hinzu um diese schnell hier wiederzufinden"), + "searchDatesEmptySection": MessageLookupByLibrary.simpleMessage( + "Suche nach Datum, Monat oder Jahr"), + "searchFaceEmptySection": MessageLookupByLibrary.simpleMessage( + "Finde alle Foto von einer Person"), + "searchFileTypesAndNamesEmptySection": + MessageLookupByLibrary.simpleMessage("Dateitypen und -namen"), + "searchHint1": MessageLookupByLibrary.simpleMessage( + "Schnell auf dem Gerät suchen"), + "searchHint2": + MessageLookupByLibrary.simpleMessage("Fotodaten, Beschreibungen"), + "searchHint3": MessageLookupByLibrary.simpleMessage( + "Alben, Dateinamen und -typen"), + "searchHint4": MessageLookupByLibrary.simpleMessage("Ort"), + "searchHint5": MessageLookupByLibrary.simpleMessage( + "Demnächst: Gesichter & magische Suche ✨"), "searchHintText": MessageLookupByLibrary.simpleMessage( "Alben, Monate, Tage, Jahre, ..."), + "searchLocationEmptySection": MessageLookupByLibrary.simpleMessage( + "Gruppiere Fotos, die innerhalb des Radius eines bestimmten Fotos aufgenommen wurden"), + "searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage( + "Laden Sie Personen ein, damit Sie geteilte Fotos hier einsehen können"), + "searchResultCount": m43, "security": MessageLookupByLibrary.simpleMessage("Sicherheit"), "selectAlbum": MessageLookupByLibrary.simpleMessage("Album auswählen"), "selectAll": MessageLookupByLibrary.simpleMessage("Alle markieren"), @@ -1149,8 +1214,8 @@ class MessageLookup extends MessageLookupByLibrary { "selectedItemsWillBeDeletedFromAllAlbumsAndMoved": MessageLookupByLibrary.simpleMessage( "Ausgewählte Elemente werden aus allen Alben gelöscht und in den Papierkorb verschoben."), - "selectedPhotos": m42, - "selectedPhotosWithYours": m43, + "selectedPhotos": m44, + "selectedPhotosWithYours": m45, "send": MessageLookupByLibrary.simpleMessage("Absenden"), "sendEmail": MessageLookupByLibrary.simpleMessage("E-Mail senden"), "sendInvite": MessageLookupByLibrary.simpleMessage("Einladung senden"), @@ -1173,16 +1238,16 @@ class MessageLookup extends MessageLookupByLibrary { "shareAnAlbumNow": MessageLookupByLibrary.simpleMessage("Teile jetzt ein Album"), "shareLink": MessageLookupByLibrary.simpleMessage("Link teilen"), - "shareMyVerificationID": m44, + "shareMyVerificationID": m46, "shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage( "Teile mit ausgewählten Personen"), - "shareTextConfirmOthersVerificationID": m45, + "shareTextConfirmOthersVerificationID": m47, "shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage( "Lade ente herunter, damit wir einfach Fotos und Videos in höchster Qualität teilen können\n\nhttps://ente.io"), - "shareTextReferralCode": m46, + "shareTextReferralCode": m48, "shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage( "Mit Nicht-Ente-Benutzern teilen"), - "shareWithPeopleSectionTitle": m47, + "shareWithPeopleSectionTitle": m49, "shareYourFirstAlbum": MessageLookupByLibrary.simpleMessage("Teile dein erstes Album"), "sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage( @@ -1193,20 +1258,26 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Neue geteilte Fotos"), "sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage( "Erhalte Benachrichtigungen, wenn jemand ein Foto zu einem gemeinsam genutzten Album hinzufügt, dem du angehörst"), - "sharedWith": m48, + "sharedWith": m50, "sharedWithMe": MessageLookupByLibrary.simpleMessage("Mit mir geteilt"), "sharedWithYou": MessageLookupByLibrary.simpleMessage("Mit dir geteilt"), "sharing": MessageLookupByLibrary.simpleMessage("Teilt..."), "showMemories": MessageLookupByLibrary.simpleMessage("Erinnerungen anschauen"), + "signOutFromOtherDevices": MessageLookupByLibrary.simpleMessage( + "Von anderen Geräten abmelden"), + "signOutOtherBody": MessageLookupByLibrary.simpleMessage( + "Falls du denkst, dass jemand dein Passwort kennen könnte, kannst du alle anderen Geräte von deinem Account abmelden."), + "signOutOtherDevices": + MessageLookupByLibrary.simpleMessage("Andere Geräte abmelden"), "signUpTerms": MessageLookupByLibrary.simpleMessage( "Ich stimme den Nutzungsbedingungen und der Datenschutzerklärung zu"), - "singleFileDeleteFromDevice": m49, + "singleFileDeleteFromDevice": m51, "singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage( "Es wird aus allen Alben gelöscht."), - "singleFileInBothLocalAndRemote": m50, - "singleFileInRemoteOnly": m51, + "singleFileInBothLocalAndRemote": m52, + "singleFileInRemoteOnly": m53, "skip": MessageLookupByLibrary.simpleMessage("Überspringen"), "social": MessageLookupByLibrary.simpleMessage("Social Media"), "someItemsAreInBothEnteAndYourDevice": @@ -1247,13 +1318,13 @@ class MessageLookup extends MessageLookupByLibrary { "storage": MessageLookupByLibrary.simpleMessage("Speicherplatz"), "storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Familie"), "storageBreakupYou": MessageLookupByLibrary.simpleMessage("Sie"), - "storageInGB": m52, + "storageInGB": m54, "storageLimitExceeded": MessageLookupByLibrary.simpleMessage( "Speichergrenze überschritten"), - "storageUsageInfo": m53, + "storageUsageInfo": m55, "strongStrength": MessageLookupByLibrary.simpleMessage("Stark"), - "subAlreadyLinkedErrMessage": m54, - "subWillBeCancelledOn": m55, + "subAlreadyLinkedErrMessage": m56, + "subWillBeCancelledOn": m57, "subscribe": MessageLookupByLibrary.simpleMessage("Abonnieren"), "subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage( "Sieht aus, als sei dein Abonnement abgelaufen. Bitte abonniere, um das Teilen zu aktivieren."), @@ -1270,7 +1341,7 @@ class MessageLookup extends MessageLookupByLibrary { "suggestFeatures": MessageLookupByLibrary.simpleMessage("Verbesserung vorschlagen"), "support": MessageLookupByLibrary.simpleMessage("Support"), - "syncProgress": m56, + "syncProgress": m58, "syncStopped": MessageLookupByLibrary.simpleMessage("Synchronisierung angehalten"), "syncing": MessageLookupByLibrary.simpleMessage("Synchronisiere …"), @@ -1299,7 +1370,7 @@ class MessageLookup extends MessageLookupByLibrary { "theseItemsWillBeDeletedFromYourDevice": MessageLookupByLibrary.simpleMessage( "Diese Elemente werden von deinem Gerät gelöscht."), - "theyAlsoGetXGb": m57, + "theyAlsoGetXGb": m59, "theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage( "Sie werden aus allen Alben gelöscht."), "thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage( @@ -1315,7 +1386,7 @@ class MessageLookup extends MessageLookupByLibrary { "Diese E-Mail-Adresse wird bereits verwendet"), "thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage( "Dieses Bild hat keine Exif-Daten"), - "thisIsPersonVerificationId": m58, + "thisIsPersonVerificationId": m60, "thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage( "Dies ist deine Verifizierungs-ID"), "thisWillLogYouOutOfTheFollowingDevice": @@ -1332,7 +1403,7 @@ class MessageLookup extends MessageLookupByLibrary { "total": MessageLookupByLibrary.simpleMessage("Gesamt"), "totalSize": MessageLookupByLibrary.simpleMessage("Gesamtgröße"), "trash": MessageLookupByLibrary.simpleMessage("Papierkorb"), - "trashDaysLeft": m59, + "trashDaysLeft": m61, "tryAgain": MessageLookupByLibrary.simpleMessage("Erneut versuchen"), "turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage( "Aktiviere die Sicherung, um automatisch neu hinzugefügte Dateien dieses Ordners auf ente hochzuladen."), @@ -1374,6 +1445,8 @@ class MessageLookup extends MessageLookupByLibrary { "upgrade": MessageLookupByLibrary.simpleMessage("Upgrade"), "uploadingFilesToAlbum": MessageLookupByLibrary.simpleMessage( "Dateien werden ins Album hochgeladen..."), + "upto50OffUntil4thDec": MessageLookupByLibrary.simpleMessage( + "Bis zu 50% Rabatt bis zum 4. Dezember."), "usableReferralStorageInfo": MessageLookupByLibrary.simpleMessage( "Der verwendbare Speicherplatz ist von deinem aktuellen Abonnement eingeschränkt. Überschüssiger, beanspruchter Speicherplatz wird automatisch verwendbar werden, wenn du ein höheres Abonnement buchst."), "usePublicLinksForPeopleNotOnEnte": @@ -1385,6 +1458,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Ausgewähltes Foto verwenden"), "usedSpace": MessageLookupByLibrary.simpleMessage("Belegter Speicherplatz"), + "validTill": m62, "verificationFailedPleaseTryAgain": MessageLookupByLibrary.simpleMessage( "Verifizierung fehlgeschlagen, bitte versuchen Sie es erneut"), @@ -1393,7 +1467,7 @@ class MessageLookup extends MessageLookupByLibrary { "verify": MessageLookupByLibrary.simpleMessage("Überprüfen"), "verifyEmail": MessageLookupByLibrary.simpleMessage("E-Mail-Adresse verifizieren"), - "verifyEmailID": m60, + "verifyEmailID": m63, "verifyIDLabel": MessageLookupByLibrary.simpleMessage("Überprüfen"), "verifyPassword": MessageLookupByLibrary.simpleMessage("Passwort überprüfen"), @@ -1401,8 +1475,11 @@ class MessageLookup extends MessageLookupByLibrary { "verifyingRecoveryKey": MessageLookupByLibrary.simpleMessage( "Wiederherstellungs-Schlüssel wird überprüft..."), "videoSmallCase": MessageLookupByLibrary.simpleMessage("Video"), + "videos": MessageLookupByLibrary.simpleMessage("Videos"), "viewActiveSessions": MessageLookupByLibrary.simpleMessage("Aktive Sitzungen anzeigen"), + "viewAddOnButton": + MessageLookupByLibrary.simpleMessage("Zeige Add-ons"), "viewAll": MessageLookupByLibrary.simpleMessage("Alle anzeigen"), "viewAllExifData": MessageLookupByLibrary.simpleMessage("Alle Exif-Daten anzeigen"), @@ -1417,12 +1494,12 @@ class MessageLookup extends MessageLookupByLibrary { "weDontSupportEditingPhotosAndAlbumsThatYouDont": MessageLookupByLibrary.simpleMessage( "Wir unterstützen keine Bearbeitung von Fotos und Alben, die du noch nicht besitzt"), - "weHaveSendEmailTo": m61, + "weHaveSendEmailTo": m64, "weakStrength": MessageLookupByLibrary.simpleMessage("Schwach"), "welcomeBack": MessageLookupByLibrary.simpleMessage("Willkommen zurück!"), "yearly": MessageLookupByLibrary.simpleMessage("Jährlich"), - "yearsAgo": m62, + "yearsAgo": m65, "yes": MessageLookupByLibrary.simpleMessage("Ja"), "yesCancel": MessageLookupByLibrary.simpleMessage("Ja, kündigen"), "yesConvertToViewer": MessageLookupByLibrary.simpleMessage( @@ -1452,10 +1529,10 @@ class MessageLookup extends MessageLookupByLibrary { "Du kannst nicht mit dir selbst teilen"), "youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage( "Du hast keine archivierten Elemente."), - "youHaveSuccessfullyFreedUp": m63, + "youHaveSuccessfullyFreedUp": m66, "yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage( "Dein Benutzerkonto wurde gelöscht"), - "yourMap": MessageLookupByLibrary.simpleMessage("Your map"), + "yourMap": MessageLookupByLibrary.simpleMessage("Deine Karte"), "yourPlanWasSuccessfullyDowngraded": MessageLookupByLibrary.simpleMessage( "Ihr Tarif wurde erfolgreich heruntergestuft"), diff --git a/lib/generated/intl/messages_en.dart b/lib/generated/intl/messages_en.dart index 1e5bd8992..3c8085896 100644 --- a/lib/generated/intl/messages_en.dart +++ b/lib/generated/intl/messages_en.dart @@ -23,186 +23,189 @@ class MessageLookup extends MessageLookupByLibrary { static String m0(count) => "${Intl.plural(count, one: 'Add item', other: 'Add items')}"; - static String m64(storageAmount, endDate) => + static String m1(storageAmount, endDate) => "Your ${storageAmount} add-on is valid till ${endDate}"; - static String m1(emailOrName) => "Added by ${emailOrName}"; + static String m2(emailOrName) => "Added by ${emailOrName}"; - static String m2(albumName) => "Added successfully to ${albumName}"; + static String m3(albumName) => "Added successfully to ${albumName}"; - static String m3(count) => + static String m4(count) => "${Intl.plural(count, zero: 'No Participants', one: '1 Participant', other: '${count} Participants')}"; - static String m4(versionValue) => "Version: ${versionValue}"; + static String m5(versionValue) => "Version: ${versionValue}"; - static String m5(paymentProvider) => + static String m6(paymentProvider) => "Please cancel your existing subscription from ${paymentProvider} first"; - static String m6(user) => + static String m7(user) => "${user} will not be able to add more photos to this album\n\nThey will still be able to remove existing photos added by them"; - static String m7(isFamilyMember, storageAmountInGb) => + static String m8(isFamilyMember, storageAmountInGb) => "${Intl.select(isFamilyMember, { 'true': 'Your family has claimed ${storageAmountInGb} GB so far', 'false': 'You have claimed ${storageAmountInGb} GB so far', 'other': 'You have claimed ${storageAmountInGb} GB so far!', })}"; - static String m8(albumName) => "Collaborative link created for ${albumName}"; + static String m9(albumName) => "Collaborative link created for ${albumName}"; - static String m9(familyAdminEmail) => + static String m10(familyAdminEmail) => "Please contact ${familyAdminEmail} to manage your subscription"; - static String m10(provider) => + static String m11(provider) => "Please contact us at support@ente.io to manage your ${provider} subscription."; - static String m11(count) => + static String m12(count) => "${Intl.plural(count, one: 'Delete ${count} item', other: 'Delete ${count} items')}"; - static String m12(currentlyDeleting, totalCount) => + static String m13(currentlyDeleting, totalCount) => "Deleting ${currentlyDeleting} / ${totalCount}"; - static String m13(albumName) => + static String m14(albumName) => "This will remove the public link for accessing \"${albumName}\"."; - static String m14(supportEmail) => + static String m15(supportEmail) => "Please drop an email to ${supportEmail} from your registered email address"; - static String m15(count, storageSaved) => + static String m16(count, storageSaved) => "Your have cleaned up ${Intl.plural(count, one: '${count} duplicate file', other: '${count} duplicate files')}, saving (${storageSaved}!)"; - static String m16(count, formattedSize) => + static String m17(count, formattedSize) => "${count} files, ${formattedSize} each"; - static String m17(newEmail) => "Email changed to ${newEmail}"; + static String m18(newEmail) => "Email changed to ${newEmail}"; - static String m18(email) => + static String m19(email) => "${email} does not have an ente account.\n\nSend them an invite to share photos."; - static String m19(count, formattedNumber) => + static String m20(count, formattedNumber) => "${Intl.plural(count, one: '1 file', other: '${formattedNumber} files')} on this device have been backed up safely"; - static String m20(count, formattedNumber) => + static String m21(count, formattedNumber) => "${Intl.plural(count, one: '1 file', other: '${formattedNumber} files')} in this album has been backed up safely"; - static String m21(storageAmountInGB) => + static String m22(storageAmountInGB) => "${storageAmountInGB} GB each time someone signs up for a paid plan and applies your code"; - static String m22(freeAmount, storageUnit) => + static String m23(freeAmount, storageUnit) => "${freeAmount} ${storageUnit} free"; - static String m23(endDate) => "Free trial valid till ${endDate}"; + static String m24(endDate) => "Free trial valid till ${endDate}"; - static String m24(count) => + static String m25(count) => "You can still access ${Intl.plural(count, one: 'it', other: 'them')} on ente as long as you have an active subscription"; - static String m25(sizeInMBorGB) => "Free up ${sizeInMBorGB}"; + static String m26(sizeInMBorGB) => "Free up ${sizeInMBorGB}"; - static String m26(count, formattedSize) => + static String m27(count, formattedSize) => "${Intl.plural(count, one: 'It can be deleted from the device to free up ${formattedSize}', other: 'They can be deleted from the device to free up ${formattedSize}')}"; - static String m27(count) => + static String m67(currentlyProcessing, totalCount) => + "Processing ${currentlyProcessing} / ${totalCount}"; + + static String m28(count) => "${Intl.plural(count, one: '${count} item', other: '${count} items')}"; - static String m28(expiryTime) => "Link will expire on ${expiryTime}"; + static String m29(expiryTime) => "Link will expire on ${expiryTime}"; - static String m29(count, formattedCount) => + static String m30(count, formattedCount) => "${Intl.plural(count, zero: 'no memories', one: '${formattedCount} memory', other: '${formattedCount} memories')}"; - static String m30(count) => + static String m31(count) => "${Intl.plural(count, one: 'Move item', other: 'Move items')}"; - static String m31(albumName) => "Moved successfully to ${albumName}"; + static String m32(albumName) => "Moved successfully to ${albumName}"; - static String m32(passwordStrengthValue) => + static String m33(passwordStrengthValue) => "Password strength: ${passwordStrengthValue}"; - static String m33(providerName) => + static String m34(providerName) => "Please talk to ${providerName} support if you were charged"; - static String m34(reason) => + static String m35(reason) => "Unfortunately your payment failed due to ${reason}"; - static String m35(endDate) => + static String m36(endDate) => "Free trial valid till ${endDate}.\nYou can choose a paid plan afterwards."; - static String m36(toEmail) => "Please email us at ${toEmail}"; + static String m37(toEmail) => "Please email us at ${toEmail}"; - static String m37(toEmail) => "Please send the logs to \n${toEmail}"; + static String m38(toEmail) => "Please send the logs to \n${toEmail}"; - static String m38(storeName) => "Rate us on ${storeName}"; + static String m39(storeName) => "Rate us on ${storeName}"; - static String m39(storageInGB) => + static String m40(storageInGB) => "3. Both of you get ${storageInGB} GB* free"; - static String m40(userEmail) => + static String m41(userEmail) => "${userEmail} will be removed from this shared album\n\nAny photos added by them will also be removed from the album"; - static String m41(endDate) => "Subscription renews on ${endDate}"; + static String m42(endDate) => "Subscription renews on ${endDate}"; - static String m65(count) => + static String m43(count) => "${Intl.plural(count, one: '${count} result found', other: '${count} results found')}"; - static String m42(count) => "${count} selected"; + static String m44(count) => "${count} selected"; - static String m43(count, yourCount) => + static String m45(count, yourCount) => "${count} selected (${yourCount} yours)"; - static String m44(verificationID) => + static String m46(verificationID) => "Here\'s my verification ID: ${verificationID} for ente.io."; - static String m45(verificationID) => + static String m47(verificationID) => "Hey, can you confirm that this is your ente.io verification ID: ${verificationID}"; - static String m46(referralCode, referralStorageInGB) => + static String m48(referralCode, referralStorageInGB) => "ente referral code: ${referralCode} \n\nApply it in Settings → General → Referrals to get ${referralStorageInGB} GB free after you signup for a paid plan\n\nhttps://ente.io"; - static String m47(numberOfPeople) => + static String m49(numberOfPeople) => "${Intl.plural(numberOfPeople, zero: 'Share with specific people', one: 'Shared with 1 person', other: 'Shared with ${numberOfPeople} people')}"; - static String m48(emailIDs) => "Shared with ${emailIDs}"; + static String m50(emailIDs) => "Shared with ${emailIDs}"; - static String m49(fileType) => + static String m51(fileType) => "This ${fileType} will be deleted from your device."; - static String m50(fileType) => + static String m52(fileType) => "This ${fileType} is in both ente and your device."; - static String m51(fileType) => "This ${fileType} will be deleted from ente."; + static String m53(fileType) => "This ${fileType} will be deleted from ente."; - static String m52(storageAmountInGB) => "${storageAmountInGB} GB"; + static String m54(storageAmountInGB) => "${storageAmountInGB} GB"; - static String m53( + static String m55( usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) => "${usedAmount} ${usedStorageUnit} of ${totalAmount} ${totalStorageUnit} used"; - static String m54(id) => + static String m56(id) => "Your ${id} is already linked to another ente account.\nIf you would like to use your ${id} with this account, please contact our support\'\'"; - static String m55(endDate) => + static String m57(endDate) => "Your subscription will be cancelled on ${endDate}"; - static String m56(completed, total) => + static String m58(completed, total) => "${completed}/${total} memories preserved"; - static String m57(storageAmountInGB) => + static String m59(storageAmountInGB) => "They also get ${storageAmountInGB} GB"; - static String m58(email) => "This is ${email}\'s Verification ID"; + static String m60(email) => "This is ${email}\'s Verification ID"; - static String m59(count) => + static String m61(count) => "${Intl.plural(count, zero: '', one: '1 day', other: '${count} days')}"; - static String m66(endDate) => "Valid till ${endDate}"; + static String m62(endDate) => "Valid till ${endDate}"; - static String m60(email) => "Verify ${email}"; + static String m63(email) => "Verify ${email}"; - static String m61(email) => "We have sent a mail to ${email}"; + static String m64(email) => "We have sent a mail to ${email}"; - static String m62(count) => + static String m65(count) => "${Intl.plural(count, one: '${count} year ago', other: '${count} years ago')}"; - static String m63(storageSaved) => + static String m66(storageSaved) => "You have successfully freed up ${storageSaved}!"; final messages = _notInlinedMessages(_notInlinedMessages); @@ -229,7 +232,7 @@ class MessageLookup extends MessageLookupByLibrary { "addNew": MessageLookupByLibrary.simpleMessage("Add new"), "addOnPageSubtitle": MessageLookupByLibrary.simpleMessage("Details of add-ons"), - "addOnValidTill": m64, + "addOnValidTill": m1, "addOns": MessageLookupByLibrary.simpleMessage("Add-ons"), "addPhotos": MessageLookupByLibrary.simpleMessage("Add photos"), "addSelected": MessageLookupByLibrary.simpleMessage("Add selected"), @@ -241,8 +244,8 @@ class MessageLookup extends MessageLookupByLibrary { "addYourPhotosNow": MessageLookupByLibrary.simpleMessage("Add your photos now"), "addedAs": MessageLookupByLibrary.simpleMessage("Added as"), - "addedBy": m1, - "addedSuccessfullyTo": m2, + "addedBy": m2, + "addedSuccessfullyTo": m3, "addingToFavorites": MessageLookupByLibrary.simpleMessage("Adding to favorites..."), "advanced": MessageLookupByLibrary.simpleMessage("Advanced"), @@ -253,7 +256,7 @@ class MessageLookup extends MessageLookupByLibrary { "after1Week": MessageLookupByLibrary.simpleMessage("After 1 week"), "after1Year": MessageLookupByLibrary.simpleMessage("After 1 year"), "albumOwner": MessageLookupByLibrary.simpleMessage("Owner"), - "albumParticipantsCount": m3, + "albumParticipantsCount": m4, "albumTitle": MessageLookupByLibrary.simpleMessage("Album title"), "albumUpdated": MessageLookupByLibrary.simpleMessage("Album updated"), "albums": MessageLookupByLibrary.simpleMessage("Albums"), @@ -287,7 +290,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Android, iOS, Web, Desktop"), "androidSignInTitle": MessageLookupByLibrary.simpleMessage("Authentication required"), - "appVersion": m4, + "appVersion": m5, "appleId": MessageLookupByLibrary.simpleMessage("Apple ID"), "apply": MessageLookupByLibrary.simpleMessage("Apply"), "applyCodeTitle": MessageLookupByLibrary.simpleMessage("Apply code"), @@ -371,10 +374,10 @@ class MessageLookup extends MessageLookupByLibrary { "canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage( "Can only remove files owned by you"), "cancel": MessageLookupByLibrary.simpleMessage("Cancel"), - "cancelOtherSubscription": m5, + "cancelOtherSubscription": m6, "cancelSubscription": MessageLookupByLibrary.simpleMessage("Cancel subscription"), - "cannotAddMorePhotosAfterBecomingViewer": m6, + "cannotAddMorePhotosAfterBecomingViewer": m7, "cannotDeleteSharedFiles": MessageLookupByLibrary.simpleMessage("Cannot delete shared files"), "centerPoint": MessageLookupByLibrary.simpleMessage("Center point"), @@ -394,7 +397,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Claim free storage"), "claimMore": MessageLookupByLibrary.simpleMessage("Claim more!"), "claimed": MessageLookupByLibrary.simpleMessage("Claimed"), - "claimedStorageSoFar": m7, + "claimedStorageSoFar": m8, "clearCaches": MessageLookupByLibrary.simpleMessage("Clear caches"), "click": MessageLookupByLibrary.simpleMessage("• Click"), "clickOnTheOverflowMenu": MessageLookupByLibrary.simpleMessage( @@ -414,7 +417,7 @@ class MessageLookup extends MessageLookupByLibrary { "Create a link to allow people to add and view photos in your shared album without needing an ente app or account. Great for collecting event photos."), "collaborativeLink": MessageLookupByLibrary.simpleMessage("Collaborative link"), - "collaborativeLinkCreatedFor": m8, + "collaborativeLinkCreatedFor": m9, "collaborator": MessageLookupByLibrary.simpleMessage("Collaborator"), "collaboratorsCanAddPhotosAndVideosToTheSharedAlbum": MessageLookupByLibrary.simpleMessage( @@ -441,10 +444,10 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Confirm recovery key"), "confirmYourRecoveryKey": MessageLookupByLibrary.simpleMessage("Confirm your recovery key"), - "contactFamilyAdmin": m9, + "contactFamilyAdmin": m10, "contactSupport": MessageLookupByLibrary.simpleMessage("Contact support"), - "contactToManageSubscription": m10, + "contactToManageSubscription": m11, "contacts": MessageLookupByLibrary.simpleMessage("Contacts"), "contents": MessageLookupByLibrary.simpleMessage("Contents"), "continueLabel": MessageLookupByLibrary.simpleMessage("Continue"), @@ -519,11 +522,11 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Delete from device"), "deleteFromEnte": MessageLookupByLibrary.simpleMessage("Delete from ente"), - "deleteItemCount": m11, + "deleteItemCount": m12, "deleteLocation": MessageLookupByLibrary.simpleMessage("Delete location"), "deletePhotos": MessageLookupByLibrary.simpleMessage("Delete photos"), - "deleteProgress": m12, + "deleteProgress": m13, "deleteReason1": MessageLookupByLibrary.simpleMessage( "It’s missing a key feature that I need"), "deleteReason2": MessageLookupByLibrary.simpleMessage( @@ -555,7 +558,7 @@ class MessageLookup extends MessageLookupByLibrary { "Viewers can still take screenshots or save a copy of your photos using external tools"), "disableDownloadWarningTitle": MessageLookupByLibrary.simpleMessage("Please note"), - "disableLinkMessage": m13, + "disableLinkMessage": m14, "disableTwofactor": MessageLookupByLibrary.simpleMessage("Disable two-factor"), "disablingTwofactorAuthentication": @@ -576,17 +579,17 @@ class MessageLookup extends MessageLookupByLibrary { "downloadFailed": MessageLookupByLibrary.simpleMessage("Download failed"), "downloading": MessageLookupByLibrary.simpleMessage("Downloading..."), - "dropSupportEmail": m14, - "duplicateFileCountWithStorageSaved": m15, - "duplicateItemsGroup": m16, + "dropSupportEmail": m15, + "duplicateFileCountWithStorageSaved": m16, + "duplicateItemsGroup": m17, "edit": MessageLookupByLibrary.simpleMessage("Edit"), "editLocationTagTitle": MessageLookupByLibrary.simpleMessage("Edit location"), "editsSaved": MessageLookupByLibrary.simpleMessage("Edits saved"), "eligible": MessageLookupByLibrary.simpleMessage("eligible"), "email": MessageLookupByLibrary.simpleMessage("Email"), - "emailChangedTo": m17, - "emailNoEnteAccount": m18, + "emailChangedTo": m18, + "emailNoEnteAccount": m19, "emailVerificationToggle": MessageLookupByLibrary.simpleMessage("Email verification"), "emailYourLogs": @@ -681,8 +684,8 @@ class MessageLookup extends MessageLookupByLibrary { "fileTypes": MessageLookupByLibrary.simpleMessage("File types"), "fileTypesAndNames": MessageLookupByLibrary.simpleMessage("File types and names"), - "filesBackedUpFromDevice": m19, - "filesBackedUpInAlbum": m20, + "filesBackedUpFromDevice": m20, + "filesBackedUpInAlbum": m21, "filesDeleted": MessageLookupByLibrary.simpleMessage("Files deleted"), "flip": MessageLookupByLibrary.simpleMessage("Flip"), "forYourMemories": @@ -691,23 +694,24 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Forgot password"), "freeStorageClaimed": MessageLookupByLibrary.simpleMessage("Free storage claimed"), - "freeStorageOnReferralSuccess": m21, - "freeStorageSpace": m22, + "freeStorageOnReferralSuccess": m22, + "freeStorageSpace": m23, "freeStorageUsable": MessageLookupByLibrary.simpleMessage("Free storage usable"), "freeTrial": MessageLookupByLibrary.simpleMessage("Free trial"), - "freeTrialValidTill": m23, - "freeUpAccessPostDelete": m24, - "freeUpAmount": m25, + "freeTrialValidTill": m24, + "freeUpAccessPostDelete": m25, + "freeUpAmount": m26, "freeUpDeviceSpace": MessageLookupByLibrary.simpleMessage("Free up device space"), "freeUpSpace": MessageLookupByLibrary.simpleMessage("Free up space"), - "freeUpSpaceSaving": m26, + "freeUpSpaceSaving": m27, "galleryMemoryLimitInfo": MessageLookupByLibrary.simpleMessage( "Up to 1000 memories shown in gallery"), "general": MessageLookupByLibrary.simpleMessage("General"), "generatingEncryptionKeys": MessageLookupByLibrary.simpleMessage( "Generating encryption keys..."), + "genericProgress": m67, "goToSettings": MessageLookupByLibrary.simpleMessage("Go to settings"), "googlePlayId": MessageLookupByLibrary.simpleMessage("Google Play ID"), "grantFullAccessPrompt": MessageLookupByLibrary.simpleMessage( @@ -764,7 +768,7 @@ class MessageLookup extends MessageLookupByLibrary { "itLooksLikeSomethingWentWrongPleaseRetryAfterSome": MessageLookupByLibrary.simpleMessage( "It looks like something went wrong. Please retry after some time. If the error persists, please contact our support team."), - "itemCount": m27, + "itemCount": m28, "itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion": MessageLookupByLibrary.simpleMessage( "Items show the number of days remaining before permanent deletion"), @@ -788,7 +792,7 @@ class MessageLookup extends MessageLookupByLibrary { "linkDeviceLimit": MessageLookupByLibrary.simpleMessage("Device limit"), "linkEnabled": MessageLookupByLibrary.simpleMessage("Enabled"), "linkExpired": MessageLookupByLibrary.simpleMessage("Expired"), - "linkExpiresOn": m28, + "linkExpiresOn": m29, "linkExpiry": MessageLookupByLibrary.simpleMessage("Link expiry"), "linkHasExpired": MessageLookupByLibrary.simpleMessage("Link has expired"), @@ -850,7 +854,7 @@ class MessageLookup extends MessageLookupByLibrary { "maps": MessageLookupByLibrary.simpleMessage("Maps"), "mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"), "matrix": MessageLookupByLibrary.simpleMessage("Matrix"), - "memoryCount": m29, + "memoryCount": m30, "merchandise": MessageLookupByLibrary.simpleMessage("Merchandise"), "mobileWebDesktop": MessageLookupByLibrary.simpleMessage("Mobile, Web, Desktop"), @@ -860,11 +864,11 @@ class MessageLookup extends MessageLookupByLibrary { "Modify your query, or try searching for"), "moments": MessageLookupByLibrary.simpleMessage("Moments"), "monthly": MessageLookupByLibrary.simpleMessage("Monthly"), - "moveItem": m30, + "moveItem": m31, "moveToAlbum": MessageLookupByLibrary.simpleMessage("Move to album"), "moveToHiddenAlbum": MessageLookupByLibrary.simpleMessage("Move to hidden album"), - "movedSuccessfullyTo": m31, + "movedSuccessfullyTo": m32, "movedToTrash": MessageLookupByLibrary.simpleMessage("Moved to trash"), "movingFilesToAlbum": MessageLookupByLibrary.simpleMessage("Moving files to album..."), @@ -929,14 +933,14 @@ class MessageLookup extends MessageLookupByLibrary { "passwordChangedSuccessfully": MessageLookupByLibrary.simpleMessage( "Password changed successfully"), "passwordLock": MessageLookupByLibrary.simpleMessage("Password lock"), - "passwordStrength": m32, + "passwordStrength": m33, "passwordWarning": MessageLookupByLibrary.simpleMessage( "We don\'t store this password, so if you forget, we cannot decrypt your data"), "paymentDetails": MessageLookupByLibrary.simpleMessage("Payment details"), "paymentFailed": MessageLookupByLibrary.simpleMessage("Payment failed"), - "paymentFailedTalkToProvider": m33, - "paymentFailedWithReason": m34, + "paymentFailedTalkToProvider": m34, + "paymentFailedWithReason": m35, "pendingSync": MessageLookupByLibrary.simpleMessage("Pending sync"), "peopleUsingYourCode": MessageLookupByLibrary.simpleMessage("People using your code"), @@ -958,7 +962,7 @@ class MessageLookup extends MessageLookupByLibrary { "pickCenterPoint": MessageLookupByLibrary.simpleMessage("Pick center point"), "pinAlbum": MessageLookupByLibrary.simpleMessage("Pin album"), - "playStoreFreeTrialValidTill": m35, + "playStoreFreeTrialValidTill": m36, "playstoreSubscription": MessageLookupByLibrary.simpleMessage("PlayStore subscription"), "pleaseCheckYourInternetConnectionAndTryAgain": @@ -970,12 +974,12 @@ class MessageLookup extends MessageLookupByLibrary { "pleaseContactSupportIfTheProblemPersists": MessageLookupByLibrary.simpleMessage( "Please contact support if the problem persists"), - "pleaseEmailUsAt": m36, + "pleaseEmailUsAt": m37, "pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage("Please grant permissions"), "pleaseLoginAgain": MessageLookupByLibrary.simpleMessage("Please login again"), - "pleaseSendTheLogsTo": m37, + "pleaseSendTheLogsTo": m38, "pleaseTryAgain": MessageLookupByLibrary.simpleMessage("Please try again"), "pleaseVerifyTheCodeYouHaveEntered": @@ -1010,7 +1014,7 @@ class MessageLookup extends MessageLookupByLibrary { "raiseTicket": MessageLookupByLibrary.simpleMessage("Raise ticket"), "rateTheApp": MessageLookupByLibrary.simpleMessage("Rate the app"), "rateUs": MessageLookupByLibrary.simpleMessage("Rate us"), - "rateUsOnStore": m38, + "rateUsOnStore": m39, "recover": MessageLookupByLibrary.simpleMessage("Recover"), "recoverAccount": MessageLookupByLibrary.simpleMessage("Recover account"), @@ -1041,7 +1045,7 @@ class MessageLookup extends MessageLookupByLibrary { "1. Give this code to your friends"), "referralStep2": MessageLookupByLibrary.simpleMessage( "2. They sign up for a paid plan"), - "referralStep3": m39, + "referralStep3": m40, "referrals": MessageLookupByLibrary.simpleMessage("Referrals"), "referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage( "Referrals are currently paused"), @@ -1065,7 +1069,7 @@ class MessageLookup extends MessageLookupByLibrary { "removeLink": MessageLookupByLibrary.simpleMessage("Remove link"), "removeParticipant": MessageLookupByLibrary.simpleMessage("Remove participant"), - "removeParticipantBody": m40, + "removeParticipantBody": m41, "removePublicLink": MessageLookupByLibrary.simpleMessage("Remove public link"), "removeShareItemsWarning": MessageLookupByLibrary.simpleMessage( @@ -1079,7 +1083,7 @@ class MessageLookup extends MessageLookupByLibrary { "renameFile": MessageLookupByLibrary.simpleMessage("Rename file"), "renewSubscription": MessageLookupByLibrary.simpleMessage("Renew subscription"), - "renewsOn": m41, + "renewsOn": m42, "reportABug": MessageLookupByLibrary.simpleMessage("Report a bug"), "reportBug": MessageLookupByLibrary.simpleMessage("Report bug"), "resendEmail": MessageLookupByLibrary.simpleMessage("Resend email"), @@ -1141,7 +1145,7 @@ class MessageLookup extends MessageLookupByLibrary { "Group photos that are taken within some radius of a photo"), "searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage( "Invite people, and you\'ll see all photos shared by them here"), - "searchResultCount": m65, + "searchResultCount": m43, "security": MessageLookupByLibrary.simpleMessage("Security"), "selectAlbum": MessageLookupByLibrary.simpleMessage("Select album"), "selectAll": MessageLookupByLibrary.simpleMessage("Select all"), @@ -1164,8 +1168,8 @@ class MessageLookup extends MessageLookupByLibrary { "selectedItemsWillBeDeletedFromAllAlbumsAndMoved": MessageLookupByLibrary.simpleMessage( "Selected items will be deleted from all albums and moved to trash."), - "selectedPhotos": m42, - "selectedPhotosWithYours": m43, + "selectedPhotos": m44, + "selectedPhotosWithYours": m45, "send": MessageLookupByLibrary.simpleMessage("Send"), "sendEmail": MessageLookupByLibrary.simpleMessage("Send email"), "sendInvite": MessageLookupByLibrary.simpleMessage("Send invite"), @@ -1187,16 +1191,16 @@ class MessageLookup extends MessageLookupByLibrary { "shareAnAlbumNow": MessageLookupByLibrary.simpleMessage("Share an album now"), "shareLink": MessageLookupByLibrary.simpleMessage("Share link"), - "shareMyVerificationID": m44, + "shareMyVerificationID": m46, "shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage( "Share only with the people you want"), - "shareTextConfirmOthersVerificationID": m45, + "shareTextConfirmOthersVerificationID": m47, "shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage( "Download ente so we can easily share original quality photos and videos\n\nhttps://ente.io"), - "shareTextReferralCode": m46, + "shareTextReferralCode": m48, "shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage("Share with non-ente users"), - "shareWithPeopleSectionTitle": m47, + "shareWithPeopleSectionTitle": m49, "shareYourFirstAlbum": MessageLookupByLibrary.simpleMessage("Share your first album"), "sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage( @@ -1207,7 +1211,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("New shared photos"), "sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage( "Receive notifications when someone adds a photo to a shared album that you\'re a part of"), - "sharedWith": m48, + "sharedWith": m50, "sharedWithMe": MessageLookupByLibrary.simpleMessage("Shared with me"), "sharedWithYou": MessageLookupByLibrary.simpleMessage("Shared with you"), @@ -1221,11 +1225,11 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Sign out other devices"), "signUpTerms": MessageLookupByLibrary.simpleMessage( "I agree to the terms of service and privacy policy"), - "singleFileDeleteFromDevice": m49, + "singleFileDeleteFromDevice": m51, "singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage( "It will be deleted from all albums."), - "singleFileInBothLocalAndRemote": m50, - "singleFileInRemoteOnly": m51, + "singleFileInBothLocalAndRemote": m52, + "singleFileInRemoteOnly": m53, "skip": MessageLookupByLibrary.simpleMessage("Skip"), "social": MessageLookupByLibrary.simpleMessage("Social"), "someItemsAreInBothEnteAndYourDevice": @@ -1262,13 +1266,13 @@ class MessageLookup extends MessageLookupByLibrary { "storage": MessageLookupByLibrary.simpleMessage("Storage"), "storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Family"), "storageBreakupYou": MessageLookupByLibrary.simpleMessage("You"), - "storageInGB": m52, + "storageInGB": m54, "storageLimitExceeded": MessageLookupByLibrary.simpleMessage("Storage limit exceeded"), - "storageUsageInfo": m53, + "storageUsageInfo": m55, "strongStrength": MessageLookupByLibrary.simpleMessage("Strong"), - "subAlreadyLinkedErrMessage": m54, - "subWillBeCancelledOn": m55, + "subAlreadyLinkedErrMessage": m56, + "subWillBeCancelledOn": m57, "subscribe": MessageLookupByLibrary.simpleMessage("Subscribe"), "subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage( "Looks like your subscription has expired. Please subscribe to enable sharing."), @@ -1285,7 +1289,7 @@ class MessageLookup extends MessageLookupByLibrary { "suggestFeatures": MessageLookupByLibrary.simpleMessage("Suggest features"), "support": MessageLookupByLibrary.simpleMessage("Support"), - "syncProgress": m56, + "syncProgress": m58, "syncStopped": MessageLookupByLibrary.simpleMessage("Sync stopped"), "syncing": MessageLookupByLibrary.simpleMessage("Syncing..."), "systemTheme": MessageLookupByLibrary.simpleMessage("System"), @@ -1311,7 +1315,7 @@ class MessageLookup extends MessageLookupByLibrary { "theseItemsWillBeDeletedFromYourDevice": MessageLookupByLibrary.simpleMessage( "These items will be deleted from your device."), - "theyAlsoGetXGb": m57, + "theyAlsoGetXGb": m59, "theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage( "They will be deleted from all albums."), "thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage( @@ -1327,7 +1331,7 @@ class MessageLookup extends MessageLookupByLibrary { "This email is already in use"), "thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage("This image has no exif data"), - "thisIsPersonVerificationId": m58, + "thisIsPersonVerificationId": m60, "thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage( "This is your Verification ID"), "thisWillLogYouOutOfTheFollowingDevice": @@ -1343,7 +1347,7 @@ class MessageLookup extends MessageLookupByLibrary { "total": MessageLookupByLibrary.simpleMessage("total"), "totalSize": MessageLookupByLibrary.simpleMessage("Total size"), "trash": MessageLookupByLibrary.simpleMessage("Trash"), - "trashDaysLeft": m59, + "trashDaysLeft": m61, "tryAgain": MessageLookupByLibrary.simpleMessage("Try again"), "turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage( "Turn on backup to automatically upload files added to this device folder to ente."), @@ -1395,7 +1399,7 @@ class MessageLookup extends MessageLookupByLibrary { "useSelectedPhoto": MessageLookupByLibrary.simpleMessage("Use selected photo"), "usedSpace": MessageLookupByLibrary.simpleMessage("Used space"), - "validTill": m66, + "validTill": m62, "verificationFailedPleaseTryAgain": MessageLookupByLibrary.simpleMessage( "Verification failed, please try again"), @@ -1403,7 +1407,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Verification ID"), "verify": MessageLookupByLibrary.simpleMessage("Verify"), "verifyEmail": MessageLookupByLibrary.simpleMessage("Verify email"), - "verifyEmailID": m60, + "verifyEmailID": m63, "verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verify"), "verifyPassword": MessageLookupByLibrary.simpleMessage("Verify password"), @@ -1429,11 +1433,11 @@ class MessageLookup extends MessageLookupByLibrary { "weDontSupportEditingPhotosAndAlbumsThatYouDont": MessageLookupByLibrary.simpleMessage( "We don\'t support editing photos and albums that you don\'t own yet"), - "weHaveSendEmailTo": m61, + "weHaveSendEmailTo": m64, "weakStrength": MessageLookupByLibrary.simpleMessage("Weak"), "welcomeBack": MessageLookupByLibrary.simpleMessage("Welcome back!"), "yearly": MessageLookupByLibrary.simpleMessage("Yearly"), - "yearsAgo": m62, + "yearsAgo": m65, "yes": MessageLookupByLibrary.simpleMessage("Yes"), "yesCancel": MessageLookupByLibrary.simpleMessage("Yes, cancel"), "yesConvertToViewer": @@ -1463,7 +1467,7 @@ class MessageLookup extends MessageLookupByLibrary { "You cannot share with yourself"), "youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage( "You don\'t have any archived items."), - "youHaveSuccessfullyFreedUp": m63, + "youHaveSuccessfullyFreedUp": m66, "yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage( "Your account has been deleted"), "yourMap": MessageLookupByLibrary.simpleMessage("Your map"), diff --git a/lib/generated/intl/messages_es.dart b/lib/generated/intl/messages_es.dart index d53e3ef87..08a31da2e 100644 --- a/lib/generated/intl/messages_es.dart +++ b/lib/generated/intl/messages_es.dart @@ -23,22 +23,22 @@ class MessageLookup extends MessageLookupByLibrary { static String m0(count) => "${Intl.plural(count, one: 'Agregar elemento', other: 'Agregar elementos')}}"; - static String m1(emailOrName) => "Añadido por ${emailOrName}"; + static String m2(emailOrName) => "Añadido por ${emailOrName}"; - static String m2(albumName) => "Añadido exitosamente a ${albumName}"; + static String m3(albumName) => "Añadido exitosamente a ${albumName}"; - static String m3(count) => + static String m4(count) => "${Intl.plural(count, zero: 'No hay Participantes', one: '1 Participante', other: '${count} Participantes')}"; - static String m4(versionValue) => "Versión: ${versionValue}"; + static String m5(versionValue) => "Versión: ${versionValue}"; - static String m5(paymentProvider) => + static String m6(paymentProvider) => "Por favor, cancele primero su suscripción existente de ${paymentProvider}"; - static String m6(user) => + static String m7(user) => "${user} no podrá añadir más fotos a este álbum\n\nTodavía podrán eliminar las fotos ya añadidas por ellos"; - static String m7(isFamilyMember, storageAmountInGb) => + static String m8(isFamilyMember, storageAmountInGb) => "${Intl.select(isFamilyMember, { 'true': 'Su familia ha reclamado ${storageAmountInGb} GB hasta el momento', @@ -48,145 +48,145 @@ class MessageLookup extends MessageLookupByLibrary { '¡Tú has reclamado ${storageAmountInGb} GB hasta el momento!', })}"; - static String m8(albumName) => "Enlace colaborativo creado para ${albumName}"; + static String m9(albumName) => "Enlace colaborativo creado para ${albumName}"; - static String m9(familyAdminEmail) => + static String m10(familyAdminEmail) => "Por favor contacta con ${familyAdminEmail} para administrar tu suscripción"; - static String m10(provider) => + static String m11(provider) => "Por favor, contáctenos en support@ente.io para gestionar su suscripción a ${provider}."; - static String m12(currentlyDeleting, totalCount) => + static String m13(currentlyDeleting, totalCount) => "Borrando ${currentlyDeleting} / ${totalCount}"; - static String m13(albumName) => + static String m14(albumName) => "Esto eliminará el enlace público para acceder a \"${albumName}\"."; - static String m14(supportEmail) => + static String m15(supportEmail) => "Por favor, envíe un email a ${supportEmail} desde su dirección de correo electrónico registrada"; - static String m15(count, storageSaved) => + static String m16(count, storageSaved) => "¡Has limpiado ${Intl.plural(count, one: '${count} archivo duplicado', other: '${count} archivos duplicados')}, ahorrando (${storageSaved}!)"; - static String m17(newEmail) => "Correo cambiado a ${newEmail}"; + static String m18(newEmail) => "Correo cambiado a ${newEmail}"; - static String m18(email) => + static String m19(email) => "${email} no tiene una cuenta ente.\n\nEnvíale una invitación para compartir fotos."; - static String m19(count, formattedNumber) => + static String m20(count, formattedNumber) => "${Intl.plural(count, one: '1 archivo', other: '${formattedNumber} archivos')} en este dispositivo han sido respaldados de forma segura"; - static String m20(count, formattedNumber) => + static String m21(count, formattedNumber) => "${Intl.plural(count, one: '1 archivo', other: '${formattedNumber} archivos')} en este álbum ha sido respaldado de forma segura"; - static String m21(storageAmountInGB) => + static String m22(storageAmountInGB) => "${storageAmountInGB} GB cada vez que alguien se registra en un plan de pago y aplica tu código"; - static String m22(freeAmount, storageUnit) => + static String m23(freeAmount, storageUnit) => "${freeAmount} ${storageUnit} gratis"; - static String m23(endDate) => "Prueba gratuita válida hasta${endDate}"; + static String m24(endDate) => "Prueba gratuita válida hasta${endDate}"; - static String m24(count) => + static String m25(count) => "Aún puedes acceder ${Intl.plural(count, one: 'si', other: 'entonces')} en ente mientras mantengas una suscripción activa"; - static String m25(sizeInMBorGB) => "Liberar ${sizeInMBorGB}"; + static String m26(sizeInMBorGB) => "Liberar ${sizeInMBorGB}"; - static String m26(count, formattedSize) => + static String m27(count, formattedSize) => "${Intl.plural(count, one: 'Se puede eliminar del dispositivo para liberar ${formattedSize}', other: 'Se pueden eliminar del dispositivo para liberar ${formattedSize}')}"; - static String m27(count) => + static String m28(count) => "${Intl.plural(count, one: '${count} elemento', other: '${count} elementos')}"; - static String m28(expiryTime) => "El enlace caducará en ${expiryTime}"; + static String m29(expiryTime) => "El enlace caducará en ${expiryTime}"; - static String m29(count, formattedCount) => + static String m30(count, formattedCount) => "${Intl.plural(count, zero: 'no recuerdos', one: '${formattedCount} recuerdo', other: '${formattedCount} recuerdos')}\n"; - static String m30(count) => + static String m31(count) => "${Intl.plural(count, one: 'Mover elemento', other: 'Mover elementos')}"; - static String m31(albumName) => "Movido exitosamente a ${albumName}"; + static String m32(albumName) => "Movido exitosamente a ${albumName}"; - static String m32(passwordStrengthValue) => + static String m33(passwordStrengthValue) => "Seguridad de la contraseña : ${passwordStrengthValue}"; - static String m33(providerName) => + static String m34(providerName) => "Por favor hable con el soporte de ${providerName} si se le cobró"; - static String m34(reason) => + static String m35(reason) => "Lamentablemente tu pago falló debido a ${reason}"; - static String m36(toEmail) => + static String m37(toEmail) => "Por favor, envíanos un correo electrónico a ${toEmail}"; - static String m37(toEmail) => "Por favor, envíe los registros a ${toEmail}"; + static String m38(toEmail) => "Por favor, envíe los registros a ${toEmail}"; - static String m38(storeName) => "Califícanos en ${storeName}"; + static String m39(storeName) => "Califícanos en ${storeName}"; - static String m39(storageInGB) => + static String m40(storageInGB) => "3. Ambos obtienen ${storageInGB} GB* gratis"; - static String m40(userEmail) => + static String m41(userEmail) => "${userEmail} será eliminado de este álbum compartido\n\nCualquier foto añadida por ellos también será eliminada del álbum"; - static String m41(endDate) => "Se renueva el ${endDate}"; + static String m42(endDate) => "Se renueva el ${endDate}"; - static String m42(count) => "${count} seleccionados"; + static String m44(count) => "${count} seleccionados"; - static String m43(count, yourCount) => + static String m45(count, yourCount) => "${count} seleccionados (${yourCount} tuyos)"; - static String m44(verificationID) => + static String m46(verificationID) => "Aquí está mi ID de verificación: ${verificationID} para ente.io."; - static String m45(verificationID) => + static String m47(verificationID) => "Hola, ¿puedes confirmar que esta es tu ID de verificación ente.io: ${verificationID}?"; - static String m46(referralCode, referralStorageInGB) => + static String m48(referralCode, referralStorageInGB) => "ente código de referencia: ${referralCode} \n\nAplicarlo en Ajustes → General → Referencias para obtener ${referralStorageInGB} GB gratis después de registrarse en un plan de pago\n\nhttps://ente.io"; - static String m47(numberOfPeople) => + static String m49(numberOfPeople) => "${Intl.plural(numberOfPeople, zero: 'Compartir con personas específicas', one: 'Compartido con 1 persona', other: 'Compartido con ${numberOfPeople} personas')}"; - static String m48(emailIDs) => "Compartido con ${emailIDs}"; + static String m50(emailIDs) => "Compartido con ${emailIDs}"; - static String m49(fileType) => + static String m51(fileType) => "Este ${fileType} se eliminará de tu dispositivo."; - static String m50(fileType) => + static String m52(fileType) => "Este ${fileType} está tanto en ente como en tu dispositivo."; - static String m51(fileType) => "Este ${fileType} se eliminará de ente."; + static String m53(fileType) => "Este ${fileType} se eliminará de ente."; - static String m52(storageAmountInGB) => "${storageAmountInGB} GB"; + static String m54(storageAmountInGB) => "${storageAmountInGB} GB"; - static String m53( + static String m55( usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) => "${usedAmount} ${usedStorageUnit} de ${totalAmount} ${totalStorageUnit} usados"; - static String m54(id) => + static String m56(id) => "Su ${id} ya está vinculado a otra cuenta ente.\nSi desea utilizar su ${id} con esta cuenta, póngase en contacto con nuestro servicio de asistencia\'\'"; - static String m55(endDate) => "Tu suscripción se cancelará el ${endDate}"; + static String m57(endDate) => "Tu suscripción se cancelará el ${endDate}"; - static String m56(completed, total) => + static String m58(completed, total) => "${completed}/${total} recuerdos conservados"; - static String m57(storageAmountInGB) => + static String m59(storageAmountInGB) => "También obtienen ${storageAmountInGB} GB"; - static String m58(email) => "Este es el ID de verificación de ${email}"; + static String m60(email) => "Este es el ID de verificación de ${email}"; - static String m60(email) => "Verificar ${email}"; + static String m63(email) => "Verificar ${email}"; - static String m61(email) => + static String m64(email) => "Hemos enviado un correo a ${email}"; - static String m62(count) => + static String m65(count) => "${Intl.plural(count, one: '${count} hace un año', other: '${count} hace años')}"; - static String m63(storageSaved) => "¡Has liberado ${storageSaved} con éxito!"; + static String m66(storageSaved) => "¡Has liberado ${storageSaved} con éxito!"; final messages = _notInlinedMessages(_notInlinedMessages); static Map _notInlinedMessages(_) => { @@ -215,8 +215,8 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Add to hidden album"), "addViewer": MessageLookupByLibrary.simpleMessage("Añadir espectador"), "addedAs": MessageLookupByLibrary.simpleMessage("Agregado como"), - "addedBy": m1, - "addedSuccessfullyTo": m2, + "addedBy": m2, + "addedSuccessfullyTo": m3, "addingToFavorites": MessageLookupByLibrary.simpleMessage("Añadiendo a favoritos..."), "advanced": MessageLookupByLibrary.simpleMessage("Avanzado"), @@ -229,7 +229,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Después de una semana"), "after1Year": MessageLookupByLibrary.simpleMessage("Después de un año"), "albumOwner": MessageLookupByLibrary.simpleMessage("Propietario"), - "albumParticipantsCount": m3, + "albumParticipantsCount": m4, "albumTitle": MessageLookupByLibrary.simpleMessage("Título del álbum"), "albumUpdated": MessageLookupByLibrary.simpleMessage("Álbum actualizado"), @@ -247,7 +247,7 @@ class MessageLookup extends MessageLookupByLibrary { "Permitir que la gente añada fotos"), "androidIosWebDesktop": MessageLookupByLibrary.simpleMessage( "Android, iOS, Web, Computadora"), - "appVersion": m4, + "appVersion": m5, "appleId": MessageLookupByLibrary.simpleMessage("ID de Apple"), "apply": MessageLookupByLibrary.simpleMessage("Aplicar"), "applyCodeTitle": MessageLookupByLibrary.simpleMessage("Usar código"), @@ -329,10 +329,10 @@ class MessageLookup extends MessageLookupByLibrary { "canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage( "Sólo puede eliminar archivos de tu propiedad"), "cancel": MessageLookupByLibrary.simpleMessage("Cancelar"), - "cancelOtherSubscription": m5, + "cancelOtherSubscription": m6, "cancelSubscription": MessageLookupByLibrary.simpleMessage("Cancelar suscripción"), - "cannotAddMorePhotosAfterBecomingViewer": m6, + "cannotAddMorePhotosAfterBecomingViewer": m7, "centerPoint": MessageLookupByLibrary.simpleMessage("Punto central"), "changeEmail": MessageLookupByLibrary.simpleMessage("Cambiar correo electrónico"), @@ -351,7 +351,7 @@ class MessageLookup extends MessageLookupByLibrary { "Reclamar almacenamiento gratis"), "claimMore": MessageLookupByLibrary.simpleMessage("¡Reclama más!"), "claimed": MessageLookupByLibrary.simpleMessage("Reclamado"), - "claimedStorageSoFar": m7, + "claimedStorageSoFar": m8, "clearCaches": MessageLookupByLibrary.simpleMessage("Limpiar caché"), "click": MessageLookupByLibrary.simpleMessage("• Click"), "clickOnTheOverflowMenu": MessageLookupByLibrary.simpleMessage( @@ -369,7 +369,7 @@ class MessageLookup extends MessageLookupByLibrary { "Crea un enlace para que la gente pueda añadir y ver fotos en tu álbum compartido sin necesidad de la aplicación ente o una cuenta. Genial para recolectar fotos de eventos."), "collaborativeLink": MessageLookupByLibrary.simpleMessage("Enlace colaborativo"), - "collaborativeLinkCreatedFor": m8, + "collaborativeLinkCreatedFor": m9, "collaborator": MessageLookupByLibrary.simpleMessage("Colaborador"), "collaboratorsCanAddPhotosAndVideosToTheSharedAlbum": MessageLookupByLibrary.simpleMessage( @@ -394,10 +394,10 @@ class MessageLookup extends MessageLookupByLibrary { "Confirmar clave de recuperación"), "confirmYourRecoveryKey": MessageLookupByLibrary.simpleMessage( "Confirme su clave de recuperación"), - "contactFamilyAdmin": m9, + "contactFamilyAdmin": m10, "contactSupport": MessageLookupByLibrary.simpleMessage("Contactar con soporte"), - "contactToManageSubscription": m10, + "contactToManageSubscription": m11, "contacts": MessageLookupByLibrary.simpleMessage("Contacts"), "continueLabel": MessageLookupByLibrary.simpleMessage("Continuar"), "continueOnFreeTrial": MessageLookupByLibrary.simpleMessage( @@ -470,7 +470,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Borrar la ubicación"), "deletePhotos": MessageLookupByLibrary.simpleMessage("Borrar las fotos"), - "deleteProgress": m12, + "deleteProgress": m13, "deleteReason1": MessageLookupByLibrary.simpleMessage( "Falta una característica clave que necesito"), "deleteReason2": MessageLookupByLibrary.simpleMessage( @@ -503,7 +503,7 @@ class MessageLookup extends MessageLookupByLibrary { "Los espectadores todavía pueden tomar capturas de pantalla o guardar una copia de sus fotos usando herramientas externas"), "disableDownloadWarningTitle": MessageLookupByLibrary.simpleMessage("Por favor tenga en cuenta"), - "disableLinkMessage": m13, + "disableLinkMessage": m14, "disableTwofactor": MessageLookupByLibrary.simpleMessage("Deshabilitar dos factores"), "disablingTwofactorAuthentication": @@ -524,8 +524,8 @@ class MessageLookup extends MessageLookupByLibrary { "downloadFailed": MessageLookupByLibrary.simpleMessage("Descarga fallida"), "downloading": MessageLookupByLibrary.simpleMessage("Descargando..."), - "dropSupportEmail": m14, - "duplicateFileCountWithStorageSaved": m15, + "dropSupportEmail": m15, + "duplicateFileCountWithStorageSaved": m16, "edit": MessageLookupByLibrary.simpleMessage("Editar"), "editLocationTagTitle": MessageLookupByLibrary.simpleMessage("Editar la ubicación"), @@ -533,8 +533,8 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Ediciones guardadas"), "eligible": MessageLookupByLibrary.simpleMessage("elegible"), "email": MessageLookupByLibrary.simpleMessage("Correo electrónico"), - "emailChangedTo": m17, - "emailNoEnteAccount": m18, + "emailChangedTo": m18, + "emailNoEnteAccount": m19, "emailYourLogs": MessageLookupByLibrary.simpleMessage( "Envíe sus registros por correo electrónico"), "empty": MessageLookupByLibrary.simpleMessage("Vaciar"), @@ -623,8 +623,8 @@ class MessageLookup extends MessageLookupByLibrary { "fileSavedToGallery": MessageLookupByLibrary.simpleMessage( "Archivo guardado en la galería"), "fileTypes": MessageLookupByLibrary.simpleMessage("File types"), - "filesBackedUpFromDevice": m19, - "filesBackedUpInAlbum": m20, + "filesBackedUpFromDevice": m20, + "filesBackedUpInAlbum": m21, "filesDeleted": MessageLookupByLibrary.simpleMessage("Archivos eliminados"), "flip": MessageLookupByLibrary.simpleMessage("Voltear"), @@ -634,18 +634,18 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Olvidé mi contraseña"), "freeStorageClaimed": MessageLookupByLibrary.simpleMessage( "Almacenamiento gratuito reclamado"), - "freeStorageOnReferralSuccess": m21, - "freeStorageSpace": m22, + "freeStorageOnReferralSuccess": m22, + "freeStorageSpace": m23, "freeStorageUsable": MessageLookupByLibrary.simpleMessage( "Almacenamiento libre disponible"), "freeTrial": MessageLookupByLibrary.simpleMessage("Prueba gratuita"), - "freeTrialValidTill": m23, - "freeUpAccessPostDelete": m24, - "freeUpAmount": m25, + "freeTrialValidTill": m24, + "freeUpAccessPostDelete": m25, + "freeUpAmount": m26, "freeUpDeviceSpace": MessageLookupByLibrary.simpleMessage( "Liberar espacio del dispositivo"), "freeUpSpace": MessageLookupByLibrary.simpleMessage("Liberar espacio"), - "freeUpSpaceSaving": m26, + "freeUpSpaceSaving": m27, "galleryMemoryLimitInfo": MessageLookupByLibrary.simpleMessage( "Hasta 1000 memorias mostradas en la galería"), "general": MessageLookupByLibrary.simpleMessage("General"), @@ -691,7 +691,7 @@ class MessageLookup extends MessageLookupByLibrary { "itLooksLikeSomethingWentWrongPleaseRetryAfterSome": MessageLookupByLibrary.simpleMessage( "Parece que algo salió mal. Por favor, vuelve a intentarlo después de algún tiempo. Si el error persiste, ponte en contacto con nuestro equipo de soporte."), - "itemCount": m27, + "itemCount": m28, "itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion": MessageLookupByLibrary.simpleMessage( "Los artículos muestran el número de días restantes antes de ser borrados permanente"), @@ -719,7 +719,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Límite del dispositivo"), "linkEnabled": MessageLookupByLibrary.simpleMessage("Habilitado"), "linkExpired": MessageLookupByLibrary.simpleMessage("Vencido"), - "linkExpiresOn": m28, + "linkExpiresOn": m29, "linkExpiry": MessageLookupByLibrary.simpleMessage("Enlace vence"), "linkHasExpired": MessageLookupByLibrary.simpleMessage("El enlace ha caducado"), @@ -784,7 +784,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Administrar tu suscripción"), "mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"), "matrix": MessageLookupByLibrary.simpleMessage("Matrix"), - "memoryCount": m29, + "memoryCount": m30, "merchandise": MessageLookupByLibrary.simpleMessage("Mercancías"), "mobileWebDesktop": MessageLookupByLibrary.simpleMessage("Celular, Web, Computadora"), @@ -793,11 +793,11 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage( "Modify your query, or try searching for"), "monthly": MessageLookupByLibrary.simpleMessage("Mensual"), - "moveItem": m30, + "moveItem": m31, "moveToAlbum": MessageLookupByLibrary.simpleMessage("Mover al álbum"), "moveToHiddenAlbum": MessageLookupByLibrary.simpleMessage("Move to hidden album"), - "movedSuccessfullyTo": m31, + "movedSuccessfullyTo": m32, "movedToTrash": MessageLookupByLibrary.simpleMessage("Movido a la papelera"), "movingFilesToAlbum": MessageLookupByLibrary.simpleMessage( @@ -847,14 +847,14 @@ class MessageLookup extends MessageLookupByLibrary { "Contraseña cambiada correctamente"), "passwordLock": MessageLookupByLibrary.simpleMessage("Bloqueo por contraseña"), - "passwordStrength": m32, + "passwordStrength": m33, "passwordWarning": MessageLookupByLibrary.simpleMessage( "No almacenamos esta contraseña, así que si la olvidas, no podemos descifrar tus datos"), "paymentDetails": MessageLookupByLibrary.simpleMessage("Detalles de pago"), "paymentFailed": MessageLookupByLibrary.simpleMessage("Pago fallido"), - "paymentFailedTalkToProvider": m33, - "paymentFailedWithReason": m34, + "paymentFailedTalkToProvider": m34, + "paymentFailedWithReason": m35, "pendingSync": MessageLookupByLibrary.simpleMessage("Sincronización pendiente"), "peopleUsingYourCode": @@ -881,12 +881,12 @@ class MessageLookup extends MessageLookupByLibrary { "pleaseContactSupportIfTheProblemPersists": MessageLookupByLibrary.simpleMessage( "Por favor contacte a soporte técnico si el problema persiste"), - "pleaseEmailUsAt": m36, + "pleaseEmailUsAt": m37, "pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage("Por favor, concede permiso"), "pleaseLoginAgain": MessageLookupByLibrary.simpleMessage( "Por favor, vuelva a iniciar sesión"), - "pleaseSendTheLogsTo": m37, + "pleaseSendTheLogsTo": m38, "pleaseTryAgain": MessageLookupByLibrary.simpleMessage( "Por favor, inténtalo nuevamente"), "pleaseVerifyTheCodeYouHaveEntered": @@ -920,7 +920,7 @@ class MessageLookup extends MessageLookupByLibrary { "rateTheApp": MessageLookupByLibrary.simpleMessage("Evalúa la aplicación"), "rateUs": MessageLookupByLibrary.simpleMessage("Califícanos"), - "rateUsOnStore": m38, + "rateUsOnStore": m39, "recover": MessageLookupByLibrary.simpleMessage("Recuperar"), "recoverAccount": MessageLookupByLibrary.simpleMessage("Recuperar cuenta"), @@ -952,7 +952,7 @@ class MessageLookup extends MessageLookupByLibrary { "1. Dale este código a tus amigos"), "referralStep2": MessageLookupByLibrary.simpleMessage( "2. Se inscriben a un plan pagado"), - "referralStep3": m39, + "referralStep3": m40, "referrals": MessageLookupByLibrary.simpleMessage("Referidos"), "referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage( "Las referencias están actualmente en pausa"), @@ -977,7 +977,7 @@ class MessageLookup extends MessageLookupByLibrary { "removeLink": MessageLookupByLibrary.simpleMessage("Eliminar enlace"), "removeParticipant": MessageLookupByLibrary.simpleMessage("Quitar participante"), - "removeParticipantBody": m40, + "removeParticipantBody": m41, "removePublicLink": MessageLookupByLibrary.simpleMessage("Quitar enlace público"), "removeShareItemsWarning": MessageLookupByLibrary.simpleMessage( @@ -991,7 +991,7 @@ class MessageLookup extends MessageLookupByLibrary { "renameFile": MessageLookupByLibrary.simpleMessage("Renombrar archivo"), "renewSubscription": MessageLookupByLibrary.simpleMessage("Renovar suscripción"), - "renewsOn": m41, + "renewsOn": m42, "reportABug": MessageLookupByLibrary.simpleMessage("Reportar un error"), "reportBug": MessageLookupByLibrary.simpleMessage("Reportar error"), "resendEmail": @@ -1051,8 +1051,8 @@ class MessageLookup extends MessageLookupByLibrary { "selectedItemsWillBeDeletedFromAllAlbumsAndMoved": MessageLookupByLibrary.simpleMessage( "Los archivos seleccionados serán eliminados de todos los álbumes y movidos a la papelera."), - "selectedPhotos": m42, - "selectedPhotosWithYours": m43, + "selectedPhotos": m44, + "selectedPhotosWithYours": m45, "send": MessageLookupByLibrary.simpleMessage("Enviar"), "sendEmail": MessageLookupByLibrary.simpleMessage("Enviar correo electrónico"), @@ -1077,32 +1077,32 @@ class MessageLookup extends MessageLookupByLibrary { "shareAnAlbumNow": MessageLookupByLibrary.simpleMessage("Compartir un álbum ahora"), "shareLink": MessageLookupByLibrary.simpleMessage("Compartir enlace"), - "shareMyVerificationID": m44, + "shareMyVerificationID": m46, "shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage( "Comparte sólo con la gente que quieres"), - "shareTextConfirmOthersVerificationID": m45, + "shareTextConfirmOthersVerificationID": m47, "shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage( "Descarga ente para que podamos compartir fácilmente fotos y videos en su calidad original\n\nhttps://ente.io"), - "shareTextReferralCode": m46, + "shareTextReferralCode": m48, "shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage( "Compartir con usuarios no ente"), - "shareWithPeopleSectionTitle": m47, + "shareWithPeopleSectionTitle": m49, "shareYourFirstAlbum": MessageLookupByLibrary.simpleMessage("Comparte tu primer álbum"), "sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage( "Crear álbumes compartidos y colaborativos con otros usuarios ente, incluyendo usuarios en planes gratuitos."), "sharedByMe": MessageLookupByLibrary.simpleMessage("Compartido por mí"), - "sharedWith": m48, + "sharedWith": m50, "sharedWithMe": MessageLookupByLibrary.simpleMessage("Compartido conmigo"), "sharing": MessageLookupByLibrary.simpleMessage("Compartiendo..."), "signUpTerms": MessageLookupByLibrary.simpleMessage( "Estoy de acuerdo con los términos del servicio y la política de privacidad"), - "singleFileDeleteFromDevice": m49, + "singleFileDeleteFromDevice": m51, "singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage( "Se borrará de todos los álbumes."), - "singleFileInBothLocalAndRemote": m50, - "singleFileInRemoteOnly": m51, + "singleFileInBothLocalAndRemote": m52, + "singleFileInRemoteOnly": m53, "skip": MessageLookupByLibrary.simpleMessage("Omitir"), "social": MessageLookupByLibrary.simpleMessage("Social"), "someItemsAreInBothEnteAndYourDevice": @@ -1137,13 +1137,13 @@ class MessageLookup extends MessageLookupByLibrary { "storage": MessageLookupByLibrary.simpleMessage("Almacenamiento"), "storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Familia"), "storageBreakupYou": MessageLookupByLibrary.simpleMessage("Usted"), - "storageInGB": m52, + "storageInGB": m54, "storageLimitExceeded": MessageLookupByLibrary.simpleMessage("Límite de datos excedido"), - "storageUsageInfo": m53, + "storageUsageInfo": m55, "strongStrength": MessageLookupByLibrary.simpleMessage("Segura"), - "subAlreadyLinkedErrMessage": m54, - "subWillBeCancelledOn": m55, + "subAlreadyLinkedErrMessage": m56, + "subWillBeCancelledOn": m57, "subscribe": MessageLookupByLibrary.simpleMessage("Suscribirse"), "subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage( "Parece que su suscripción ha caducado. Por favor, suscríbase para habilitar el compartir."), @@ -1156,7 +1156,7 @@ class MessageLookup extends MessageLookupByLibrary { "suggestFeatures": MessageLookupByLibrary.simpleMessage("Sugerir una característica"), "support": MessageLookupByLibrary.simpleMessage("Soporte"), - "syncProgress": m56, + "syncProgress": m58, "syncStopped": MessageLookupByLibrary.simpleMessage("Sincronización detenida"), "syncing": MessageLookupByLibrary.simpleMessage("Sincronizando..."), @@ -1184,7 +1184,7 @@ class MessageLookup extends MessageLookupByLibrary { "theseItemsWillBeDeletedFromYourDevice": MessageLookupByLibrary.simpleMessage( "Estos elementos se eliminarán de tu dispositivo."), - "theyAlsoGetXGb": m57, + "theyAlsoGetXGb": m59, "theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage( "Se borrarán de todos los álbumes."), "thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage( @@ -1200,7 +1200,7 @@ class MessageLookup extends MessageLookupByLibrary { "Este correo electrónico ya está en uso"), "thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage( "Esta imagen no tiene datos exif"), - "thisIsPersonVerificationId": m58, + "thisIsPersonVerificationId": m60, "thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage( "Esta es tu ID de verificación"), "thisWillLogYouOutOfTheFollowingDevice": @@ -1270,7 +1270,7 @@ class MessageLookup extends MessageLookupByLibrary { "verify": MessageLookupByLibrary.simpleMessage("Verificar"), "verifyEmail": MessageLookupByLibrary.simpleMessage( "Verificar correo electrónico"), - "verifyEmailID": m60, + "verifyEmailID": m63, "verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verificar"), "verifyPassword": MessageLookupByLibrary.simpleMessage("Verificar contraseña"), @@ -1293,12 +1293,12 @@ class MessageLookup extends MessageLookupByLibrary { "weDontSupportEditingPhotosAndAlbumsThatYouDont": MessageLookupByLibrary.simpleMessage( "No admitimos la edición de fotos y álbunes que aún no son tuyos"), - "weHaveSendEmailTo": m61, + "weHaveSendEmailTo": m64, "weakStrength": MessageLookupByLibrary.simpleMessage("Poco segura"), "welcomeBack": MessageLookupByLibrary.simpleMessage("¡Bienvenido de nuevo!"), "yearly": MessageLookupByLibrary.simpleMessage("Anualmente"), - "yearsAgo": m62, + "yearsAgo": m65, "yes": MessageLookupByLibrary.simpleMessage("Sí"), "yesCancel": MessageLookupByLibrary.simpleMessage("Sí, cancelar"), "yesConvertToViewer": @@ -1328,7 +1328,7 @@ class MessageLookup extends MessageLookupByLibrary { "No puedes compartir contigo mismo"), "youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage( "No tienes nada de elementos archivados."), - "youHaveSuccessfullyFreedUp": m63, + "youHaveSuccessfullyFreedUp": m66, "yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage("Su cuenta ha sido eliminada"), "yourMap": MessageLookupByLibrary.simpleMessage("Your map"), diff --git a/lib/generated/intl/messages_fr.dart b/lib/generated/intl/messages_fr.dart index b6423645e..33e01b761 100644 --- a/lib/generated/intl/messages_fr.dart +++ b/lib/generated/intl/messages_fr.dart @@ -23,22 +23,22 @@ class MessageLookup extends MessageLookupByLibrary { static String m0(count) => "${Intl.plural(count, one: 'Ajoutez un objet', other: 'Ajoutez des objets')}"; - static String m1(emailOrName) => "Ajouté par ${emailOrName}"; + static String m2(emailOrName) => "Ajouté par ${emailOrName}"; - static String m2(albumName) => "Ajouté avec succès à ${albumName}"; + static String m3(albumName) => "Ajouté avec succès à ${albumName}"; - static String m3(count) => + static String m4(count) => "${Intl.plural(count, zero: 'Aucun Participant', one: '1 Participant', other: '${count} Participants')}"; - static String m4(versionValue) => "Version : ${versionValue}"; + static String m5(versionValue) => "Version : ${versionValue}"; - static String m5(paymentProvider) => + static String m6(paymentProvider) => "Veuillez d\'abord annuler votre abonnement existant de ${paymentProvider}"; - static String m6(user) => + static String m7(user) => "${user} ne pourra pas ajouter plus de photos à cet album\n\nIl pourrait toujours supprimer les photos existantes ajoutées par eux"; - static String m7(isFamilyMember, storageAmountInGb) => + static String m8(isFamilyMember, storageAmountInGb) => "${Intl.select(isFamilyMember, { 'true': 'Votre famille a demandé ${storageAmountInGb} GB jusqu\'à présent', @@ -48,161 +48,161 @@ class MessageLookup extends MessageLookupByLibrary { 'Vous avez réclamé ${storageAmountInGb} GB jusqu\'à présent!', })}"; - static String m8(albumName) => "Lien collaboratif créé pour ${albumName}"; + static String m9(albumName) => "Lien collaboratif créé pour ${albumName}"; - static String m9(familyAdminEmail) => + static String m10(familyAdminEmail) => "Veuillez contacter ${familyAdminEmail} pour gérer votre abonnement"; - static String m10(provider) => + static String m11(provider) => "Veuillez nous contacter à support@ente.io pour gérer votre abonnement ${provider}."; - static String m11(count) => + static String m12(count) => "${Intl.plural(count, one: 'Supprimer le fichier', other: 'Supprimer ${count} fichiers')}"; - static String m12(currentlyDeleting, totalCount) => + static String m13(currentlyDeleting, totalCount) => "Suppression de ${currentlyDeleting} / ${totalCount}"; - static String m13(albumName) => + static String m14(albumName) => "Cela supprimera le lien public pour accéder à \"${albumName}\"."; - static String m14(supportEmail) => + static String m15(supportEmail) => "Veuillez envoyer un e-mail à ${supportEmail} depuis votre adresse enregistrée"; - static String m15(count, storageSaved) => + static String m16(count, storageSaved) => "Vous avez nettoyé ${Intl.plural(count, one: '${count} fichier dupliqué', other: '${count} fichiers dupliqués')}, sauvegarde (${storageSaved}!)"; - static String m16(count, formattedSize) => + static String m17(count, formattedSize) => "${count} fichiers, ${formattedSize} chacun"; - static String m17(newEmail) => "L\'e-mail a été changé en ${newEmail}"; + static String m18(newEmail) => "L\'e-mail a été changé en ${newEmail}"; - static String m18(email) => + static String m19(email) => "${email} n\'a pas de compte ente.\n\nEnvoyez une invitation pour partager des photos."; - static String m19(count, formattedNumber) => + static String m20(count, formattedNumber) => "${Intl.plural(count, one: '1 fichier sur cet appareil a été sauvegardé en toute sécurité', other: '${formattedNumber} fichiers sur cet appareil ont été sauvegardés en toute sécurité')}"; - static String m20(count, formattedNumber) => + static String m21(count, formattedNumber) => "${Intl.plural(count, one: '1 fichier dans cet album a été sauvegardé en toute sécurité', other: '${formattedNumber} fichiers dans cet album ont été sauvegardés en toute sécurité')}"; - static String m21(storageAmountInGB) => + static String m22(storageAmountInGB) => "${storageAmountInGB} Go chaque fois que quelqu\'un s\'inscrit à une offre payante et applique votre code"; - static String m22(freeAmount, storageUnit) => + static String m23(freeAmount, storageUnit) => "${freeAmount} ${storageUnit} libre"; - static String m23(endDate) => "Essai gratuit valide jusqu’au ${endDate}"; + static String m24(endDate) => "Essai gratuit valide jusqu’au ${endDate}"; - static String m24(count) => + static String m25(count) => "Vous pouvez toujours ${Intl.plural(count, one: 'y', other: 'y')} accéder sur ente tant que vous avez un abonnement actif"; - static String m25(sizeInMBorGB) => "Libérer ${sizeInMBorGB}"; + static String m26(sizeInMBorGB) => "Libérer ${sizeInMBorGB}"; - static String m26(count, formattedSize) => + static String m27(count, formattedSize) => "${Intl.plural(count, one: 'Peut être supprimé de l\'appareil pour libérer ${formattedSize}', other: 'Peuvent être supprimés de l\'appareil pour libérer ${formattedSize}')}"; - static String m27(count) => + static String m28(count) => "${Intl.plural(count, one: '${count} objet', other: '${count} objets')}"; - static String m28(expiryTime) => "Le lien expirera le ${expiryTime}"; + static String m29(expiryTime) => "Le lien expirera le ${expiryTime}"; - static String m29(count, formattedCount) => + static String m30(count, formattedCount) => "${Intl.plural(count, one: '${formattedCount} mémoire', other: '${formattedCount} souvenirs')}"; - static String m30(count) => + static String m31(count) => "${Intl.plural(count, one: 'Déplacez l\'objet', other: 'Déplacez des objets')}"; - static String m31(albumName) => "Déplacé avec succès vers ${albumName}"; + static String m32(albumName) => "Déplacé avec succès vers ${albumName}"; - static String m32(passwordStrengthValue) => + static String m33(passwordStrengthValue) => "Sécurité du mot de passe : ${passwordStrengthValue}"; - static String m33(providerName) => + static String m34(providerName) => "Veuillez contacter le support ${providerName} si vous avez été facturé"; - static String m34(reason) => + static String m35(reason) => "Malheureusement, votre paiement a échoué pour ${reason}"; - static String m35(endDate) => + static String m36(endDate) => "Essai gratuit valable jusqu\'à ${endDate}.\nVous pouvez choisir un plan payant par la suite."; - static String m36(toEmail) => "Merci de nous envoyer un e-mail à ${toEmail}"; + static String m37(toEmail) => "Merci de nous envoyer un e-mail à ${toEmail}"; - static String m37(toEmail) => "Envoyez les logs à ${toEmail}"; + static String m38(toEmail) => "Envoyez les logs à ${toEmail}"; - static String m38(storeName) => "Notez-nous sur ${storeName}"; + static String m39(storeName) => "Notez-nous sur ${storeName}"; - static String m39(storageInGB) => + static String m40(storageInGB) => "3. Vous recevez tous les deux ${storageInGB} GB* gratuits"; - static String m40(userEmail) => + static String m41(userEmail) => "${userEmail} sera retiré de cet album partagé\n\nToutes les photos ajoutées par eux seront également retirées de l\'album"; - static String m41(endDate) => "Renouvellement le ${endDate}"; + static String m42(endDate) => "Renouvellement le ${endDate}"; - static String m65(count) => + static String m43(count) => "${Intl.plural(count, one: '${count} résultat trouvé', other: '${count} résultats trouvés')}"; - static String m42(count) => "${count} sélectionné(s)"; + static String m44(count) => "${count} sélectionné(s)"; - static String m43(count, yourCount) => + static String m45(count, yourCount) => "${count} sélectionné(s) (${yourCount} à vous)"; - static String m44(verificationID) => + static String m46(verificationID) => "Voici mon ID de vérification : ${verificationID} pour ente.io."; - static String m45(verificationID) => + static String m47(verificationID) => "Hé, pouvez-vous confirmer qu\'il s\'agit de votre ID de vérification ente.io : ${verificationID}"; - static String m46(referralCode, referralStorageInGB) => + static String m48(referralCode, referralStorageInGB) => "code de parrainage ente : ${referralCode} \n\nAppliquez le dans Paramètres → Général → Références pour obtenir ${referralStorageInGB} Go gratuitement après votre inscription à un plan payant\n\nhttps://ente.io"; - static String m47(numberOfPeople) => + static String m49(numberOfPeople) => "${Intl.plural(numberOfPeople, zero: 'Partagez avec des personnes spécifiques', one: 'Partagé avec 1 personne', other: 'Partagé avec ${numberOfPeople} des gens')}"; - static String m48(emailIDs) => "Partagé avec ${emailIDs}"; + static String m50(emailIDs) => "Partagé avec ${emailIDs}"; - static String m49(fileType) => + static String m51(fileType) => "Elle ${fileType} sera supprimée de votre appareil."; - static String m50(fileType) => + static String m52(fileType) => "Cette ${fileType} est à la fois sur ente et sur votre appareil."; - static String m51(fileType) => "Ce ${fileType} sera supprimé de ente."; + static String m53(fileType) => "Ce ${fileType} sera supprimé de ente."; - static String m52(storageAmountInGB) => "${storageAmountInGB} Go"; + static String m54(storageAmountInGB) => "${storageAmountInGB} Go"; - static String m53( + static String m55( usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) => "${usedAmount} ${usedStorageUnit} sur ${totalAmount} ${totalStorageUnit} utilisé"; - static String m54(id) => + static String m56(id) => "Votre ${id} est déjà lié à un autre compte ente.\nSi vous souhaitez utiliser votre ${id} avec ce compte, veuillez contacter notre support"; - static String m55(endDate) => "Votre abonnement sera annulé le ${endDate}"; + static String m57(endDate) => "Votre abonnement sera annulé le ${endDate}"; - static String m56(completed, total) => + static String m58(completed, total) => "${completed}/${total} souvenirs préservés"; - static String m57(storageAmountInGB) => + static String m59(storageAmountInGB) => "Ils obtiennent aussi ${storageAmountInGB} Go"; - static String m58(email) => "Ceci est l\'ID de vérification de ${email}"; + static String m60(email) => "Ceci est l\'ID de vérification de ${email}"; - static String m59(count) => + static String m61(count) => "${Intl.plural(count, zero: '0 jour', one: '1 jour', other: '${count} jours')}"; - static String m66(endDate) => "Valable jusqu\'au ${endDate}"; + static String m62(endDate) => "Valable jusqu\'au ${endDate}"; - static String m60(email) => "Vérifier ${email}"; + static String m63(email) => "Vérifier ${email}"; - static String m61(email) => + static String m64(email) => "Nous avons envoyé un e-mail à ${email}"; - static String m62(count) => + static String m65(count) => "${Intl.plural(count, one: 'il y a ${count} an', other: 'il y a ${count} ans')}"; - static String m63(storageSaved) => + static String m66(storageSaved) => "Vous avez libéré ${storageSaved} avec succès !"; final messages = _notInlinedMessages(_notInlinedMessages); @@ -246,8 +246,8 @@ class MessageLookup extends MessageLookupByLibrary { "addYourPhotosNow": MessageLookupByLibrary.simpleMessage( "Ajoutez vos photos maintenant"), "addedAs": MessageLookupByLibrary.simpleMessage("Ajouté comme"), - "addedBy": m1, - "addedSuccessfullyTo": m2, + "addedBy": m2, + "addedSuccessfullyTo": m3, "addingToFavorites": MessageLookupByLibrary.simpleMessage("Ajout aux favoris..."), "advanced": MessageLookupByLibrary.simpleMessage("Avancé"), @@ -258,7 +258,7 @@ class MessageLookup extends MessageLookupByLibrary { "after1Week": MessageLookupByLibrary.simpleMessage("Après 1 semaine"), "after1Year": MessageLookupByLibrary.simpleMessage("Après 1 an"), "albumOwner": MessageLookupByLibrary.simpleMessage("Propriétaire"), - "albumParticipantsCount": m3, + "albumParticipantsCount": m4, "albumTitle": MessageLookupByLibrary.simpleMessage("Titre de l\'album"), "albumUpdated": MessageLookupByLibrary.simpleMessage("Album mis à jour"), @@ -293,7 +293,7 @@ class MessageLookup extends MessageLookupByLibrary { "Android, iOS, Web, Ordinateur"), "androidSignInTitle": MessageLookupByLibrary.simpleMessage("Authentification requise"), - "appVersion": m4, + "appVersion": m5, "appleId": MessageLookupByLibrary.simpleMessage("Apple ID"), "apply": MessageLookupByLibrary.simpleMessage("Appliquer"), "applyCodeTitle": @@ -383,10 +383,10 @@ class MessageLookup extends MessageLookupByLibrary { "canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage( "Vous ne pouvez supprimer que les fichiers que vous possédez"), "cancel": MessageLookupByLibrary.simpleMessage("Annuler"), - "cancelOtherSubscription": m5, + "cancelOtherSubscription": m6, "cancelSubscription": MessageLookupByLibrary.simpleMessage("Annuler l\'abonnement"), - "cannotAddMorePhotosAfterBecomingViewer": m6, + "cannotAddMorePhotosAfterBecomingViewer": m7, "cannotDeleteSharedFiles": MessageLookupByLibrary.simpleMessage( "Les fichiers partagés ne peuvent pas être supprimés"), "centerPoint": MessageLookupByLibrary.simpleMessage("Point central"), @@ -407,7 +407,7 @@ class MessageLookup extends MessageLookupByLibrary { "Réclamer le stockage gratuit"), "claimMore": MessageLookupByLibrary.simpleMessage("Réclamez plus !"), "claimed": MessageLookupByLibrary.simpleMessage("Réclamée"), - "claimedStorageSoFar": m7, + "claimedStorageSoFar": m8, "clearCaches": MessageLookupByLibrary.simpleMessage("Nettoyer le cache"), "click": MessageLookupByLibrary.simpleMessage("• Click"), @@ -428,7 +428,7 @@ class MessageLookup extends MessageLookupByLibrary { "Créez un lien pour permettre aux gens d\'ajouter et de voir des photos dans votre album partagé sans avoir besoin d\'une application ente ou d\'un compte. Idéal pour collecter des photos d\'événement."), "collaborativeLink": MessageLookupByLibrary.simpleMessage("Lien collaboratif"), - "collaborativeLinkCreatedFor": m8, + "collaborativeLinkCreatedFor": m9, "collaborator": MessageLookupByLibrary.simpleMessage("Collaborateur"), "collaboratorsCanAddPhotosAndVideosToTheSharedAlbum": MessageLookupByLibrary.simpleMessage( @@ -456,10 +456,10 @@ class MessageLookup extends MessageLookupByLibrary { "Confirmer la clé de récupération"), "confirmYourRecoveryKey": MessageLookupByLibrary.simpleMessage( "Confirmer la clé de récupération"), - "contactFamilyAdmin": m9, + "contactFamilyAdmin": m10, "contactSupport": MessageLookupByLibrary.simpleMessage("Contacter l\'assistance"), - "contactToManageSubscription": m10, + "contactToManageSubscription": m11, "contacts": MessageLookupByLibrary.simpleMessage("Contacts"), "contents": MessageLookupByLibrary.simpleMessage("Contenus"), "continueLabel": MessageLookupByLibrary.simpleMessage("Continuer"), @@ -540,12 +540,12 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Supprimer de l\'appareil"), "deleteFromEnte": MessageLookupByLibrary.simpleMessage("Supprimer de ente"), - "deleteItemCount": m11, + "deleteItemCount": m12, "deleteLocation": MessageLookupByLibrary.simpleMessage("Supprimer la localisation"), "deletePhotos": MessageLookupByLibrary.simpleMessage("Supprimer des photos"), - "deleteProgress": m12, + "deleteProgress": m13, "deleteReason1": MessageLookupByLibrary.simpleMessage( "Il manque une fonction clé dont j\'ai besoin"), "deleteReason2": MessageLookupByLibrary.simpleMessage( @@ -578,7 +578,7 @@ class MessageLookup extends MessageLookupByLibrary { "Les téléspectateurs peuvent toujours prendre des captures d\'écran ou enregistrer une copie de vos photos en utilisant des outils externes"), "disableDownloadWarningTitle": MessageLookupByLibrary.simpleMessage("Veuillez remarquer"), - "disableLinkMessage": m13, + "disableLinkMessage": m14, "disableTwofactor": MessageLookupByLibrary.simpleMessage( "Désactiver la double-authentification"), "disablingTwofactorAuthentication": @@ -599,9 +599,9 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Échec du téléchargement"), "downloading": MessageLookupByLibrary.simpleMessage("Téléchargement en cours..."), - "dropSupportEmail": m14, - "duplicateFileCountWithStorageSaved": m15, - "duplicateItemsGroup": m16, + "dropSupportEmail": m15, + "duplicateFileCountWithStorageSaved": m16, + "duplicateItemsGroup": m17, "edit": MessageLookupByLibrary.simpleMessage("Éditer"), "editLocationTagTitle": MessageLookupByLibrary.simpleMessage("Modifier l’emplacement"), @@ -609,8 +609,8 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Modification sauvegardée"), "eligible": MessageLookupByLibrary.simpleMessage("éligible"), "email": MessageLookupByLibrary.simpleMessage("E-mail"), - "emailChangedTo": m17, - "emailNoEnteAccount": m18, + "emailChangedTo": m18, + "emailNoEnteAccount": m19, "emailVerificationToggle": MessageLookupByLibrary.simpleMessage( "Vérification de l\'adresse e-mail"), "emailYourLogs": @@ -709,8 +709,8 @@ class MessageLookup extends MessageLookupByLibrary { "fileTypes": MessageLookupByLibrary.simpleMessage("Types de fichiers"), "fileTypesAndNames": MessageLookupByLibrary.simpleMessage("Types et noms de fichiers"), - "filesBackedUpFromDevice": m19, - "filesBackedUpInAlbum": m20, + "filesBackedUpFromDevice": m20, + "filesBackedUpInAlbum": m21, "filesDeleted": MessageLookupByLibrary.simpleMessage("Fichiers supprimés"), "flip": MessageLookupByLibrary.simpleMessage("Retourner"), @@ -720,19 +720,19 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Mot de passe oublié"), "freeStorageClaimed": MessageLookupByLibrary.simpleMessage("Stockage gratuit réclamé"), - "freeStorageOnReferralSuccess": m21, - "freeStorageSpace": m22, + "freeStorageOnReferralSuccess": m22, + "freeStorageSpace": m23, "freeStorageUsable": MessageLookupByLibrary.simpleMessage("Stockage gratuit utilisable"), "freeTrial": MessageLookupByLibrary.simpleMessage("Essai gratuit"), - "freeTrialValidTill": m23, - "freeUpAccessPostDelete": m24, - "freeUpAmount": m25, + "freeTrialValidTill": m24, + "freeUpAccessPostDelete": m25, + "freeUpAmount": m26, "freeUpDeviceSpace": MessageLookupByLibrary.simpleMessage( "Libérer de l\'espace sur l\'appareil"), "freeUpSpace": MessageLookupByLibrary.simpleMessage("Libérer de l\'espace"), - "freeUpSpaceSaving": m26, + "freeUpSpaceSaving": m27, "galleryMemoryLimitInfo": MessageLookupByLibrary.simpleMessage( "Jusqu\'à 1000 souvenirs affichés dans la galerie"), "general": MessageLookupByLibrary.simpleMessage("Général"), @@ -799,7 +799,7 @@ class MessageLookup extends MessageLookupByLibrary { "itLooksLikeSomethingWentWrongPleaseRetryAfterSome": MessageLookupByLibrary.simpleMessage( "Il semble qu\'une erreur s\'est produite. Veuillez réessayer après un certain temps. Si l\'erreur persiste, veuillez contacter notre équipe d\'assistance."), - "itemCount": m27, + "itemCount": m28, "itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion": MessageLookupByLibrary.simpleMessage( "Les éléments montrent le nombre de jours restants avant la suppression définitive"), @@ -827,7 +827,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Limite d\'appareil"), "linkEnabled": MessageLookupByLibrary.simpleMessage("Activé"), "linkExpired": MessageLookupByLibrary.simpleMessage("Expiré"), - "linkExpiresOn": m28, + "linkExpiresOn": m29, "linkExpiry": MessageLookupByLibrary.simpleMessage("Expiration du lien"), "linkHasExpired": @@ -892,7 +892,7 @@ class MessageLookup extends MessageLookupByLibrary { "maps": MessageLookupByLibrary.simpleMessage("Cartes"), "mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"), "matrix": MessageLookupByLibrary.simpleMessage("Matrix"), - "memoryCount": m29, + "memoryCount": m30, "merchandise": MessageLookupByLibrary.simpleMessage("Marchandise"), "mobileWebDesktop": MessageLookupByLibrary.simpleMessage("Mobile, Web, Ordinateur"), @@ -903,12 +903,12 @@ class MessageLookup extends MessageLookupByLibrary { "Modifiez votre requête, ou essayez de rechercher"), "moments": MessageLookupByLibrary.simpleMessage("Souvenirs"), "monthly": MessageLookupByLibrary.simpleMessage("Mensuel"), - "moveItem": m30, + "moveItem": m31, "moveToAlbum": MessageLookupByLibrary.simpleMessage("Déplacer vers l\'album"), "moveToHiddenAlbum": MessageLookupByLibrary.simpleMessage( "Déplacer vers un album masqué"), - "movedSuccessfullyTo": m31, + "movedSuccessfullyTo": m32, "movedToTrash": MessageLookupByLibrary.simpleMessage("Déplacé dans la corbeille"), "movingFilesToAlbum": MessageLookupByLibrary.simpleMessage( @@ -972,15 +972,15 @@ class MessageLookup extends MessageLookupByLibrary { "Le mot de passe a été modifié"), "passwordLock": MessageLookupByLibrary.simpleMessage("Mot de passe verrou"), - "passwordStrength": m32, + "passwordStrength": m33, "passwordWarning": MessageLookupByLibrary.simpleMessage( "Nous ne stockons pas ce mot de passe, donc si vous l\'oubliez, nous ne pouvons pas déchiffrer vos données"), "paymentDetails": MessageLookupByLibrary.simpleMessage("Détails de paiement"), "paymentFailed": MessageLookupByLibrary.simpleMessage("Échec du paiement"), - "paymentFailedTalkToProvider": m33, - "paymentFailedWithReason": m34, + "paymentFailedTalkToProvider": m34, + "paymentFailedWithReason": m35, "pendingSync": MessageLookupByLibrary.simpleMessage("Synchronisation en attente"), "peopleUsingYourCode": MessageLookupByLibrary.simpleMessage( @@ -1003,7 +1003,7 @@ class MessageLookup extends MessageLookupByLibrary { "pickCenterPoint": MessageLookupByLibrary.simpleMessage( "Sélectionner le point central"), "pinAlbum": MessageLookupByLibrary.simpleMessage("Épingler l\'album"), - "playStoreFreeTrialValidTill": m35, + "playStoreFreeTrialValidTill": m36, "playstoreSubscription": MessageLookupByLibrary.simpleMessage("Abonnement au PlayStore"), "pleaseContactSupportAndWeWillBeHappyToHelp": @@ -1012,12 +1012,12 @@ class MessageLookup extends MessageLookupByLibrary { "pleaseContactSupportIfTheProblemPersists": MessageLookupByLibrary.simpleMessage( "Merci de contacter l\'assistance si cette erreur persiste"), - "pleaseEmailUsAt": m36, + "pleaseEmailUsAt": m37, "pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage( "Veuillez accorder la permission"), "pleaseLoginAgain": MessageLookupByLibrary.simpleMessage("Veuillez vous reconnecter"), - "pleaseSendTheLogsTo": m37, + "pleaseSendTheLogsTo": m38, "pleaseTryAgain": MessageLookupByLibrary.simpleMessage("Veuillez réessayer"), "pleaseVerifyTheCodeYouHaveEntered": @@ -1053,7 +1053,7 @@ class MessageLookup extends MessageLookupByLibrary { "rateTheApp": MessageLookupByLibrary.simpleMessage("Évaluer l\'application"), "rateUs": MessageLookupByLibrary.simpleMessage("Évaluez-nous"), - "rateUsOnStore": m38, + "rateUsOnStore": m39, "recover": MessageLookupByLibrary.simpleMessage("Récupérer"), "recoverAccount": MessageLookupByLibrary.simpleMessage("Récupérer un compte"), @@ -1084,7 +1084,7 @@ class MessageLookup extends MessageLookupByLibrary { "1. Donnez ce code à vos amis"), "referralStep2": MessageLookupByLibrary.simpleMessage( "2. Ils s\'inscrivent à une offre payante"), - "referralStep3": m39, + "referralStep3": m40, "referrals": MessageLookupByLibrary.simpleMessage("Parrainages"), "referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage( "Les recommandations sont actuellement en pause"), @@ -1110,7 +1110,7 @@ class MessageLookup extends MessageLookupByLibrary { "removeLink": MessageLookupByLibrary.simpleMessage("Supprimer le lien"), "removeParticipant": MessageLookupByLibrary.simpleMessage("Supprimer le participant"), - "removeParticipantBody": m40, + "removeParticipantBody": m41, "removePublicLink": MessageLookupByLibrary.simpleMessage("Supprimer le lien public"), "removeShareItemsWarning": MessageLookupByLibrary.simpleMessage( @@ -1126,7 +1126,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Renommer le fichier"), "renewSubscription": MessageLookupByLibrary.simpleMessage("Renouveler l’abonnement"), - "renewsOn": m41, + "renewsOn": m42, "reportABug": MessageLookupByLibrary.simpleMessage("Signaler un bug"), "reportBug": MessageLookupByLibrary.simpleMessage("Signaler un bug"), "resendEmail": @@ -1193,7 +1193,7 @@ class MessageLookup extends MessageLookupByLibrary { "Grouper les photos qui sont prises dans un certain angle d\'une photo"), "searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage( "Invitez des gens, et vous verrez ici toutes les photos qu\'ils partagent"), - "searchResultCount": m65, + "searchResultCount": m43, "security": MessageLookupByLibrary.simpleMessage("Sécurité"), "selectAlbum": MessageLookupByLibrary.simpleMessage("Sélectionner album"), @@ -1218,8 +1218,8 @@ class MessageLookup extends MessageLookupByLibrary { "selectedItemsWillBeDeletedFromAllAlbumsAndMoved": MessageLookupByLibrary.simpleMessage( "Les éléments sélectionnés seront supprimés de tous les albums et déplacés dans la corbeille."), - "selectedPhotos": m42, - "selectedPhotosWithYours": m43, + "selectedPhotos": m44, + "selectedPhotosWithYours": m45, "send": MessageLookupByLibrary.simpleMessage("Envoyer"), "sendEmail": MessageLookupByLibrary.simpleMessage("Envoyer un e-mail"), "sendInvite": @@ -1245,16 +1245,16 @@ class MessageLookup extends MessageLookupByLibrary { "shareAnAlbumNow": MessageLookupByLibrary.simpleMessage( "Partagez un album maintenant"), "shareLink": MessageLookupByLibrary.simpleMessage("Partager le lien"), - "shareMyVerificationID": m44, + "shareMyVerificationID": m46, "shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage( "Partager uniquement avec les personnes que vous voulez"), - "shareTextConfirmOthersVerificationID": m45, + "shareTextConfirmOthersVerificationID": m47, "shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage( "Téléchargez ente pour que nous puissions facilement partager des photos et des vidéos de qualité originale\n\nhttps://ente.io"), - "shareTextReferralCode": m46, + "shareTextReferralCode": m48, "shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage( "Partager avec des utilisateurs non-ente"), - "shareWithPeopleSectionTitle": m47, + "shareWithPeopleSectionTitle": m49, "shareYourFirstAlbum": MessageLookupByLibrary.simpleMessage( "Partagez votre premier album"), "sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage( @@ -1265,7 +1265,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Nouvelles photos partagées"), "sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage( "Recevoir des notifications quand quelqu\'un ajoute une photo à un album partagé dont vous faites partie"), - "sharedWith": m48, + "sharedWith": m50, "sharedWithMe": MessageLookupByLibrary.simpleMessage("Partagés avec moi"), "sharedWithYou": @@ -1275,11 +1275,11 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Montrer les souvenirs"), "signUpTerms": MessageLookupByLibrary.simpleMessage( "J\'accepte les conditions d\'utilisation et la politique de confidentialité"), - "singleFileDeleteFromDevice": m49, + "singleFileDeleteFromDevice": m51, "singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage( "Elle sera supprimée de tous les albums."), - "singleFileInBothLocalAndRemote": m50, - "singleFileInRemoteOnly": m51, + "singleFileInBothLocalAndRemote": m52, + "singleFileInRemoteOnly": m53, "skip": MessageLookupByLibrary.simpleMessage("Ignorer"), "social": MessageLookupByLibrary.simpleMessage("Réseaux Sociaux"), "someItemsAreInBothEnteAndYourDevice": @@ -1319,14 +1319,14 @@ class MessageLookup extends MessageLookupByLibrary { "storage": MessageLookupByLibrary.simpleMessage("Stockage"), "storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Famille"), "storageBreakupYou": MessageLookupByLibrary.simpleMessage("Vous"), - "storageInGB": m52, + "storageInGB": m54, "storageLimitExceeded": MessageLookupByLibrary.simpleMessage("Limite de stockage atteinte"), - "storageUsageInfo": m53, + "storageUsageInfo": m55, "strongStrength": MessageLookupByLibrary.simpleMessage("Securité forte"), - "subAlreadyLinkedErrMessage": m54, - "subWillBeCancelledOn": m55, + "subAlreadyLinkedErrMessage": m56, + "subWillBeCancelledOn": m57, "subscribe": MessageLookupByLibrary.simpleMessage("S\'abonner"), "subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage( "Il semble que votre abonnement ait expiré. Veuillez vous abonner pour activer le partage."), @@ -1343,7 +1343,7 @@ class MessageLookup extends MessageLookupByLibrary { "suggestFeatures": MessageLookupByLibrary.simpleMessage( "Suggérer des fonctionnalités"), "support": MessageLookupByLibrary.simpleMessage("Support"), - "syncProgress": m56, + "syncProgress": m58, "syncStopped": MessageLookupByLibrary.simpleMessage("Synchronisation arrêtée ?"), "syncing": MessageLookupByLibrary.simpleMessage( @@ -1372,7 +1372,7 @@ class MessageLookup extends MessageLookupByLibrary { "theseItemsWillBeDeletedFromYourDevice": MessageLookupByLibrary.simpleMessage( "Ces éléments seront supprimés de votre appareil."), - "theyAlsoGetXGb": m57, + "theyAlsoGetXGb": m59, "theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage( "Ils seront supprimés de tous les albums."), "thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage( @@ -1388,7 +1388,7 @@ class MessageLookup extends MessageLookupByLibrary { "Cette adresse mail est déjà utilisé"), "thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage( "Cette image n\'a pas de données exif"), - "thisIsPersonVerificationId": m58, + "thisIsPersonVerificationId": m60, "thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage( "Ceci est votre ID de vérification"), "thisWillLogYouOutOfTheFollowingDevice": @@ -1404,7 +1404,7 @@ class MessageLookup extends MessageLookupByLibrary { "total": MessageLookupByLibrary.simpleMessage("total"), "totalSize": MessageLookupByLibrary.simpleMessage("Taille totale"), "trash": MessageLookupByLibrary.simpleMessage("Corbeille"), - "trashDaysLeft": m59, + "trashDaysLeft": m61, "tryAgain": MessageLookupByLibrary.simpleMessage("Réessayer"), "turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage( "Activez la sauvegarde pour télécharger automatiquement les fichiers ajoutés à ce dossier de l\'appareil sur ente."), @@ -1462,7 +1462,7 @@ class MessageLookup extends MessageLookupByLibrary { "useSelectedPhoto": MessageLookupByLibrary.simpleMessage( "Utiliser la photo sélectionnée"), "usedSpace": MessageLookupByLibrary.simpleMessage("Mémoire utilisée"), - "validTill": m66, + "validTill": m62, "verificationFailedPleaseTryAgain": MessageLookupByLibrary.simpleMessage( "La vérification a échouée, veuillez réessayer"), @@ -1471,7 +1471,7 @@ class MessageLookup extends MessageLookupByLibrary { "verify": MessageLookupByLibrary.simpleMessage("Vérifier"), "verifyEmail": MessageLookupByLibrary.simpleMessage("Vérifier l\'email"), - "verifyEmailID": m60, + "verifyEmailID": m63, "verifyIDLabel": MessageLookupByLibrary.simpleMessage("Vérifier"), "verifyPassword": MessageLookupByLibrary.simpleMessage("Vérifier le mot de passe"), @@ -1500,11 +1500,11 @@ class MessageLookup extends MessageLookupByLibrary { "weDontSupportEditingPhotosAndAlbumsThatYouDont": MessageLookupByLibrary.simpleMessage( "Nous ne prenons pas en charge l\'édition des photos et des albums que vous ne possédez pas encore"), - "weHaveSendEmailTo": m61, + "weHaveSendEmailTo": m64, "weakStrength": MessageLookupByLibrary.simpleMessage("Securité Faible"), "welcomeBack": MessageLookupByLibrary.simpleMessage("Bienvenue !"), "yearly": MessageLookupByLibrary.simpleMessage("Annuel"), - "yearsAgo": m62, + "yearsAgo": m65, "yes": MessageLookupByLibrary.simpleMessage("Oui"), "yesCancel": MessageLookupByLibrary.simpleMessage("Oui, annuler"), "yesConvertToViewer": MessageLookupByLibrary.simpleMessage( @@ -1535,7 +1535,7 @@ class MessageLookup extends MessageLookupByLibrary { "Vous ne pouvez pas partager avec vous-même"), "youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage( "Vous n\'avez aucun élément archivé."), - "youHaveSuccessfullyFreedUp": m63, + "youHaveSuccessfullyFreedUp": m66, "yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage("Votre compte a été supprimé"), "yourMap": MessageLookupByLibrary.simpleMessage("Votre carte"), diff --git a/lib/generated/intl/messages_it.dart b/lib/generated/intl/messages_it.dart index 0801ca05a..558581fc1 100644 --- a/lib/generated/intl/messages_it.dart +++ b/lib/generated/intl/messages_it.dart @@ -23,22 +23,22 @@ class MessageLookup extends MessageLookupByLibrary { static String m0(count) => "${Intl.plural(count, one: 'Aggiungi elemento', other: 'Aggiungi elementi')}"; - static String m1(emailOrName) => "Aggiunto da ${emailOrName}"; + static String m2(emailOrName) => "Aggiunto da ${emailOrName}"; - static String m2(albumName) => "Aggiunto con successo su ${albumName}"; + static String m3(albumName) => "Aggiunto con successo su ${albumName}"; - static String m3(count) => + static String m4(count) => "${Intl.plural(count, zero: 'Nessun partecipante', one: '1 Partecipante', other: '${count} Partecipanti')}"; - static String m4(versionValue) => "Versione: ${versionValue}"; + static String m5(versionValue) => "Versione: ${versionValue}"; - static String m5(paymentProvider) => + static String m6(paymentProvider) => "Annulla prima il tuo abbonamento esistente da ${paymentProvider}"; - static String m6(user) => + static String m7(user) => "${user} non sarà più in grado di aggiungere altre foto a questo album\n\nSarà ancora in grado di rimuovere le foto esistenti aggiunte da lui o lei"; - static String m7(isFamilyMember, storageAmountInGb) => + static String m8(isFamilyMember, storageAmountInGb) => "${Intl.select(isFamilyMember, { 'true': 'Il tuo piano famiglia ha già richiesto ${storageAmountInGb} GB finora', @@ -46,158 +46,158 @@ class MessageLookup extends MessageLookupByLibrary { 'other': 'Hai già richiesto ${storageAmountInGb} GB finora!', })}"; - static String m8(albumName) => "Link collaborativo creato per ${albumName}"; + static String m9(albumName) => "Link collaborativo creato per ${albumName}"; - static String m9(familyAdminEmail) => + static String m10(familyAdminEmail) => "Contatta ${familyAdminEmail} per gestire il tuo abbonamento"; - static String m10(provider) => + static String m11(provider) => "Scrivi all\'indirizzo support@ente.io per gestire il tuo abbonamento ${provider}."; - static String m11(count) => + static String m12(count) => "${Intl.plural(count, one: 'Elimina ${count} elemento', other: 'Elimina ${count} elementi')}"; - static String m12(currentlyDeleting, totalCount) => + static String m13(currentlyDeleting, totalCount) => "Eliminazione di ${currentlyDeleting} / ${totalCount}"; - static String m13(albumName) => + static String m14(albumName) => "Questo rimuoverà il link pubblico per accedere a \"${albumName}\"."; - static String m14(supportEmail) => + static String m15(supportEmail) => "Per favore invia un\'email a ${supportEmail} dall\'indirizzo email con cui ti sei registrato"; - static String m15(count, storageSaved) => + static String m16(count, storageSaved) => "Hai ripulito ${Intl.plural(count, one: '${count} doppione', other: '${count} doppioni')}, salvando (${storageSaved}!)"; - static String m16(count, formattedSize) => + static String m17(count, formattedSize) => "${count} file, ${formattedSize} l\'uno"; - static String m17(newEmail) => "Email cambiata in ${newEmail}"; + static String m18(newEmail) => "Email cambiata in ${newEmail}"; - static String m18(email) => + static String m19(email) => "${email} non ha un account su ente.\n\nInvia un invito per condividere foto."; - static String m19(count, formattedNumber) => + static String m20(count, formattedNumber) => "${Intl.plural(count, one: '1 file', other: '${formattedNumber} file')} di quest\'album sono stati salvati in modo sicuro"; - static String m20(count, formattedNumber) => + static String m21(count, formattedNumber) => "${Intl.plural(count, one: '1 file', other: '${formattedNumber} file')} di quest\'album sono stati salvati in modo sicuro"; - static String m21(storageAmountInGB) => + static String m22(storageAmountInGB) => "${storageAmountInGB} GB ogni volta che qualcuno si iscrive a un piano a pagamento e applica il tuo codice"; - static String m22(freeAmount, storageUnit) => + static String m23(freeAmount, storageUnit) => "${freeAmount} ${storageUnit} liberi"; - static String m23(endDate) => "La prova gratuita termina il ${endDate}"; + static String m24(endDate) => "La prova gratuita termina il ${endDate}"; - static String m24(count) => + static String m25(count) => "Puoi ancora accedere a ${Intl.plural(count, one: '', other: 'loro')} su ente finché hai un abbonamento attivo"; - static String m25(sizeInMBorGB) => "Libera ${sizeInMBorGB}"; + static String m26(sizeInMBorGB) => "Libera ${sizeInMBorGB}"; - static String m26(count, formattedSize) => + static String m27(count, formattedSize) => "${Intl.plural(count, one: 'Può essere cancellata per liberare ${formattedSize}', other: 'Possono essere cancellati per liberare ${formattedSize}')}"; - static String m27(count) => + static String m28(count) => "${Intl.plural(count, one: '${count} elemento', other: '${count} elementi')}"; - static String m28(expiryTime) => "Il link scadrà il ${expiryTime}"; + static String m29(expiryTime) => "Il link scadrà il ${expiryTime}"; - static String m29(count, formattedCount) => + static String m30(count, formattedCount) => "${Intl.plural(count, one: '${formattedCount} ricordo', other: '${formattedCount} ricordi')}"; - static String m30(count) => + static String m31(count) => "${Intl.plural(count, one: 'Sposta elemento', other: 'Sposta elementi')}"; - static String m31(albumName) => "Spostato con successo su ${albumName}"; + static String m32(albumName) => "Spostato con successo su ${albumName}"; - static String m32(passwordStrengthValue) => + static String m33(passwordStrengthValue) => "Sicurezza password: ${passwordStrengthValue}"; - static String m33(providerName) => + static String m34(providerName) => "Si prega di parlare con il supporto di ${providerName} se ti è stato addebitato qualcosa"; - static String m34(reason) => + static String m35(reason) => "Purtroppo il tuo pagamento non è riuscito a causa di ${reason}"; - static String m35(endDate) => + static String m36(endDate) => "Prova gratuita valida fino al ${endDate}.\nPuoi scegliere un piano a pagamento in seguito."; - static String m36(toEmail) => "Per favore invia un\'email a ${toEmail}"; + static String m37(toEmail) => "Per favore invia un\'email a ${toEmail}"; - static String m37(toEmail) => "Invia i log a \n${toEmail}"; + static String m38(toEmail) => "Invia i log a \n${toEmail}"; - static String m38(storeName) => "Valutaci su ${storeName}"; + static String m39(storeName) => "Valutaci su ${storeName}"; - static String m39(storageInGB) => + static String m40(storageInGB) => "3. Ottenete entrambi ${storageInGB} GB* gratis"; - static String m40(userEmail) => + static String m41(userEmail) => "${userEmail} verrà rimosso da questo album condiviso\n\nQualsiasi foto aggiunta dall\'utente verrà rimossa dall\'album"; - static String m41(endDate) => "Si rinnova il ${endDate}"; + static String m42(endDate) => "Si rinnova il ${endDate}"; - static String m42(count) => "${count} selezionati"; + static String m44(count) => "${count} selezionati"; - static String m43(count, yourCount) => + static String m45(count, yourCount) => "${count} selezionato (${yourCount} tuoi)"; - static String m44(verificationID) => + static String m46(verificationID) => "Ecco il mio ID di verifica: ${verificationID} per ente.io."; - static String m45(verificationID) => + static String m47(verificationID) => "Hey, puoi confermare che questo è il tuo ID di verifica: ${verificationID} su ente.io"; - static String m46(referralCode, referralStorageInGB) => + static String m48(referralCode, referralStorageInGB) => "ente referral code: ${referralCode} \n\nApplicalo in Impostazioni → Generale → Referral per ottenere ${referralStorageInGB} GB gratis dopo la registrazione di un piano a pagamento\n\nhttps://ente.io"; - static String m47(numberOfPeople) => + static String m49(numberOfPeople) => "${Intl.plural(numberOfPeople, zero: 'Condividi con persone specifiche', one: 'Condividi con una persona', other: 'Condividi con ${numberOfPeople} persone')}"; - static String m48(emailIDs) => "Condiviso con ${emailIDs}"; + static String m50(emailIDs) => "Condiviso con ${emailIDs}"; - static String m49(fileType) => + static String m51(fileType) => "Questo ${fileType} verrà eliminato dal tuo dispositivo."; - static String m50(fileType) => + static String m52(fileType) => "Questo ${fileType} è sia su ente che sul tuo dispositivo."; - static String m51(fileType) => "Questo ${fileType} verrà eliminato su ente."; + static String m53(fileType) => "Questo ${fileType} verrà eliminato su ente."; - static String m52(storageAmountInGB) => "${storageAmountInGB} GB"; + static String m54(storageAmountInGB) => "${storageAmountInGB} GB"; - static String m53( + static String m55( usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) => "${usedAmount} ${usedStorageUnit} di ${totalAmount} ${totalStorageUnit} utilizzati"; - static String m54(id) => + static String m56(id) => "Il tuo ${id} è già collegato ad un altro account ente.\nSe desideri utilizzare il tuo ${id} con questo account, contatta il nostro supporto\'\'"; - static String m55(endDate) => "L\'abbonamento verrà cancellato il ${endDate}"; + static String m57(endDate) => "L\'abbonamento verrà cancellato il ${endDate}"; - static String m56(completed, total) => + static String m58(completed, total) => "${completed}/${total} ricordi conservati"; - static String m57(storageAmountInGB) => + static String m59(storageAmountInGB) => "Anche loro riceveranno ${storageAmountInGB} GB"; - static String m58(email) => "Questo è l\'ID di verifica di ${email}"; + static String m60(email) => "Questo è l\'ID di verifica di ${email}"; - static String m59(count) => + static String m61(count) => "${Intl.plural(count, zero: '', one: '1 giorno', other: '${count} giorni')}"; - static String m66(endDate) => "Valido fino al ${endDate}"; + static String m62(endDate) => "Valido fino al ${endDate}"; - static String m60(email) => "Verifica ${email}"; + static String m63(email) => "Verifica ${email}"; - static String m61(email) => + static String m64(email) => "Abbiamo inviato una mail a ${email}"; - static String m62(count) => + static String m65(count) => "${Intl.plural(count, one: '${count} anno fa', other: '${count} anni fa')}"; - static String m63(storageSaved) => + static String m66(storageSaved) => "Hai liberato con successo ${storageSaved}!"; final messages = _notInlinedMessages(_notInlinedMessages); @@ -236,8 +236,8 @@ class MessageLookup extends MessageLookupByLibrary { "addViewer": MessageLookupByLibrary.simpleMessage("Aggiungi in sola lettura"), "addedAs": MessageLookupByLibrary.simpleMessage("Aggiunto come"), - "addedBy": m1, - "addedSuccessfullyTo": m2, + "addedBy": m2, + "addedSuccessfullyTo": m3, "addingToFavorites": MessageLookupByLibrary.simpleMessage("Aggiunto ai preferiti..."), "advanced": MessageLookupByLibrary.simpleMessage("Avanzate"), @@ -249,7 +249,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Dopo una settimana"), "after1Year": MessageLookupByLibrary.simpleMessage("Dopo un anno"), "albumOwner": MessageLookupByLibrary.simpleMessage("Proprietario"), - "albumParticipantsCount": m3, + "albumParticipantsCount": m4, "albumTitle": MessageLookupByLibrary.simpleMessage("Titolo album"), "albumUpdated": MessageLookupByLibrary.simpleMessage("Album aggiornato"), @@ -286,7 +286,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Android, iOS, Web, Desktop"), "androidSignInTitle": MessageLookupByLibrary.simpleMessage("Autenticazione necessaria"), - "appVersion": m4, + "appVersion": m5, "appleId": MessageLookupByLibrary.simpleMessage("Apple ID"), "apply": MessageLookupByLibrary.simpleMessage("Applica"), "applyCodeTitle": @@ -370,10 +370,10 @@ class MessageLookup extends MessageLookupByLibrary { "canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage( "Puoi rimuovere solo i file di tua proprietà"), "cancel": MessageLookupByLibrary.simpleMessage("Annulla"), - "cancelOtherSubscription": m5, + "cancelOtherSubscription": m6, "cancelSubscription": MessageLookupByLibrary.simpleMessage("Annulla abbonamento"), - "cannotAddMorePhotosAfterBecomingViewer": m6, + "cannotAddMorePhotosAfterBecomingViewer": m7, "cannotDeleteSharedFiles": MessageLookupByLibrary.simpleMessage( "Impossibile eliminare i file condivisi"), "centerPoint": MessageLookupByLibrary.simpleMessage("Punto centrale"), @@ -394,7 +394,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Richiedi spazio gratuito"), "claimMore": MessageLookupByLibrary.simpleMessage("Richiedine di più!"), "claimed": MessageLookupByLibrary.simpleMessage("Riscattato"), - "claimedStorageSoFar": m7, + "claimedStorageSoFar": m8, "clearCaches": MessageLookupByLibrary.simpleMessage("Svuota cache"), "click": MessageLookupByLibrary.simpleMessage("• Clic"), "clickOnTheOverflowMenu": @@ -414,7 +414,7 @@ class MessageLookup extends MessageLookupByLibrary { "Crea un link per consentire alle persone di aggiungere e visualizzare foto nel tuo album condiviso senza bisogno di un\'applicazione o di un account ente. Ottimo per raccogliere foto di un evento."), "collaborativeLink": MessageLookupByLibrary.simpleMessage("Link collaborativo"), - "collaborativeLinkCreatedFor": m8, + "collaborativeLinkCreatedFor": m9, "collaborator": MessageLookupByLibrary.simpleMessage("Collaboratore"), "collaboratorsCanAddPhotosAndVideosToTheSharedAlbum": MessageLookupByLibrary.simpleMessage( @@ -442,10 +442,10 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Conferma chiave di recupero"), "confirmYourRecoveryKey": MessageLookupByLibrary.simpleMessage( "Conferma la tua chiave di recupero"), - "contactFamilyAdmin": m9, + "contactFamilyAdmin": m10, "contactSupport": MessageLookupByLibrary.simpleMessage("Contatta il supporto"), - "contactToManageSubscription": m10, + "contactToManageSubscription": m11, "contacts": MessageLookupByLibrary.simpleMessage("Contacts"), "continueLabel": MessageLookupByLibrary.simpleMessage("Continua"), "continueOnFreeTrial": @@ -521,11 +521,11 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Elimina dal dispositivo"), "deleteFromEnte": MessageLookupByLibrary.simpleMessage("Elimina da ente"), - "deleteItemCount": m11, + "deleteItemCount": m12, "deleteLocation": MessageLookupByLibrary.simpleMessage("Elimina posizione"), "deletePhotos": MessageLookupByLibrary.simpleMessage("Elimina foto"), - "deleteProgress": m12, + "deleteProgress": m13, "deleteReason1": MessageLookupByLibrary.simpleMessage( "Manca una caratteristica chiave di cui ho bisogno"), "deleteReason2": MessageLookupByLibrary.simpleMessage( @@ -558,7 +558,7 @@ class MessageLookup extends MessageLookupByLibrary { "I visualizzatori possono scattare screenshot o salvare una copia delle foto utilizzando strumenti esterni"), "disableDownloadWarningTitle": MessageLookupByLibrary.simpleMessage("Nota bene"), - "disableLinkMessage": m13, + "disableLinkMessage": m14, "disableTwofactor": MessageLookupByLibrary.simpleMessage( "Disabilita autenticazione a due fattori"), "disablingTwofactorAuthentication": @@ -579,17 +579,17 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Scaricamento fallito"), "downloading": MessageLookupByLibrary.simpleMessage("Scaricamento in corso..."), - "dropSupportEmail": m14, - "duplicateFileCountWithStorageSaved": m15, - "duplicateItemsGroup": m16, + "dropSupportEmail": m15, + "duplicateFileCountWithStorageSaved": m16, + "duplicateItemsGroup": m17, "edit": MessageLookupByLibrary.simpleMessage("Modifica"), "editLocationTagTitle": MessageLookupByLibrary.simpleMessage("Modifica luogo"), "editsSaved": MessageLookupByLibrary.simpleMessage("Modifiche salvate"), "eligible": MessageLookupByLibrary.simpleMessage("idoneo"), "email": MessageLookupByLibrary.simpleMessage("Email"), - "emailChangedTo": m17, - "emailNoEnteAccount": m18, + "emailChangedTo": m18, + "emailNoEnteAccount": m19, "emailVerificationToggle": MessageLookupByLibrary.simpleMessage("Verifica Email"), "emailYourLogs": MessageLookupByLibrary.simpleMessage( @@ -682,8 +682,8 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Aggiungi descrizione..."), "fileSavedToGallery": MessageLookupByLibrary.simpleMessage("File salvato nella galleria"), - "filesBackedUpFromDevice": m19, - "filesBackedUpInAlbum": m20, + "filesBackedUpFromDevice": m20, + "filesBackedUpInAlbum": m21, "filesDeleted": MessageLookupByLibrary.simpleMessage("File eliminati"), "flip": MessageLookupByLibrary.simpleMessage("Capovolgi"), "forYourMemories": @@ -692,18 +692,18 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Password dimenticata"), "freeStorageClaimed": MessageLookupByLibrary.simpleMessage("Spazio gratuito richiesto"), - "freeStorageOnReferralSuccess": m21, - "freeStorageSpace": m22, + "freeStorageOnReferralSuccess": m22, + "freeStorageSpace": m23, "freeStorageUsable": MessageLookupByLibrary.simpleMessage("Spazio libero utilizzabile"), "freeTrial": MessageLookupByLibrary.simpleMessage("Prova gratuita"), - "freeTrialValidTill": m23, - "freeUpAccessPostDelete": m24, - "freeUpAmount": m25, + "freeTrialValidTill": m24, + "freeUpAccessPostDelete": m25, + "freeUpAmount": m26, "freeUpDeviceSpace": MessageLookupByLibrary.simpleMessage("Libera spazio"), "freeUpSpace": MessageLookupByLibrary.simpleMessage("Libera spazio"), - "freeUpSpaceSaving": m26, + "freeUpSpaceSaving": m27, "galleryMemoryLimitInfo": MessageLookupByLibrary.simpleMessage( "Fino a 1000 ricordi mostrati nella galleria"), "general": MessageLookupByLibrary.simpleMessage("Generali"), @@ -768,7 +768,7 @@ class MessageLookup extends MessageLookupByLibrary { "itLooksLikeSomethingWentWrongPleaseRetryAfterSome": MessageLookupByLibrary.simpleMessage( "Sembra che qualcosa sia andato storto. Riprova tra un po\'. Se l\'errore persiste, contatta il nostro team di supporto."), - "itemCount": m27, + "itemCount": m28, "itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion": MessageLookupByLibrary.simpleMessage( "Gli elementi mostrano il numero di giorni rimanenti prima della cancellazione permanente"), @@ -796,7 +796,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Limite dei dispositivi"), "linkEnabled": MessageLookupByLibrary.simpleMessage("Attivato"), "linkExpired": MessageLookupByLibrary.simpleMessage("Scaduto"), - "linkExpiresOn": m28, + "linkExpiresOn": m29, "linkExpiry": MessageLookupByLibrary.simpleMessage("Scadenza del link"), "linkHasExpired": MessageLookupByLibrary.simpleMessage("Il link è scaduto"), @@ -861,7 +861,7 @@ class MessageLookup extends MessageLookupByLibrary { "maps": MessageLookupByLibrary.simpleMessage("Mappe"), "mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"), "matrix": MessageLookupByLibrary.simpleMessage("Matrix"), - "memoryCount": m29, + "memoryCount": m30, "merchandise": MessageLookupByLibrary.simpleMessage("Merchandise"), "mobileWebDesktop": MessageLookupByLibrary.simpleMessage("Mobile, Web, Desktop"), @@ -870,12 +870,12 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage( "Modify your query, or try searching for"), "monthly": MessageLookupByLibrary.simpleMessage("Mensile"), - "moveItem": m30, + "moveItem": m31, "moveToAlbum": MessageLookupByLibrary.simpleMessage("Sposta nell\'album"), "moveToHiddenAlbum": MessageLookupByLibrary.simpleMessage("Sposta in album nascosto"), - "movedSuccessfullyTo": m31, + "movedSuccessfullyTo": m32, "movedToTrash": MessageLookupByLibrary.simpleMessage("Spostato nel cestino"), "movingFilesToAlbum": MessageLookupByLibrary.simpleMessage( @@ -939,15 +939,15 @@ class MessageLookup extends MessageLookupByLibrary { "Password modificata con successo"), "passwordLock": MessageLookupByLibrary.simpleMessage("Blocco con password"), - "passwordStrength": m32, + "passwordStrength": m33, "passwordWarning": MessageLookupByLibrary.simpleMessage( "Noi non memorizziamo la tua password, quindi se te la dimentichi, non possiamo decriptare i tuoi dati"), "paymentDetails": MessageLookupByLibrary.simpleMessage("Dettagli di Pagamento"), "paymentFailed": MessageLookupByLibrary.simpleMessage("Pagamento non riuscito"), - "paymentFailedTalkToProvider": m33, - "paymentFailedWithReason": m34, + "paymentFailedTalkToProvider": m34, + "paymentFailedWithReason": m35, "pendingSync": MessageLookupByLibrary.simpleMessage("Sincronizzazione in sospeso"), "peopleUsingYourCode": MessageLookupByLibrary.simpleMessage( @@ -967,7 +967,7 @@ class MessageLookup extends MessageLookupByLibrary { "pickCenterPoint": MessageLookupByLibrary.simpleMessage( "Selezionare il punto centrale"), "pinAlbum": MessageLookupByLibrary.simpleMessage("Fissa l\'album"), - "playStoreFreeTrialValidTill": m35, + "playStoreFreeTrialValidTill": m36, "playstoreSubscription": MessageLookupByLibrary.simpleMessage("Abbonamento su PlayStore"), "pleaseContactSupportAndWeWillBeHappyToHelp": @@ -976,12 +976,12 @@ class MessageLookup extends MessageLookupByLibrary { "pleaseContactSupportIfTheProblemPersists": MessageLookupByLibrary.simpleMessage( "Riprova. Se il problema persiste, ti invitiamo a contattare l\'assistenza"), - "pleaseEmailUsAt": m36, + "pleaseEmailUsAt": m37, "pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage("Concedi i permessi"), "pleaseLoginAgain": MessageLookupByLibrary.simpleMessage( "Effettua nuovamente l\'accesso"), - "pleaseSendTheLogsTo": m37, + "pleaseSendTheLogsTo": m38, "pleaseTryAgain": MessageLookupByLibrary.simpleMessage("Riprova"), "pleaseVerifyTheCodeYouHaveEntered": MessageLookupByLibrary.simpleMessage( @@ -1015,7 +1015,7 @@ class MessageLookup extends MessageLookupByLibrary { "raiseTicket": MessageLookupByLibrary.simpleMessage("Invia ticket"), "rateTheApp": MessageLookupByLibrary.simpleMessage("Valuta l\'app"), "rateUs": MessageLookupByLibrary.simpleMessage("Lascia una recensione"), - "rateUsOnStore": m38, + "rateUsOnStore": m39, "recover": MessageLookupByLibrary.simpleMessage("Recupera"), "recoverAccount": MessageLookupByLibrary.simpleMessage("Recupera account"), @@ -1047,7 +1047,7 @@ class MessageLookup extends MessageLookupByLibrary { "1. Condividi questo codice con i tuoi amici"), "referralStep2": MessageLookupByLibrary.simpleMessage( "2. Si iscrivono per un piano a pagamento"), - "referralStep3": m39, + "referralStep3": m40, "referrals": MessageLookupByLibrary.simpleMessage("Invita un Amico"), "referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage( "I referral code sono attualmente in pausa"), @@ -1071,7 +1071,7 @@ class MessageLookup extends MessageLookupByLibrary { "removeLink": MessageLookupByLibrary.simpleMessage("Elimina link"), "removeParticipant": MessageLookupByLibrary.simpleMessage("Rimuovi partecipante"), - "removeParticipantBody": m40, + "removeParticipantBody": m41, "removePublicLink": MessageLookupByLibrary.simpleMessage("Rimuovi link pubblico"), "removeShareItemsWarning": MessageLookupByLibrary.simpleMessage( @@ -1085,7 +1085,7 @@ class MessageLookup extends MessageLookupByLibrary { "renameFile": MessageLookupByLibrary.simpleMessage("Rinomina file"), "renewSubscription": MessageLookupByLibrary.simpleMessage("Rinnova abbonamento"), - "renewsOn": m41, + "renewsOn": m42, "reportABug": MessageLookupByLibrary.simpleMessage("Segnala un bug"), "reportBug": MessageLookupByLibrary.simpleMessage("Segnala un bug"), "resendEmail": MessageLookupByLibrary.simpleMessage("Rinvia email"), @@ -1148,8 +1148,8 @@ class MessageLookup extends MessageLookupByLibrary { "selectedItemsWillBeDeletedFromAllAlbumsAndMoved": MessageLookupByLibrary.simpleMessage( "Gli elementi selezionati verranno eliminati da tutti gli album e spostati nel cestino."), - "selectedPhotos": m42, - "selectedPhotosWithYours": m43, + "selectedPhotos": m44, + "selectedPhotosWithYours": m45, "send": MessageLookupByLibrary.simpleMessage("Invia"), "sendEmail": MessageLookupByLibrary.simpleMessage("Invia email"), "sendInvite": MessageLookupByLibrary.simpleMessage("Invita"), @@ -1173,16 +1173,16 @@ class MessageLookup extends MessageLookupByLibrary { "shareAnAlbumNow": MessageLookupByLibrary.simpleMessage("Condividi un album"), "shareLink": MessageLookupByLibrary.simpleMessage("Condividi link"), - "shareMyVerificationID": m44, + "shareMyVerificationID": m46, "shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage( "Condividi solo con le persone che vuoi"), - "shareTextConfirmOthersVerificationID": m45, + "shareTextConfirmOthersVerificationID": m47, "shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage( "Scarica ente in modo da poter facilmente condividere foto e video senza perdita di qualità\n\nhttps://ente.io"), - "shareTextReferralCode": m46, + "shareTextReferralCode": m48, "shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage( "Condividi con utenti che non hanno un account ente"), - "shareWithPeopleSectionTitle": m47, + "shareWithPeopleSectionTitle": m49, "shareYourFirstAlbum": MessageLookupByLibrary.simpleMessage( "Condividi il tuo primo album"), "sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage( @@ -1193,7 +1193,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Nuove foto condivise"), "sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage( "Ricevi notifiche quando qualcuno aggiunge una foto a un album condiviso, di cui fai parte"), - "sharedWith": m48, + "sharedWith": m50, "sharedWithMe": MessageLookupByLibrary.simpleMessage("Condivisi con me"), "sharedWithYou": @@ -1203,11 +1203,11 @@ class MessageLookup extends MessageLookupByLibrary { "showMemories": MessageLookupByLibrary.simpleMessage("Mostra ricordi"), "signUpTerms": MessageLookupByLibrary.simpleMessage( "Accetto i termini di servizio e la politica sulla privacy"), - "singleFileDeleteFromDevice": m49, + "singleFileDeleteFromDevice": m51, "singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage( "Verrà eliminato da tutti gli album."), - "singleFileInBothLocalAndRemote": m50, - "singleFileInRemoteOnly": m51, + "singleFileInBothLocalAndRemote": m52, + "singleFileInRemoteOnly": m53, "skip": MessageLookupByLibrary.simpleMessage("Salta"), "social": MessageLookupByLibrary.simpleMessage("Social"), "someItemsAreInBothEnteAndYourDevice": @@ -1248,13 +1248,13 @@ class MessageLookup extends MessageLookupByLibrary { "storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Famiglia"), "storageBreakupYou": MessageLookupByLibrary.simpleMessage("Tu"), - "storageInGB": m52, + "storageInGB": m54, "storageLimitExceeded": MessageLookupByLibrary.simpleMessage( "Limite d\'archiviazione superato"), - "storageUsageInfo": m53, + "storageUsageInfo": m55, "strongStrength": MessageLookupByLibrary.simpleMessage("Forte"), - "subAlreadyLinkedErrMessage": m54, - "subWillBeCancelledOn": m55, + "subAlreadyLinkedErrMessage": m56, + "subWillBeCancelledOn": m57, "subscribe": MessageLookupByLibrary.simpleMessage("Iscriviti"), "subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage( "Sembra che il tuo abbonamento sia scaduto. Iscriviti per abilitare la condivisione."), @@ -1271,7 +1271,7 @@ class MessageLookup extends MessageLookupByLibrary { "suggestFeatures": MessageLookupByLibrary.simpleMessage("Suggerisci una funzionalità"), "support": MessageLookupByLibrary.simpleMessage("Assistenza"), - "syncProgress": m56, + "syncProgress": m58, "syncStopped": MessageLookupByLibrary.simpleMessage("Sincronizzazione interrotta"), "syncing": MessageLookupByLibrary.simpleMessage( @@ -1300,7 +1300,7 @@ class MessageLookup extends MessageLookupByLibrary { "theseItemsWillBeDeletedFromYourDevice": MessageLookupByLibrary.simpleMessage( "Questi file verranno eliminati dal tuo dispositivo."), - "theyAlsoGetXGb": m57, + "theyAlsoGetXGb": m59, "theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage( "Verranno eliminati da tutti gli album."), "thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage( @@ -1317,7 +1317,7 @@ class MessageLookup extends MessageLookupByLibrary { "Questo indirizzo email è già registrato"), "thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage( "Questa immagine non ha dati EXIF"), - "thisIsPersonVerificationId": m58, + "thisIsPersonVerificationId": m60, "thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage( "Questo è il tuo ID di verifica"), "thisWillLogYouOutOfTheFollowingDevice": @@ -1333,7 +1333,7 @@ class MessageLookup extends MessageLookupByLibrary { "total": MessageLookupByLibrary.simpleMessage("totale"), "totalSize": MessageLookupByLibrary.simpleMessage("Dimensioni totali"), "trash": MessageLookupByLibrary.simpleMessage("Cestino"), - "trashDaysLeft": m59, + "trashDaysLeft": m61, "tryAgain": MessageLookupByLibrary.simpleMessage("Riprova"), "turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage( "Attiva il backup per caricare automaticamente i file aggiunti in questa cartella del dispositivo su ente."), @@ -1390,7 +1390,7 @@ class MessageLookup extends MessageLookupByLibrary { "useSelectedPhoto": MessageLookupByLibrary.simpleMessage("Usa la foto selezionata"), "usedSpace": MessageLookupByLibrary.simpleMessage("Spazio utilizzato"), - "validTill": m66, + "validTill": m62, "verificationFailedPleaseTryAgain": MessageLookupByLibrary.simpleMessage( "Verifica fallita, per favore prova di nuovo"), @@ -1398,7 +1398,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("ID di verifica"), "verify": MessageLookupByLibrary.simpleMessage("Verifica"), "verifyEmail": MessageLookupByLibrary.simpleMessage("Verifica email"), - "verifyEmailID": m60, + "verifyEmailID": m63, "verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verifica"), "verifyPassword": MessageLookupByLibrary.simpleMessage("Verifica password"), @@ -1425,11 +1425,11 @@ class MessageLookup extends MessageLookupByLibrary { "weDontSupportEditingPhotosAndAlbumsThatYouDont": MessageLookupByLibrary.simpleMessage( "Non puoi modificare foto e album che non possiedi"), - "weHaveSendEmailTo": m61, + "weHaveSendEmailTo": m64, "weakStrength": MessageLookupByLibrary.simpleMessage("Debole"), "welcomeBack": MessageLookupByLibrary.simpleMessage("Bentornato/a!"), "yearly": MessageLookupByLibrary.simpleMessage("Annuale"), - "yearsAgo": m62, + "yearsAgo": m65, "yes": MessageLookupByLibrary.simpleMessage("Si"), "yesCancel": MessageLookupByLibrary.simpleMessage("Sì, cancella"), "yesConvertToViewer": MessageLookupByLibrary.simpleMessage( @@ -1459,7 +1459,7 @@ class MessageLookup extends MessageLookupByLibrary { "Non puoi condividere con te stesso"), "youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage( "Non hai nulla di archiviato."), - "youHaveSuccessfullyFreedUp": m63, + "youHaveSuccessfullyFreedUp": m66, "yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage( "Il tuo account è stato eliminato"), "yourMap": MessageLookupByLibrary.simpleMessage("Your map"), diff --git a/lib/generated/intl/messages_nl.dart b/lib/generated/intl/messages_nl.dart index d3a3cd27e..a487b9db2 100644 --- a/lib/generated/intl/messages_nl.dart +++ b/lib/generated/intl/messages_nl.dart @@ -23,25 +23,25 @@ class MessageLookup extends MessageLookupByLibrary { static String m0(count) => "${Intl.plural(count, one: 'Bestand toevoegen', other: 'Bestanden toevoegen')}"; - static String m64(storageAmount, endDate) => + static String m1(storageAmount, endDate) => "Jouw ${storageAmount} add-on is geldig tot ${endDate}"; - static String m1(emailOrName) => "Toegevoegd door ${emailOrName}"; + static String m2(emailOrName) => "Toegevoegd door ${emailOrName}"; - static String m2(albumName) => "Succesvol toegevoegd aan ${albumName}"; + static String m3(albumName) => "Succesvol toegevoegd aan ${albumName}"; - static String m3(count) => + static String m4(count) => "${Intl.plural(count, zero: 'Geen deelnemers', one: '1 deelnemer', other: '${count} deelnemers')}"; - static String m4(versionValue) => "Versie: ${versionValue}"; + static String m5(versionValue) => "Versie: ${versionValue}"; - static String m5(paymentProvider) => + static String m6(paymentProvider) => "Annuleer eerst uw bestaande abonnement bij ${paymentProvider}"; - static String m6(user) => + static String m7(user) => "${user} zal geen foto\'s meer kunnen toevoegen aan dit album\n\nDe gebruiker zal nog steeds bestaande foto\'s kunnen verwijderen die door hen zijn toegevoegd"; - static String m7(isFamilyMember, storageAmountInGb) => + static String m8(isFamilyMember, storageAmountInGb) => "${Intl.select(isFamilyMember, { 'true': 'Jouw familie heeft ${storageAmountInGb} GB geclaimd tot nu toe', @@ -49,164 +49,164 @@ class MessageLookup extends MessageLookupByLibrary { 'other': 'Je hebt ${storageAmountInGb} GB geclaimd tot nu toe!', })}"; - static String m8(albumName) => + static String m9(albumName) => "Gezamenlijke link aangemaakt voor ${albumName}"; - static String m9(familyAdminEmail) => + static String m10(familyAdminEmail) => "Neem contact op met ${familyAdminEmail} om uw abonnement te beheren"; - static String m10(provider) => + static String m11(provider) => "Neem contact met ons op via support@ente.io om uw ${provider} abonnement te beheren."; - static String m11(count) => + static String m12(count) => "${Intl.plural(count, one: 'Verwijder ${count} bestand', other: 'Verwijder ${count} bestanden')}"; - static String m12(currentlyDeleting, totalCount) => + static String m13(currentlyDeleting, totalCount) => "Verwijderen van ${currentlyDeleting} / ${totalCount}"; - static String m13(albumName) => + static String m14(albumName) => "Dit verwijdert de openbare link voor toegang tot \"${albumName}\"."; - static String m14(supportEmail) => + static String m15(supportEmail) => "Stuur een e-mail naar ${supportEmail} vanaf het door jou geregistreerde e-mailadres"; - static String m15(count, storageSaved) => + static String m16(count, storageSaved) => "Je hebt ${Intl.plural(count, one: '${count} dubbel bestand', other: '${count} dubbele bestanden')} opgeruimd, totaal (${storageSaved}!)"; - static String m16(count, formattedSize) => + static String m17(count, formattedSize) => "${count} bestanden, elk ${formattedSize}"; - static String m17(newEmail) => "E-mailadres gewijzigd naar ${newEmail}"; + static String m18(newEmail) => "E-mailadres gewijzigd naar ${newEmail}"; - static String m18(email) => + static String m19(email) => "${email} heeft geen ente account.\n\nStuur ze een uitnodiging om foto\'s te delen."; - static String m19(count, formattedNumber) => + static String m20(count, formattedNumber) => "${Intl.plural(count, one: '1 bestand', other: '${formattedNumber} bestanden')} in dit album zijn veilig geback-upt"; - static String m20(count, formattedNumber) => + static String m21(count, formattedNumber) => "${Intl.plural(count, one: '1 bestand', other: '${formattedNumber} bestanden')} in dit album is veilig geback-upt"; - static String m21(storageAmountInGB) => + static String m22(storageAmountInGB) => "${storageAmountInGB} GB telkens als iemand zich aanmeldt voor een betaald abonnement en je code toepast"; - static String m22(freeAmount, storageUnit) => + static String m23(freeAmount, storageUnit) => "${freeAmount} ${storageUnit} vrij"; - static String m23(endDate) => "Gratis proefversie geldig tot ${endDate}"; + static String m24(endDate) => "Gratis proefversie geldig tot ${endDate}"; - static String m24(count) => + static String m25(count) => "U heeft nog steeds toegang tot ${Intl.plural(count, one: 'het', other: 'ze')} op ente zolang u een actief abonnement heeft"; - static String m25(sizeInMBorGB) => "Maak ${sizeInMBorGB} vrij"; + static String m26(sizeInMBorGB) => "Maak ${sizeInMBorGB} vrij"; - static String m26(count, formattedSize) => + static String m27(count, formattedSize) => "${Intl.plural(count, one: 'Het kan verwijderd worden van het apparaat om ${formattedSize} vrij te maken', other: 'Ze kunnen verwijderd worden van het apparaat om ${formattedSize} vrij te maken')}"; - static String m27(count) => + static String m28(count) => "${Intl.plural(count, one: '${count} item', other: '${count} items')}"; - static String m28(expiryTime) => "Link vervalt op ${expiryTime}"; + static String m29(expiryTime) => "Link vervalt op ${expiryTime}"; - static String m29(count, formattedCount) => + static String m30(count, formattedCount) => "${Intl.plural(count, zero: 'geen herinneringen', one: '${formattedCount} herinnering', other: '${formattedCount} herinneringen')}"; - static String m30(count) => + static String m31(count) => "${Intl.plural(count, one: 'Bestand verplaatsen', other: 'Bestanden verplaatsen')}"; - static String m31(albumName) => "Succesvol verplaatst naar ${albumName}"; + static String m32(albumName) => "Succesvol verplaatst naar ${albumName}"; - static String m32(passwordStrengthValue) => + static String m33(passwordStrengthValue) => "Wachtwoord sterkte: ${passwordStrengthValue}"; - static String m33(providerName) => + static String m34(providerName) => "Praat met ${providerName} klantenservice als u in rekening bent gebracht"; - static String m34(reason) => + static String m35(reason) => "Helaas is uw betaling mislukt vanwege ${reason}"; - static String m35(endDate) => + static String m36(endDate) => "Gratis proefperiode geldig tot ${endDate}.\nU kunt naderhand een betaald abonnement kiezen."; - static String m36(toEmail) => "Stuur ons een e-mail op ${toEmail}"; + static String m37(toEmail) => "Stuur ons een e-mail op ${toEmail}"; - static String m37(toEmail) => + static String m38(toEmail) => "Verstuur de logboeken alstublieft naar ${toEmail}"; - static String m38(storeName) => "Beoordeel ons op ${storeName}"; + static String m39(storeName) => "Beoordeel ons op ${storeName}"; - static String m39(storageInGB) => + static String m40(storageInGB) => "Jullie krijgen allebei ${storageInGB} GB* gratis"; - static String m40(userEmail) => + static String m41(userEmail) => "${userEmail} zal worden verwijderd uit dit gedeelde album\n\nAlle door hen toegevoegde foto\'s worden ook uit het album verwijderd"; - static String m41(endDate) => "Wordt verlengd op ${endDate}"; + static String m42(endDate) => "Wordt verlengd op ${endDate}"; - static String m65(count) => + static String m43(count) => "${Intl.plural(count, one: '${count} resultaat gevonden', other: '${count} resultaten gevonden')}"; - static String m42(count) => "${count} geselecteerd"; + static String m44(count) => "${count} geselecteerd"; - static String m43(count, yourCount) => + static String m45(count, yourCount) => "${count} geselecteerd (${yourCount} van jou)"; - static String m44(verificationID) => + static String m46(verificationID) => "Hier is mijn verificatie-ID: ${verificationID} voor ente.io."; - static String m45(verificationID) => + static String m47(verificationID) => "Hey, kunt u bevestigen dat dit uw ente.io verificatie-ID is: ${verificationID}"; - static String m46(referralCode, referralStorageInGB) => + static String m48(referralCode, referralStorageInGB) => "ente verwijzingscode: ${referralCode} \n\nPas het toe bij Instellingen → Algemeen → Verwijzingen om ${referralStorageInGB} GB gratis te krijgen nadat je je hebt aangemeld voor een betaald abonnement\n\nhttps://ente.io"; - static String m47(numberOfPeople) => + static String m49(numberOfPeople) => "${Intl.plural(numberOfPeople, zero: 'Deel met specifieke mensen', one: 'Gedeeld met 1 persoon', other: 'Gedeeld met ${numberOfPeople} mensen')}"; - static String m48(emailIDs) => "Gedeeld met ${emailIDs}"; + static String m50(emailIDs) => "Gedeeld met ${emailIDs}"; - static String m49(fileType) => + static String m51(fileType) => "Deze ${fileType} zal worden verwijderd van jouw apparaat."; - static String m50(fileType) => + static String m52(fileType) => "Deze ${fileType} staat zowel in ente als op jouw apparaat."; - static String m51(fileType) => + static String m53(fileType) => "Deze ${fileType} zal worden verwijderd uit ente."; - static String m52(storageAmountInGB) => "${storageAmountInGB} GB"; + static String m54(storageAmountInGB) => "${storageAmountInGB} GB"; - static String m53( + static String m55( usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) => "${usedAmount} ${usedStorageUnit} van ${totalAmount} ${totalStorageUnit} gebruikt"; - static String m54(id) => + static String m56(id) => "Uw ${id} is al aan een ander ente account gekoppeld.\nAls u uw ${id} wilt gebruiken met dit account, neem dan contact op met onze klantenservice"; - static String m55(endDate) => "Uw abonnement loopt af op ${endDate}"; + static String m57(endDate) => "Uw abonnement loopt af op ${endDate}"; - static String m56(completed, total) => + static String m58(completed, total) => "${completed}/${total} herinneringen bewaard"; - static String m57(storageAmountInGB) => + static String m59(storageAmountInGB) => "Zij krijgen ook ${storageAmountInGB} GB"; - static String m58(email) => "Dit is de verificatie-ID van ${email}"; + static String m60(email) => "Dit is de verificatie-ID van ${email}"; - static String m59(count) => + static String m61(count) => "${Intl.plural(count, zero: '', one: '1 dag', other: '${count} dagen')}"; - static String m66(endDate) => "Geldig tot ${endDate}"; + static String m62(endDate) => "Geldig tot ${endDate}"; - static String m60(email) => "Verifieer ${email}"; + static String m63(email) => "Verifieer ${email}"; - static String m61(email) => + static String m64(email) => "We hebben een e-mail gestuurd naar ${email}"; - static String m62(count) => + static String m65(count) => "${Intl.plural(count, one: '${count} jaar geleden', other: '${count} jaar geleden')}"; - static String m63(storageSaved) => + static String m66(storageSaved) => "Je hebt ${storageSaved} succesvol vrijgemaakt!"; final messages = _notInlinedMessages(_notInlinedMessages); @@ -235,7 +235,7 @@ class MessageLookup extends MessageLookupByLibrary { "addNew": MessageLookupByLibrary.simpleMessage("Nieuwe toevoegen"), "addOnPageSubtitle": MessageLookupByLibrary.simpleMessage("Details van add-ons"), - "addOnValidTill": m64, + "addOnValidTill": m1, "addOns": MessageLookupByLibrary.simpleMessage("Add-ons"), "addPhotos": MessageLookupByLibrary.simpleMessage("Foto\'s toevoegen"), "addSelected": @@ -249,8 +249,8 @@ class MessageLookup extends MessageLookupByLibrary { "addYourPhotosNow": MessageLookupByLibrary.simpleMessage("Voeg nu je foto\'s toe"), "addedAs": MessageLookupByLibrary.simpleMessage("Toegevoegd als"), - "addedBy": m1, - "addedSuccessfullyTo": m2, + "addedBy": m2, + "addedSuccessfullyTo": m3, "addingToFavorites": MessageLookupByLibrary.simpleMessage("Toevoegen aan favorieten..."), "advanced": MessageLookupByLibrary.simpleMessage("Geavanceerd"), @@ -261,7 +261,7 @@ class MessageLookup extends MessageLookupByLibrary { "after1Week": MessageLookupByLibrary.simpleMessage("Na 1 week"), "after1Year": MessageLookupByLibrary.simpleMessage("Na 1 jaar"), "albumOwner": MessageLookupByLibrary.simpleMessage("Eigenaar"), - "albumParticipantsCount": m3, + "albumParticipantsCount": m4, "albumTitle": MessageLookupByLibrary.simpleMessage("Albumtitel"), "albumUpdated": MessageLookupByLibrary.simpleMessage("Album bijgewerkt"), @@ -297,7 +297,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Android, iOS, Web, Desktop"), "androidSignInTitle": MessageLookupByLibrary.simpleMessage("Verificatie vereist"), - "appVersion": m4, + "appVersion": m5, "appleId": MessageLookupByLibrary.simpleMessage("Apple ID"), "apply": MessageLookupByLibrary.simpleMessage("Toepassen"), "applyCodeTitle": @@ -383,10 +383,10 @@ class MessageLookup extends MessageLookupByLibrary { "canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage( "Kan alleen bestanden verwijderen die jouw eigendom zijn"), "cancel": MessageLookupByLibrary.simpleMessage("Annuleer"), - "cancelOtherSubscription": m5, + "cancelOtherSubscription": m6, "cancelSubscription": MessageLookupByLibrary.simpleMessage("Abonnement opzeggen"), - "cannotAddMorePhotosAfterBecomingViewer": m6, + "cannotAddMorePhotosAfterBecomingViewer": m7, "cannotDeleteSharedFiles": MessageLookupByLibrary.simpleMessage( "Kan gedeelde bestanden niet verwijderen"), "centerPoint": MessageLookupByLibrary.simpleMessage("Middelpunt"), @@ -406,7 +406,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Claim gratis opslag"), "claimMore": MessageLookupByLibrary.simpleMessage("Claim meer!"), "claimed": MessageLookupByLibrary.simpleMessage("Geclaimd"), - "claimedStorageSoFar": m7, + "claimedStorageSoFar": m8, "clearCaches": MessageLookupByLibrary.simpleMessage("Cache legen"), "click": MessageLookupByLibrary.simpleMessage("• Click"), "clickOnTheOverflowMenu": @@ -426,7 +426,7 @@ class MessageLookup extends MessageLookupByLibrary { "Maak een link waarmee mensen foto\'s in jouw gedeelde album kunnen toevoegen en bekijken zonder dat ze daarvoor een ente app of account nodig hebben. Handig voor het verzamelen van foto\'s van evenementen."), "collaborativeLink": MessageLookupByLibrary.simpleMessage("Gezamenlijke link"), - "collaborativeLinkCreatedFor": m8, + "collaborativeLinkCreatedFor": m9, "collaborator": MessageLookupByLibrary.simpleMessage("Samenwerker"), "collaboratorsCanAddPhotosAndVideosToTheSharedAlbum": MessageLookupByLibrary.simpleMessage( @@ -454,10 +454,10 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Bevestig herstelsleutel"), "confirmYourRecoveryKey": MessageLookupByLibrary.simpleMessage("Bevestig herstelsleutel"), - "contactFamilyAdmin": m9, + "contactFamilyAdmin": m10, "contactSupport": MessageLookupByLibrary.simpleMessage("Contacteer klantenservice"), - "contactToManageSubscription": m10, + "contactToManageSubscription": m11, "contacts": MessageLookupByLibrary.simpleMessage("Contacten"), "contents": MessageLookupByLibrary.simpleMessage("Inhoud"), "continueLabel": MessageLookupByLibrary.simpleMessage("Doorgaan"), @@ -534,12 +534,12 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Verwijder van apparaat"), "deleteFromEnte": MessageLookupByLibrary.simpleMessage("Verwijder van ente"), - "deleteItemCount": m11, + "deleteItemCount": m12, "deleteLocation": MessageLookupByLibrary.simpleMessage("Verwijder locatie"), "deletePhotos": MessageLookupByLibrary.simpleMessage("Foto\'s verwijderen"), - "deleteProgress": m12, + "deleteProgress": m13, "deleteReason1": MessageLookupByLibrary.simpleMessage( "Ik mis een belangrijke functie"), "deleteReason2": MessageLookupByLibrary.simpleMessage( @@ -572,7 +572,7 @@ class MessageLookup extends MessageLookupByLibrary { "Kijkers kunnen nog steeds screenshots maken of een kopie van je foto\'s opslaan met behulp van externe tools"), "disableDownloadWarningTitle": MessageLookupByLibrary.simpleMessage("Let op"), - "disableLinkMessage": m13, + "disableLinkMessage": m14, "disableTwofactor": MessageLookupByLibrary.simpleMessage( "Tweestapsverificatie uitschakelen"), "disablingTwofactorAuthentication": @@ -593,9 +593,9 @@ class MessageLookup extends MessageLookupByLibrary { "downloadFailed": MessageLookupByLibrary.simpleMessage("Download mislukt"), "downloading": MessageLookupByLibrary.simpleMessage("Downloaden..."), - "dropSupportEmail": m14, - "duplicateFileCountWithStorageSaved": m15, - "duplicateItemsGroup": m16, + "dropSupportEmail": m15, + "duplicateFileCountWithStorageSaved": m16, + "duplicateItemsGroup": m17, "edit": MessageLookupByLibrary.simpleMessage("Bewerken"), "editLocationTagTitle": MessageLookupByLibrary.simpleMessage("Locatie bewerken"), @@ -603,8 +603,8 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Bewerkingen opgeslagen"), "eligible": MessageLookupByLibrary.simpleMessage("gerechtigd"), "email": MessageLookupByLibrary.simpleMessage("E-mail"), - "emailChangedTo": m17, - "emailNoEnteAccount": m18, + "emailChangedTo": m18, + "emailNoEnteAccount": m19, "emailVerificationToggle": MessageLookupByLibrary.simpleMessage("E-mailverificatie"), "emailYourLogs": @@ -708,8 +708,8 @@ class MessageLookup extends MessageLookupByLibrary { "fileTypes": MessageLookupByLibrary.simpleMessage("Bestandstype"), "fileTypesAndNames": MessageLookupByLibrary.simpleMessage("Bestandstypen en namen"), - "filesBackedUpFromDevice": m19, - "filesBackedUpInAlbum": m20, + "filesBackedUpFromDevice": m20, + "filesBackedUpInAlbum": m21, "filesDeleted": MessageLookupByLibrary.simpleMessage("Bestanden verwijderd"), "flip": MessageLookupByLibrary.simpleMessage("Omdraaien"), @@ -719,18 +719,18 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Wachtwoord vergeten"), "freeStorageClaimed": MessageLookupByLibrary.simpleMessage("Gratis opslag geclaimd"), - "freeStorageOnReferralSuccess": m21, - "freeStorageSpace": m22, + "freeStorageOnReferralSuccess": m22, + "freeStorageSpace": m23, "freeStorageUsable": MessageLookupByLibrary.simpleMessage("Gratis opslag bruikbaar"), "freeTrial": MessageLookupByLibrary.simpleMessage("Gratis proefversie"), - "freeTrialValidTill": m23, - "freeUpAccessPostDelete": m24, - "freeUpAmount": m25, + "freeTrialValidTill": m24, + "freeUpAccessPostDelete": m25, + "freeUpAmount": m26, "freeUpDeviceSpace": MessageLookupByLibrary.simpleMessage("Apparaatruimte vrijmaken"), "freeUpSpace": MessageLookupByLibrary.simpleMessage("Ruimte vrijmaken"), - "freeUpSpaceSaving": m26, + "freeUpSpaceSaving": m27, "galleryMemoryLimitInfo": MessageLookupByLibrary.simpleMessage( "Tot 1000 herinneringen getoond in de galerij"), "general": MessageLookupByLibrary.simpleMessage("Algemeen"), @@ -794,7 +794,7 @@ class MessageLookup extends MessageLookupByLibrary { "itLooksLikeSomethingWentWrongPleaseRetryAfterSome": MessageLookupByLibrary.simpleMessage( "Het lijkt erop dat er iets fout is gegaan. Probeer het later opnieuw. Als de fout zich blijft voordoen, neem dan contact op met ons supportteam."), - "itemCount": m27, + "itemCount": m28, "itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion": MessageLookupByLibrary.simpleMessage( "Bestanden tonen het aantal resterende dagen voordat ze permanent worden verwijderd"), @@ -820,7 +820,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Apparaat limiet"), "linkEnabled": MessageLookupByLibrary.simpleMessage("Ingeschakeld"), "linkExpired": MessageLookupByLibrary.simpleMessage("Verlopen"), - "linkExpiresOn": m28, + "linkExpiresOn": m29, "linkExpiry": MessageLookupByLibrary.simpleMessage("Vervaldatum"), "linkHasExpired": MessageLookupByLibrary.simpleMessage("Link is vervallen"), @@ -883,7 +883,7 @@ class MessageLookup extends MessageLookupByLibrary { "maps": MessageLookupByLibrary.simpleMessage("Kaarten"), "mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"), "matrix": MessageLookupByLibrary.simpleMessage("Matrix"), - "memoryCount": m29, + "memoryCount": m30, "merchandise": MessageLookupByLibrary.simpleMessage("Merchandise"), "mobileWebDesktop": MessageLookupByLibrary.simpleMessage("Mobiel, Web, Desktop"), @@ -893,12 +893,12 @@ class MessageLookup extends MessageLookupByLibrary { "Pas je zoekopdracht aan of zoek naar"), "moments": MessageLookupByLibrary.simpleMessage("Momenten"), "monthly": MessageLookupByLibrary.simpleMessage("Maandelijks"), - "moveItem": m30, + "moveItem": m31, "moveToAlbum": MessageLookupByLibrary.simpleMessage("Verplaats naar album"), "moveToHiddenAlbum": MessageLookupByLibrary.simpleMessage( "Verplaatsen naar verborgen album"), - "movedSuccessfullyTo": m31, + "movedSuccessfullyTo": m32, "movedToTrash": MessageLookupByLibrary.simpleMessage("Naar prullenbak verplaatst"), "movingFilesToAlbum": MessageLookupByLibrary.simpleMessage( @@ -967,15 +967,15 @@ class MessageLookup extends MessageLookupByLibrary { "passwordChangedSuccessfully": MessageLookupByLibrary.simpleMessage( "Wachtwoord succesvol aangepast"), "passwordLock": MessageLookupByLibrary.simpleMessage("Wachtwoord slot"), - "passwordStrength": m32, + "passwordStrength": m33, "passwordWarning": MessageLookupByLibrary.simpleMessage( "Wij slaan dit wachtwoord niet op, dus als je het vergeet, kunnen we je gegevens niet ontsleutelen"), "paymentDetails": MessageLookupByLibrary.simpleMessage("Betaalgegevens"), "paymentFailed": MessageLookupByLibrary.simpleMessage("Betaling mislukt"), - "paymentFailedTalkToProvider": m33, - "paymentFailedWithReason": m34, + "paymentFailedTalkToProvider": m34, + "paymentFailedWithReason": m35, "pendingSync": MessageLookupByLibrary.simpleMessage( "Synchronisatie in behandeling"), "peopleUsingYourCode": MessageLookupByLibrary.simpleMessage( @@ -999,7 +999,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Kies middelpunt"), "pinAlbum": MessageLookupByLibrary.simpleMessage("Album bovenaan vastzetten"), - "playStoreFreeTrialValidTill": m35, + "playStoreFreeTrialValidTill": m36, "playstoreSubscription": MessageLookupByLibrary.simpleMessage("PlayStore abonnement"), "pleaseCheckYourInternetConnectionAndTryAgain": @@ -1011,12 +1011,12 @@ class MessageLookup extends MessageLookupByLibrary { "pleaseContactSupportIfTheProblemPersists": MessageLookupByLibrary.simpleMessage( "Neem contact op met klantenservice als het probleem aanhoudt"), - "pleaseEmailUsAt": m36, + "pleaseEmailUsAt": m37, "pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage( "Geef alstublieft toestemming"), "pleaseLoginAgain": MessageLookupByLibrary.simpleMessage("Log opnieuw in"), - "pleaseSendTheLogsTo": m37, + "pleaseSendTheLogsTo": m38, "pleaseTryAgain": MessageLookupByLibrary.simpleMessage("Probeer het nog eens"), "pleaseVerifyTheCodeYouHaveEntered": @@ -1051,7 +1051,7 @@ class MessageLookup extends MessageLookupByLibrary { "raiseTicket": MessageLookupByLibrary.simpleMessage("Meld probleem"), "rateTheApp": MessageLookupByLibrary.simpleMessage("Beoordeel de app"), "rateUs": MessageLookupByLibrary.simpleMessage("Beoordeel ons"), - "rateUsOnStore": m38, + "rateUsOnStore": m39, "recover": MessageLookupByLibrary.simpleMessage("Herstellen"), "recoverAccount": MessageLookupByLibrary.simpleMessage("Account herstellen"), @@ -1082,7 +1082,7 @@ class MessageLookup extends MessageLookupByLibrary { "1. Geef deze code aan je vrienden"), "referralStep2": MessageLookupByLibrary.simpleMessage( "2. Ze registreren voor een betaald plan"), - "referralStep3": m39, + "referralStep3": m40, "referrals": MessageLookupByLibrary.simpleMessage("Referenties"), "referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage( "Verwijzingen zijn momenteel gepauzeerd"), @@ -1108,7 +1108,7 @@ class MessageLookup extends MessageLookupByLibrary { "removeLink": MessageLookupByLibrary.simpleMessage("Verwijder link"), "removeParticipant": MessageLookupByLibrary.simpleMessage("Deelnemer verwijderen"), - "removeParticipantBody": m40, + "removeParticipantBody": m41, "removePublicLink": MessageLookupByLibrary.simpleMessage("Verwijder publieke link"), "removeShareItemsWarning": MessageLookupByLibrary.simpleMessage( @@ -1124,7 +1124,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Bestandsnaam wijzigen"), "renewSubscription": MessageLookupByLibrary.simpleMessage("Abonnement verlengen"), - "renewsOn": m41, + "renewsOn": m42, "reportABug": MessageLookupByLibrary.simpleMessage("Een fout melden"), "reportBug": MessageLookupByLibrary.simpleMessage("Fout melden"), "resendEmail": @@ -1188,7 +1188,7 @@ class MessageLookup extends MessageLookupByLibrary { "Foto\'s groeperen die in een bepaalde straal van een foto worden genomen"), "searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage( "Nodig mensen uit, en je ziet alle foto\'s die door hen worden gedeeld hier"), - "searchResultCount": m65, + "searchResultCount": m43, "security": MessageLookupByLibrary.simpleMessage("Beveiliging"), "selectAlbum": MessageLookupByLibrary.simpleMessage("Album selecteren"), "selectAll": MessageLookupByLibrary.simpleMessage("Selecteer alles"), @@ -1211,8 +1211,8 @@ class MessageLookup extends MessageLookupByLibrary { "selectedItemsWillBeDeletedFromAllAlbumsAndMoved": MessageLookupByLibrary.simpleMessage( "Geselecteerde bestanden worden verwijderd uit alle albums en verplaatst naar de prullenbak."), - "selectedPhotos": m42, - "selectedPhotosWithYours": m43, + "selectedPhotos": m44, + "selectedPhotosWithYours": m45, "send": MessageLookupByLibrary.simpleMessage("Verzenden"), "sendEmail": MessageLookupByLibrary.simpleMessage("E-mail versturen"), "sendInvite": @@ -1236,16 +1236,16 @@ class MessageLookup extends MessageLookupByLibrary { "shareAnAlbumNow": MessageLookupByLibrary.simpleMessage("Deel nu een album"), "shareLink": MessageLookupByLibrary.simpleMessage("Link delen"), - "shareMyVerificationID": m44, + "shareMyVerificationID": m46, "shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage( "Deel alleen met de mensen die u wilt"), - "shareTextConfirmOthersVerificationID": m45, + "shareTextConfirmOthersVerificationID": m47, "shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage( "Download ente zodat we gemakkelijk foto\'s en video\'s van originele kwaliteit kunnen delen\n\nhttps://ente.io"), - "shareTextReferralCode": m46, + "shareTextReferralCode": m48, "shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage( "Delen met niet-ente gebruikers"), - "shareWithPeopleSectionTitle": m47, + "shareWithPeopleSectionTitle": m49, "shareYourFirstAlbum": MessageLookupByLibrary.simpleMessage("Deel jouw eerste album"), "sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage( @@ -1256,7 +1256,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Nieuwe gedeelde foto\'s"), "sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage( "Ontvang meldingen wanneer iemand een foto toevoegt aan een gedeeld album waar je deel van uitmaakt"), - "sharedWith": m48, + "sharedWith": m50, "sharedWithMe": MessageLookupByLibrary.simpleMessage("Gedeeld met mij"), "sharedWithYou": MessageLookupByLibrary.simpleMessage("Gedeeld met jou"), @@ -1271,11 +1271,11 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Log uit op andere apparaten"), "signUpTerms": MessageLookupByLibrary.simpleMessage( "Ik ga akkoord met de gebruiksvoorwaarden en privacybeleid"), - "singleFileDeleteFromDevice": m49, + "singleFileDeleteFromDevice": m51, "singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage( "Het wordt uit alle albums verwijderd."), - "singleFileInBothLocalAndRemote": m50, - "singleFileInRemoteOnly": m51, + "singleFileInBothLocalAndRemote": m52, + "singleFileInRemoteOnly": m53, "skip": MessageLookupByLibrary.simpleMessage("Overslaan"), "social": MessageLookupByLibrary.simpleMessage("Sociale media"), "someItemsAreInBothEnteAndYourDevice": MessageLookupByLibrary.simpleMessage( @@ -1312,13 +1312,13 @@ class MessageLookup extends MessageLookupByLibrary { "storage": MessageLookupByLibrary.simpleMessage("Opslagruimte"), "storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Familie"), "storageBreakupYou": MessageLookupByLibrary.simpleMessage("Jij"), - "storageInGB": m52, + "storageInGB": m54, "storageLimitExceeded": MessageLookupByLibrary.simpleMessage("Opslaglimiet overschreden"), - "storageUsageInfo": m53, + "storageUsageInfo": m55, "strongStrength": MessageLookupByLibrary.simpleMessage("Sterk"), - "subAlreadyLinkedErrMessage": m54, - "subWillBeCancelledOn": m55, + "subAlreadyLinkedErrMessage": m56, + "subWillBeCancelledOn": m57, "subscribe": MessageLookupByLibrary.simpleMessage("Abonneer"), "subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage( "Het lijkt erop dat je abonnement is verlopen. Abonneer om delen mogelijk te maken."), @@ -1335,7 +1335,7 @@ class MessageLookup extends MessageLookupByLibrary { "suggestFeatures": MessageLookupByLibrary.simpleMessage("Features voorstellen"), "support": MessageLookupByLibrary.simpleMessage("Ondersteuning"), - "syncProgress": m56, + "syncProgress": m58, "syncStopped": MessageLookupByLibrary.simpleMessage("Synchronisatie gestopt"), "syncing": MessageLookupByLibrary.simpleMessage("Synchroniseren..."), @@ -1363,7 +1363,7 @@ class MessageLookup extends MessageLookupByLibrary { "theseItemsWillBeDeletedFromYourDevice": MessageLookupByLibrary.simpleMessage( "Deze bestanden zullen worden verwijderd van uw apparaat."), - "theyAlsoGetXGb": m57, + "theyAlsoGetXGb": m59, "theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage( "Ze zullen uit alle albums worden verwijderd."), "thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage( @@ -1379,7 +1379,7 @@ class MessageLookup extends MessageLookupByLibrary { "Dit e-mailadres is al in gebruik"), "thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage( "Deze foto heeft geen exif gegevens"), - "thisIsPersonVerificationId": m58, + "thisIsPersonVerificationId": m60, "thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage("Dit is uw verificatie-ID"), "thisWillLogYouOutOfTheFollowingDevice": @@ -1396,7 +1396,7 @@ class MessageLookup extends MessageLookupByLibrary { "total": MessageLookupByLibrary.simpleMessage("totaal"), "totalSize": MessageLookupByLibrary.simpleMessage("Totale grootte"), "trash": MessageLookupByLibrary.simpleMessage("Prullenbak"), - "trashDaysLeft": m59, + "trashDaysLeft": m61, "tryAgain": MessageLookupByLibrary.simpleMessage("Probeer opnieuw"), "turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage( "Schakel back-up in om bestanden die toegevoegd zijn aan deze map op dit apparaat automatisch te uploaden."), @@ -1452,7 +1452,7 @@ class MessageLookup extends MessageLookupByLibrary { "useSelectedPhoto": MessageLookupByLibrary.simpleMessage("Gebruik geselecteerde foto"), "usedSpace": MessageLookupByLibrary.simpleMessage("Gebruikte ruimte"), - "validTill": m66, + "validTill": m62, "verificationFailedPleaseTryAgain": MessageLookupByLibrary.simpleMessage( "Verificatie mislukt, probeer het opnieuw"), @@ -1460,7 +1460,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Verificatie ID"), "verify": MessageLookupByLibrary.simpleMessage("Verifiëren"), "verifyEmail": MessageLookupByLibrary.simpleMessage("Bevestig e-mail"), - "verifyEmailID": m60, + "verifyEmailID": m63, "verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verifiëren"), "verifyPassword": MessageLookupByLibrary.simpleMessage("Bevestig wachtwoord"), @@ -1487,11 +1487,11 @@ class MessageLookup extends MessageLookupByLibrary { "weDontSupportEditingPhotosAndAlbumsThatYouDont": MessageLookupByLibrary.simpleMessage( "We ondersteunen het bewerken van foto\'s en albums waar je niet de eigenaar van bent nog niet"), - "weHaveSendEmailTo": m61, + "weHaveSendEmailTo": m64, "weakStrength": MessageLookupByLibrary.simpleMessage("Zwak"), "welcomeBack": MessageLookupByLibrary.simpleMessage("Welkom terug!"), "yearly": MessageLookupByLibrary.simpleMessage("Jaarlijks"), - "yearsAgo": m62, + "yearsAgo": m65, "yes": MessageLookupByLibrary.simpleMessage("Ja"), "yesCancel": MessageLookupByLibrary.simpleMessage("Ja, opzeggen"), "yesConvertToViewer": @@ -1521,7 +1521,7 @@ class MessageLookup extends MessageLookupByLibrary { "Je kunt niet met jezelf delen"), "youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage( "U heeft geen gearchiveerde bestanden."), - "youHaveSuccessfullyFreedUp": m63, + "youHaveSuccessfullyFreedUp": m66, "yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage("Je account is verwijderd"), "yourMap": MessageLookupByLibrary.simpleMessage("Jouw kaart"), diff --git a/lib/generated/intl/messages_pl.dart b/lib/generated/intl/messages_pl.dart index 7a567715b..f7cb0acff 100644 --- a/lib/generated/intl/messages_pl.dart +++ b/lib/generated/intl/messages_pl.dart @@ -20,7 +20,7 @@ typedef String MessageIfAbsent(String messageStr, List args); class MessageLookup extends MessageLookupByLibrary { String get localeName => 'pl'; - static String m32(passwordStrengthValue) => + static String m33(passwordStrengthValue) => "Siła hasła: ${passwordStrengthValue}"; final messages = _notInlinedMessages(_notInlinedMessages); @@ -125,7 +125,7 @@ class MessageLookup extends MessageLookupByLibrary { "password": MessageLookupByLibrary.simpleMessage("Hasło"), "passwordChangedSuccessfully": MessageLookupByLibrary.simpleMessage( "Hasło zostało pomyślnie zmienione"), - "passwordStrength": m32, + "passwordStrength": m33, "passwordWarning": MessageLookupByLibrary.simpleMessage( "Nie przechowujemy tego hasła, więc jeśli go zapomnisz, nie będziemy w stanie odszyfrować Twoich danych"), "pleaseTryAgain": diff --git a/lib/generated/intl/messages_pt.dart b/lib/generated/intl/messages_pt.dart index 9ddbbd8d9..bc38ae728 100644 --- a/lib/generated/intl/messages_pt.dart +++ b/lib/generated/intl/messages_pt.dart @@ -20,10 +20,10 @@ typedef String MessageIfAbsent(String messageStr, List args); class MessageLookup extends MessageLookupByLibrary { String get localeName => 'pt'; - static String m6(user) => + static String m7(user) => "${user} Não poderá adicionar mais fotos a este álbum\n\nEles ainda poderão remover as fotos existentes adicionadas por eles"; - static String m7(isFamilyMember, storageAmountInGb) => + static String m8(isFamilyMember, storageAmountInGb) => "${Intl.select(isFamilyMember, { 'true': 'Sua família reeinvindicou ${storageAmountInGb} GB até agora', @@ -31,32 +31,32 @@ class MessageLookup extends MessageLookupByLibrary { 'other': 'Você reeinvindicou ${storageAmountInGb} GB até agora', })}"; - static String m13(albumName) => + static String m14(albumName) => "Isso removerá o link público para acessar \"${albumName}\"."; - static String m14(supportEmail) => + static String m15(supportEmail) => "Por favor, envie um e-mail para ${supportEmail} a partir do seu endereço de e-mail registrado"; - static String m21(storageAmountInGB) => + static String m22(storageAmountInGB) => "${storageAmountInGB} GB cada vez que alguém se inscrever para um plano pago e aplica o seu código"; - static String m32(passwordStrengthValue) => + static String m33(passwordStrengthValue) => "Segurança da senha: ${passwordStrengthValue}"; - static String m39(storageInGB) => "3. Ambos ganham ${storageInGB} GB* grátis"; + static String m40(storageInGB) => "3. Ambos ganham ${storageInGB} GB* grátis"; - static String m40(userEmail) => + static String m41(userEmail) => "${userEmail} será removido deste álbum compartilhado\n\nQuaisquer fotos adicionadas por eles também serão removidas do álbum"; - static String m46(referralCode, referralStorageInGB) => + static String m48(referralCode, referralStorageInGB) => "Código de referência do ente: ${referralCode} \n\nAplique em Configurações → Geral → Indicações para obter ${referralStorageInGB} GB gratuitamente após a sua inscrição em um plano pago\n\nhttps://ente.io"; - static String m52(storageAmountInGB) => "${storageAmountInGB} GB"; + static String m54(storageAmountInGB) => "${storageAmountInGB} GB"; - static String m57(storageAmountInGB) => + static String m59(storageAmountInGB) => "Eles também recebem ${storageAmountInGB} GB"; - static String m61(email) => "Enviamos um e-mail à ${email}"; + static String m64(email) => "Enviamos um e-mail à ${email}"; final messages = _notInlinedMessages(_notInlinedMessages); static Map _notInlinedMessages(_) => { @@ -100,7 +100,7 @@ class MessageLookup extends MessageLookupByLibrary { "canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage( "Só é possível remover arquivos de sua propriedade"), "cancel": MessageLookupByLibrary.simpleMessage("Cancelar"), - "cannotAddMorePhotosAfterBecomingViewer": m6, + "cannotAddMorePhotosAfterBecomingViewer": m7, "changeEmail": MessageLookupByLibrary.simpleMessage("Mudar e-mail"), "changePassword": MessageLookupByLibrary.simpleMessage("Mude sua senha"), @@ -114,7 +114,7 @@ class MessageLookup extends MessageLookupByLibrary { "Solicitar armazenamento gratuito"), "claimMore": MessageLookupByLibrary.simpleMessage("Reivindique mais!"), "claimed": MessageLookupByLibrary.simpleMessage("Reivindicado"), - "claimedStorageSoFar": m7, + "claimedStorageSoFar": m8, "codeCopiedToClipboard": MessageLookupByLibrary.simpleMessage( "Código copiado para a área de transferência"), "codeUsedByYou": @@ -182,10 +182,10 @@ class MessageLookup extends MessageLookupByLibrary { "Os espectadores ainda podem tirar screenshots ou salvar uma cópia de suas fotos usando ferramentas externas"), "disableDownloadWarningTitle": MessageLookupByLibrary.simpleMessage("Observe"), - "disableLinkMessage": m13, + "disableLinkMessage": m14, "doThisLater": MessageLookupByLibrary.simpleMessage("Fazer isso mais tarde"), - "dropSupportEmail": m14, + "dropSupportEmail": m15, "eligible": MessageLookupByLibrary.simpleMessage("elegível"), "email": MessageLookupByLibrary.simpleMessage("E-mail"), "encryption": MessageLookupByLibrary.simpleMessage("Criptografia"), @@ -219,7 +219,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Esqueceu sua senha"), "freeStorageClaimed": MessageLookupByLibrary.simpleMessage( "Armazenamento gratuito reivindicado"), - "freeStorageOnReferralSuccess": m21, + "freeStorageOnReferralSuccess": m22, "freeStorageUsable": MessageLookupByLibrary.simpleMessage( "Armazenamento livre utilizável"), "generatingEncryptionKeys": MessageLookupByLibrary.simpleMessage( @@ -281,7 +281,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Senha alterada com sucesso"), "passwordLock": MessageLookupByLibrary.simpleMessage("Bloqueio de senha"), - "passwordStrength": m32, + "passwordStrength": m33, "passwordWarning": MessageLookupByLibrary.simpleMessage( "Nós não salvamos essa senha, se você esquecer nós não poderemos descriptografar seus dados"), "peopleUsingYourCode": @@ -320,7 +320,7 @@ class MessageLookup extends MessageLookupByLibrary { "Envie esse código aos seus amigos"), "referralStep2": MessageLookupByLibrary.simpleMessage( "2. Eles se inscrevem em um plano pago"), - "referralStep3": m39, + "referralStep3": m40, "referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage( "Referências estão atualmente pausadas"), "remove": MessageLookupByLibrary.simpleMessage("Remover"), @@ -330,7 +330,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Remover do álbum?"), "removeParticipant": MessageLookupByLibrary.simpleMessage("Remover participante"), - "removeParticipantBody": m40, + "removeParticipantBody": m41, "removePublicLink": MessageLookupByLibrary.simpleMessage("Remover link público"), "removeShareItemsWarning": MessageLookupByLibrary.simpleMessage( @@ -357,7 +357,7 @@ class MessageLookup extends MessageLookupByLibrary { "Chave: definaSenha\n→ definaSenha"), "setupComplete": MessageLookupByLibrary.simpleMessage("Configuração concluída"), - "shareTextReferralCode": m46, + "shareTextReferralCode": m48, "sharing": MessageLookupByLibrary.simpleMessage("Compartilhando..."), "signUpTerms": MessageLookupByLibrary.simpleMessage( "Eu concordo com os termos de serviço e a política de privacidade"), @@ -373,7 +373,7 @@ class MessageLookup extends MessageLookupByLibrary { "sorryWeCouldNotGenerateSecureKeysOnThisDevicennplease": MessageLookupByLibrary.simpleMessage( "Desculpe, não foi possível gerar chaves seguras neste dispositivo.\n\npor favor, faça o login com um dispositivo diferente."), - "storageInGB": m52, + "storageInGB": m54, "strongStrength": MessageLookupByLibrary.simpleMessage("Forte"), "subscribe": MessageLookupByLibrary.simpleMessage("Inscrever-se"), "subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage( @@ -385,7 +385,7 @@ class MessageLookup extends MessageLookupByLibrary { "terminateSession": MessageLookupByLibrary.simpleMessage("Encerrar sessão?"), "termsOfServicesTitle": MessageLookupByLibrary.simpleMessage("Termos"), - "theyAlsoGetXGb": m57, + "theyAlsoGetXGb": m59, "thisCanBeUsedToRecoverYourAccountIfYou": MessageLookupByLibrary.simpleMessage( "Isso pode ser usado para recuperar sua conta se você perder seu segundo fator"), @@ -418,7 +418,7 @@ class MessageLookup extends MessageLookupByLibrary { "viewRecoveryKey": MessageLookupByLibrary.simpleMessage("Ver chave de recuperação"), "viewer": MessageLookupByLibrary.simpleMessage("Visualizador"), - "weHaveSendEmailTo": m61, + "weHaveSendEmailTo": m64, "weakStrength": MessageLookupByLibrary.simpleMessage("Fraca"), "welcomeBack": MessageLookupByLibrary.simpleMessage("Bem-vindo de volta!"), diff --git a/lib/generated/intl/messages_zh.dart b/lib/generated/intl/messages_zh.dart index a00cb907f..4d1060c32 100644 --- a/lib/generated/intl/messages_zh.dart +++ b/lib/generated/intl/messages_zh.dart @@ -23,169 +23,169 @@ class MessageLookup extends MessageLookupByLibrary { static String m0(count) => "${Intl.plural(count, one: '添加一个项目', other: '添加一些项目')}"; - static String m64(storageAmount, endDate) => + static String m1(storageAmount, endDate) => "您的 ${storageAmount} 插件有效期至 ${endDate}"; - static String m1(emailOrName) => "由 ${emailOrName} 添加"; + static String m2(emailOrName) => "由 ${emailOrName} 添加"; - static String m2(albumName) => "成功添加到 ${albumName}"; + static String m3(albumName) => "成功添加到 ${albumName}"; - static String m3(count) => + static String m4(count) => "${Intl.plural(count, zero: '无参与者', one: '1个参与者', other: '${count} 个参与者')}"; - static String m4(versionValue) => "版本: ${versionValue}"; + static String m5(versionValue) => "版本: ${versionValue}"; - static String m5(paymentProvider) => "请先取消您现有的订阅 ${paymentProvider}"; + static String m6(paymentProvider) => "请先取消您现有的订阅 ${paymentProvider}"; - static String m6(user) => "${user} 将无法添加更多照片到此相册\n\n他们仍然能够删除他们添加的现有照片"; + static String m7(user) => "${user} 将无法添加更多照片到此相册\n\n他们仍然能够删除他们添加的现有照片"; - static String m7(isFamilyMember, storageAmountInGb) => + static String m8(isFamilyMember, storageAmountInGb) => "${Intl.select(isFamilyMember, { 'true': '到目前为止,您的家庭已经领取了 ${storageAmountInGb} GB', 'false': '到目前为止,您已经领取了 ${storageAmountInGb} GB', 'other': '到目前为止,您已经领取了${storageAmountInGb} GB', })}"; - static String m8(albumName) => "为 ${albumName} 创建了协作链接"; + static String m9(albumName) => "为 ${albumName} 创建了协作链接"; - static String m9(familyAdminEmail) => + static String m10(familyAdminEmail) => "请联系 ${familyAdminEmail} 来管理您的订阅"; - static String m10(provider) => + static String m11(provider) => "请通过support@ente.io 用英语联系我们来管理您的 ${provider} 订阅。"; - static String m11(count) => + static String m12(count) => "${Intl.plural(count, one: '删除 ${count} 个项目', other: '删除 ${count} 个项目')}"; - static String m12(currentlyDeleting, totalCount) => + static String m13(currentlyDeleting, totalCount) => "正在删除 ${currentlyDeleting} /共 ${totalCount}"; - static String m13(albumName) => "这将删除用于访问\"${albumName}\"的公共链接。"; + static String m14(albumName) => "这将删除用于访问\"${albumName}\"的公共链接。"; - static String m14(supportEmail) => "请从您注册的电子邮件地址拖放一封邮件到 ${supportEmail}"; + static String m15(supportEmail) => "请从您注册的电子邮件地址拖放一封邮件到 ${supportEmail}"; - static String m15(count, storageSaved) => + static String m16(count, storageSaved) => "您已经清理了 ${Intl.plural(count, other: '${count} 个重复文件')}, 释放了 (${storageSaved}!)"; - static String m16(count, formattedSize) => + static String m17(count, formattedSize) => "${count} 个文件,每个文件 ${formattedSize}"; - static String m17(newEmail) => "电子邮件已更改为 ${newEmail}"; + static String m18(newEmail) => "电子邮件已更改为 ${newEmail}"; - static String m18(email) => "${email} 没有 ente 账户。\n\n向他们发送分享照片的邀请。"; + static String m19(email) => "${email} 没有 ente 账户。\n\n向他们发送分享照片的邀请。"; - static String m19(count, formattedNumber) => + static String m20(count, formattedNumber) => "此设备上的 ${Intl.plural(count, one: '1 个文件', other: '${formattedNumber} 个文件')} 已安全备份"; - static String m20(count, formattedNumber) => + static String m21(count, formattedNumber) => "此相册中的 ${Intl.plural(count, one: '1 个文件', other: '${formattedNumber} 个文件')} 已安全备份"; - static String m21(storageAmountInGB) => + static String m22(storageAmountInGB) => "每当有人注册付费计划时${storageAmountInGB} GB 并应用了您的代码"; - static String m22(freeAmount, storageUnit) => + static String m23(freeAmount, storageUnit) => "${freeAmount} ${storageUnit} 空闲"; - static String m23(endDate) => "免费试用有效期至 ${endDate}"; + static String m24(endDate) => "免费试用有效期至 ${endDate}"; - static String m24(count) => + static String m25(count) => "只要您有有效的订阅,您仍然可以在 ente 上访问 ${Intl.plural(count, one: 'it', other: 'them')}"; - static String m25(sizeInMBorGB) => "释放 ${sizeInMBorGB}"; + static String m26(sizeInMBorGB) => "释放 ${sizeInMBorGB}"; - static String m26(count, formattedSize) => + static String m27(count, formattedSize) => "${Intl.plural(count, one: '它可以从设备中删除以释放 ${formattedSize}', other: '它们可以从设备中删除以释放 ${formattedSize}')}"; - static String m27(count) => + static String m28(count) => "${Intl.plural(count, one: '${count} 个项目', other: '${count} 个项目')}"; - static String m28(expiryTime) => "链接将在 ${expiryTime} 过期"; + static String m29(expiryTime) => "链接将在 ${expiryTime} 过期"; - static String m29(count, formattedCount) => + static String m30(count, formattedCount) => "${Intl.plural(count, zero: '没有回忆', one: '${formattedCount} 个回忆', other: '${formattedCount} 个回忆')}"; - static String m30(count) => + static String m31(count) => "${Intl.plural(count, one: '移动一个项目', other: '移动一些项目')}"; - static String m31(albumName) => "成功移动到 ${albumName}"; + static String m32(albumName) => "成功移动到 ${albumName}"; - static String m32(passwordStrengthValue) => "密码强度: ${passwordStrengthValue}"; + static String m33(passwordStrengthValue) => "密码强度: ${passwordStrengthValue}"; - static String m33(providerName) => "如果您被收取费用,请用英语与 ${providerName} 的客服聊天"; + static String m34(providerName) => "如果您被收取费用,请用英语与 ${providerName} 的客服聊天"; - static String m34(reason) => "很抱歉,您的支付因 ${reason} 而失败"; + static String m35(reason) => "很抱歉,您的支付因 ${reason} 而失败"; - static String m35(endDate) => "免费试用有效期至 ${endDate}。\n之后您可以选择付费计划。"; + static String m36(endDate) => "免费试用有效期至 ${endDate}。\n之后您可以选择付费计划。"; - static String m36(toEmail) => "请给我们发送电子邮件至 ${toEmail}"; + static String m37(toEmail) => "请给我们发送电子邮件至 ${toEmail}"; - static String m37(toEmail) => "请将日志发送至 \n${toEmail}"; + static String m38(toEmail) => "请将日志发送至 \n${toEmail}"; - static String m38(storeName) => "在 ${storeName} 上给我们评分"; + static String m39(storeName) => "在 ${storeName} 上给我们评分"; - static String m39(storageInGB) => "3. 你都可以免费获得 ${storageInGB} GB*"; + static String m40(storageInGB) => "3. 你都可以免费获得 ${storageInGB} GB*"; - static String m40(userEmail) => + static String m41(userEmail) => "${userEmail} 将从这个共享相册中删除\n\nTA们添加的任何照片也将从相册中删除"; - static String m41(endDate) => "在 ${endDate} 前续费"; + static String m42(endDate) => "在 ${endDate} 前续费"; - static String m65(count) => + static String m43(count) => "${Intl.plural(count, other: '已找到 ${count} 个结果')}"; - static String m42(count) => "已选择 ${count} 个"; + static String m44(count) => "已选择 ${count} 个"; - static String m43(count, yourCount) => "选择了 ${count} 个 (您的 ${yourCount} 个)"; + static String m45(count, yourCount) => "选择了 ${count} 个 (您的 ${yourCount} 个)"; - static String m44(verificationID) => "这是我的ente.io 的验证 ID: ${verificationID}。"; + static String m46(verificationID) => "这是我的ente.io 的验证 ID: ${verificationID}。"; - static String m45(verificationID) => + static String m47(verificationID) => "嘿,你能确认这是你的 ente.io 验证 ID:${verificationID}"; - static String m46(referralCode, referralStorageInGB) => + static String m48(referralCode, referralStorageInGB) => "ente转发码: ${referralCode} \n\n在设置 → 常规 → 推荐中应用它以在注册付费计划后可以免费获得 ${referralStorageInGB} GB\n\nhttps://ente.io"; - static String m47(numberOfPeople) => + static String m49(numberOfPeople) => "${Intl.plural(numberOfPeople, zero: '与特定人员共享', one: '与 1 人共享', other: '与 ${numberOfPeople} 人共享')}"; - static String m48(emailIDs) => "与 ${emailIDs} 共享"; + static String m50(emailIDs) => "与 ${emailIDs} 共享"; - static String m49(fileType) => "此 ${fileType} 将从您的设备中删除。"; + static String m51(fileType) => "此 ${fileType} 将从您的设备中删除。"; - static String m50(fileType) => "此 ${fileType} 同时在ente和您的设备中。"; + static String m52(fileType) => "此 ${fileType} 同时在ente和您的设备中。"; - static String m51(fileType) => "此 ${fileType} 将从ente中删除。"; + static String m53(fileType) => "此 ${fileType} 将从ente中删除。"; - static String m52(storageAmountInGB) => "${storageAmountInGB} GB"; + static String m54(storageAmountInGB) => "${storageAmountInGB} GB"; - static String m53( + static String m55( usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) => "已使用 ${usedAmount} ${usedStorageUnit} / ${totalAmount} ${totalStorageUnit}"; - static String m54(id) => + static String m56(id) => "您的 ${id} 已经链接到另一个ente账户。\n如果您想要通过此账户使用您的 ${id} ,请联系我们的客服\'\'"; - static String m55(endDate) => "您的订阅将于 ${endDate} 取消"; + static String m57(endDate) => "您的订阅将于 ${endDate} 取消"; - static String m56(completed, total) => "已保存的回忆 ${completed}/共 ${total}"; + static String m58(completed, total) => "已保存的回忆 ${completed}/共 ${total}"; - static String m57(storageAmountInGB) => "他们也会获得 ${storageAmountInGB} GB"; + static String m59(storageAmountInGB) => "他们也会获得 ${storageAmountInGB} GB"; - static String m58(email) => "这是 ${email} 的验证ID"; + static String m60(email) => "这是 ${email} 的验证ID"; - static String m59(count) => + static String m61(count) => "${Intl.plural(count, zero: '', one: '1天', other: '${count} 天')}"; - static String m66(endDate) => "有效期至 ${endDate}"; + static String m62(endDate) => "有效期至 ${endDate}"; - static String m60(email) => "验证 ${email}"; + static String m63(email) => "验证 ${email}"; - static String m61(email) => "我们已经发送邮件到 ${email}"; + static String m64(email) => "我们已经发送邮件到 ${email}"; - static String m62(count) => + static String m65(count) => "${Intl.plural(count, one: '${count} 年前', other: '${count} 年前')}"; - static String m63(storageSaved) => "您已成功释放了 ${storageSaved}!"; + static String m66(storageSaved) => "您已成功释放了 ${storageSaved}!"; final messages = _notInlinedMessages(_notInlinedMessages); static Map _notInlinedMessages(_) => { @@ -206,7 +206,7 @@ class MessageLookup extends MessageLookupByLibrary { "addMore": MessageLookupByLibrary.simpleMessage("添加更多"), "addNew": MessageLookupByLibrary.simpleMessage("新建"), "addOnPageSubtitle": MessageLookupByLibrary.simpleMessage("附加组件详情"), - "addOnValidTill": m64, + "addOnValidTill": m1, "addOns": MessageLookupByLibrary.simpleMessage("附加组件"), "addPhotos": MessageLookupByLibrary.simpleMessage("添加照片"), "addSelected": MessageLookupByLibrary.simpleMessage("添加所选项"), @@ -216,8 +216,8 @@ class MessageLookup extends MessageLookupByLibrary { "addViewer": MessageLookupByLibrary.simpleMessage("添加查看者"), "addYourPhotosNow": MessageLookupByLibrary.simpleMessage("立即添加您的照片"), "addedAs": MessageLookupByLibrary.simpleMessage("已添加为"), - "addedBy": m1, - "addedSuccessfullyTo": m2, + "addedBy": m2, + "addedSuccessfullyTo": m3, "addingToFavorites": MessageLookupByLibrary.simpleMessage("正在添加到收藏..."), "advanced": MessageLookupByLibrary.simpleMessage("高级设置"), "advancedSettings": MessageLookupByLibrary.simpleMessage("高级设置"), @@ -227,7 +227,7 @@ class MessageLookup extends MessageLookupByLibrary { "after1Week": MessageLookupByLibrary.simpleMessage("1 周后"), "after1Year": MessageLookupByLibrary.simpleMessage("1 年后"), "albumOwner": MessageLookupByLibrary.simpleMessage("所有者"), - "albumParticipantsCount": m3, + "albumParticipantsCount": m4, "albumTitle": MessageLookupByLibrary.simpleMessage("相册标题"), "albumUpdated": MessageLookupByLibrary.simpleMessage("相册已更新"), "albums": MessageLookupByLibrary.simpleMessage("相册"), @@ -256,7 +256,7 @@ class MessageLookup extends MessageLookupByLibrary { "androidIosWebDesktop": MessageLookupByLibrary.simpleMessage("安卓, iOS, 网页端, 桌面端"), "androidSignInTitle": MessageLookupByLibrary.simpleMessage("需要身份验证"), - "appVersion": m4, + "appVersion": m5, "appleId": MessageLookupByLibrary.simpleMessage("Apple ID"), "apply": MessageLookupByLibrary.simpleMessage("应用"), "applyCodeTitle": MessageLookupByLibrary.simpleMessage("应用代码"), @@ -328,9 +328,9 @@ class MessageLookup extends MessageLookupByLibrary { "canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage("只能删除您拥有的文件"), "cancel": MessageLookupByLibrary.simpleMessage("取消"), - "cancelOtherSubscription": m5, + "cancelOtherSubscription": m6, "cancelSubscription": MessageLookupByLibrary.simpleMessage("取消订阅"), - "cannotAddMorePhotosAfterBecomingViewer": m6, + "cannotAddMorePhotosAfterBecomingViewer": m7, "cannotDeleteSharedFiles": MessageLookupByLibrary.simpleMessage("无法删除共享文件"), "centerPoint": MessageLookupByLibrary.simpleMessage("中心点"), @@ -345,7 +345,7 @@ class MessageLookup extends MessageLookupByLibrary { "claimFreeStorage": MessageLookupByLibrary.simpleMessage("领取免费存储"), "claimMore": MessageLookupByLibrary.simpleMessage("领取更多!"), "claimed": MessageLookupByLibrary.simpleMessage("已领取"), - "claimedStorageSoFar": m7, + "claimedStorageSoFar": m8, "clearCaches": MessageLookupByLibrary.simpleMessage("清除缓存"), "click": MessageLookupByLibrary.simpleMessage("• 点击"), "clickOnTheOverflowMenu": @@ -360,7 +360,7 @@ class MessageLookup extends MessageLookupByLibrary { "collabLinkSectionDescription": MessageLookupByLibrary.simpleMessage( "创建一个链接以允许人们在您的共享相册中添加和查看照片,而无需应用程序或账户。 非常适合收集活动照片。"), "collaborativeLink": MessageLookupByLibrary.simpleMessage("协作链接"), - "collaborativeLinkCreatedFor": m8, + "collaborativeLinkCreatedFor": m9, "collaborator": MessageLookupByLibrary.simpleMessage("协作者"), "collaboratorsCanAddPhotosAndVideosToTheSharedAlbum": MessageLookupByLibrary.simpleMessage("协作者可以将照片和视频添加到共享相册中。"), @@ -381,9 +381,9 @@ class MessageLookup extends MessageLookupByLibrary { "confirmRecoveryKey": MessageLookupByLibrary.simpleMessage("确认恢复密钥"), "confirmYourRecoveryKey": MessageLookupByLibrary.simpleMessage("确认您的恢复密钥"), - "contactFamilyAdmin": m9, + "contactFamilyAdmin": m10, "contactSupport": MessageLookupByLibrary.simpleMessage("联系支持"), - "contactToManageSubscription": m10, + "contactToManageSubscription": m11, "contacts": MessageLookupByLibrary.simpleMessage("联系人"), "contents": MessageLookupByLibrary.simpleMessage("内容"), "continueLabel": MessageLookupByLibrary.simpleMessage("继续"), @@ -441,10 +441,10 @@ class MessageLookup extends MessageLookupByLibrary { "deleteFromBoth": MessageLookupByLibrary.simpleMessage("同时从两者中删除"), "deleteFromDevice": MessageLookupByLibrary.simpleMessage("从设备中删除"), "deleteFromEnte": MessageLookupByLibrary.simpleMessage("从ente 中删除"), - "deleteItemCount": m11, + "deleteItemCount": m12, "deleteLocation": MessageLookupByLibrary.simpleMessage("删除位置"), "deletePhotos": MessageLookupByLibrary.simpleMessage("删除照片"), - "deleteProgress": m12, + "deleteProgress": m13, "deleteReason1": MessageLookupByLibrary.simpleMessage("找不到我想要的功能"), "deleteReason2": MessageLookupByLibrary.simpleMessage("应用或某个功能不会有 行为。我认为它应该有的"), @@ -471,7 +471,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("查看者仍然可以使用外部工具截图或保存您的照片副本"), "disableDownloadWarningTitle": MessageLookupByLibrary.simpleMessage("请注意"), - "disableLinkMessage": m13, + "disableLinkMessage": m14, "disableTwofactor": MessageLookupByLibrary.simpleMessage("禁用双因素认证"), "disablingTwofactorAuthentication": MessageLookupByLibrary.simpleMessage("正在禁用双因素认证..."), @@ -488,16 +488,16 @@ class MessageLookup extends MessageLookupByLibrary { "download": MessageLookupByLibrary.simpleMessage("下载"), "downloadFailed": MessageLookupByLibrary.simpleMessage("下載失敗"), "downloading": MessageLookupByLibrary.simpleMessage("正在下载..."), - "dropSupportEmail": m14, - "duplicateFileCountWithStorageSaved": m15, - "duplicateItemsGroup": m16, + "dropSupportEmail": m15, + "duplicateFileCountWithStorageSaved": m16, + "duplicateItemsGroup": m17, "edit": MessageLookupByLibrary.simpleMessage("编辑"), "editLocationTagTitle": MessageLookupByLibrary.simpleMessage("编辑位置"), "editsSaved": MessageLookupByLibrary.simpleMessage("已保存编辑"), "eligible": MessageLookupByLibrary.simpleMessage("符合资格"), "email": MessageLookupByLibrary.simpleMessage("电子邮件地址"), - "emailChangedTo": m17, - "emailNoEnteAccount": m18, + "emailChangedTo": m18, + "emailNoEnteAccount": m19, "emailVerificationToggle": MessageLookupByLibrary.simpleMessage("电子邮件验证"), "emailYourLogs": MessageLookupByLibrary.simpleMessage("通过电子邮件发送您的日志"), @@ -574,23 +574,23 @@ class MessageLookup extends MessageLookupByLibrary { "fileSavedToGallery": MessageLookupByLibrary.simpleMessage("文件已保存到相册"), "fileTypes": MessageLookupByLibrary.simpleMessage("文件类型"), "fileTypesAndNames": MessageLookupByLibrary.simpleMessage("文件类型和名称"), - "filesBackedUpFromDevice": m19, - "filesBackedUpInAlbum": m20, + "filesBackedUpFromDevice": m20, + "filesBackedUpInAlbum": m21, "filesDeleted": MessageLookupByLibrary.simpleMessage("文件已删除"), "flip": MessageLookupByLibrary.simpleMessage("上下翻转"), "forYourMemories": MessageLookupByLibrary.simpleMessage("为您的回忆"), "forgotPassword": MessageLookupByLibrary.simpleMessage("忘记密码"), "freeStorageClaimed": MessageLookupByLibrary.simpleMessage("已领取的免费存储"), - "freeStorageOnReferralSuccess": m21, - "freeStorageSpace": m22, + "freeStorageOnReferralSuccess": m22, + "freeStorageSpace": m23, "freeStorageUsable": MessageLookupByLibrary.simpleMessage("可用的免费存储"), "freeTrial": MessageLookupByLibrary.simpleMessage("免费试用"), - "freeTrialValidTill": m23, - "freeUpAccessPostDelete": m24, - "freeUpAmount": m25, + "freeTrialValidTill": m24, + "freeUpAccessPostDelete": m25, + "freeUpAmount": m26, "freeUpDeviceSpace": MessageLookupByLibrary.simpleMessage("释放设备空间"), "freeUpSpace": MessageLookupByLibrary.simpleMessage("释放空间"), - "freeUpSpaceSaving": m26, + "freeUpSpaceSaving": m27, "galleryMemoryLimitInfo": MessageLookupByLibrary.simpleMessage("在图库中显示最多1000个回忆"), "general": MessageLookupByLibrary.simpleMessage("通用"), @@ -645,7 +645,7 @@ class MessageLookup extends MessageLookupByLibrary { "itLooksLikeSomethingWentWrongPleaseRetryAfterSome": MessageLookupByLibrary.simpleMessage( "看起来出了点问题。 请稍后重试。 如果错误仍然存在,请联系我们的支持团队。"), - "itemCount": m27, + "itemCount": m28, "itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion": MessageLookupByLibrary.simpleMessage("项目显示永久删除前剩余的天数"), "itemsWillBeRemovedFromAlbum": @@ -667,7 +667,7 @@ class MessageLookup extends MessageLookupByLibrary { "linkDeviceLimit": MessageLookupByLibrary.simpleMessage("设备限制"), "linkEnabled": MessageLookupByLibrary.simpleMessage("已启用"), "linkExpired": MessageLookupByLibrary.simpleMessage("已过期"), - "linkExpiresOn": m28, + "linkExpiresOn": m29, "linkExpiry": MessageLookupByLibrary.simpleMessage("链接过期"), "linkHasExpired": MessageLookupByLibrary.simpleMessage("链接已过期"), "linkNeverExpires": MessageLookupByLibrary.simpleMessage("永不"), @@ -721,7 +721,7 @@ class MessageLookup extends MessageLookupByLibrary { "maps": MessageLookupByLibrary.simpleMessage("地图"), "mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"), "matrix": MessageLookupByLibrary.simpleMessage("Matrix"), - "memoryCount": m29, + "memoryCount": m30, "merchandise": MessageLookupByLibrary.simpleMessage("商品"), "mobileWebDesktop": MessageLookupByLibrary.simpleMessage("移动端, 网页端, 桌面端"), @@ -730,10 +730,10 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("修改您的查询,或尝试搜索"), "moments": MessageLookupByLibrary.simpleMessage("瞬间"), "monthly": MessageLookupByLibrary.simpleMessage("每月"), - "moveItem": m30, + "moveItem": m31, "moveToAlbum": MessageLookupByLibrary.simpleMessage("移动到相册"), "moveToHiddenAlbum": MessageLookupByLibrary.simpleMessage("移至隐藏相册"), - "movedSuccessfullyTo": m31, + "movedSuccessfullyTo": m32, "movedToTrash": MessageLookupByLibrary.simpleMessage("已移至回收站"), "movingFilesToAlbum": MessageLookupByLibrary.simpleMessage("正在将文件移动到相册..."), @@ -792,13 +792,13 @@ class MessageLookup extends MessageLookupByLibrary { "passwordChangedSuccessfully": MessageLookupByLibrary.simpleMessage("密码修改成功"), "passwordLock": MessageLookupByLibrary.simpleMessage("密码锁"), - "passwordStrength": m32, + "passwordStrength": m33, "passwordWarning": MessageLookupByLibrary.simpleMessage( "我们不储存这个密码,所以如果忘记, 我们不能解密您的数据"), "paymentDetails": MessageLookupByLibrary.simpleMessage("付款明细"), "paymentFailed": MessageLookupByLibrary.simpleMessage("支付失败"), - "paymentFailedTalkToProvider": m33, - "paymentFailedWithReason": m34, + "paymentFailedTalkToProvider": m34, + "paymentFailedWithReason": m35, "pendingSync": MessageLookupByLibrary.simpleMessage("正在等待同步"), "peopleUsingYourCode": MessageLookupByLibrary.simpleMessage("使用您的代码的人"), "permDeleteWarning": @@ -814,7 +814,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("您添加的照片将从相册中移除"), "pickCenterPoint": MessageLookupByLibrary.simpleMessage("选择中心点"), "pinAlbum": MessageLookupByLibrary.simpleMessage("置顶相册"), - "playStoreFreeTrialValidTill": m35, + "playStoreFreeTrialValidTill": m36, "playstoreSubscription": MessageLookupByLibrary.simpleMessage("PlayStore 订阅"), "pleaseCheckYourInternetConnectionAndTryAgain": @@ -824,10 +824,10 @@ class MessageLookup extends MessageLookupByLibrary { "请用英语联系 support@ente.io ,我们将乐意提供帮助!"), "pleaseContactSupportIfTheProblemPersists": MessageLookupByLibrary.simpleMessage("如果问题仍然存在,请联系支持"), - "pleaseEmailUsAt": m36, + "pleaseEmailUsAt": m37, "pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage("请授予权限"), "pleaseLoginAgain": MessageLookupByLibrary.simpleMessage("请重新登录"), - "pleaseSendTheLogsTo": m37, + "pleaseSendTheLogsTo": m38, "pleaseTryAgain": MessageLookupByLibrary.simpleMessage("请重试"), "pleaseVerifyTheCodeYouHaveEntered": MessageLookupByLibrary.simpleMessage("请验证您输入的代码"), @@ -853,7 +853,7 @@ class MessageLookup extends MessageLookupByLibrary { "raiseTicket": MessageLookupByLibrary.simpleMessage("提升工单"), "rateTheApp": MessageLookupByLibrary.simpleMessage("为此应用评分"), "rateUs": MessageLookupByLibrary.simpleMessage("给我们评分"), - "rateUsOnStore": m38, + "rateUsOnStore": m39, "recover": MessageLookupByLibrary.simpleMessage("恢复"), "recoverAccount": MessageLookupByLibrary.simpleMessage("恢复账户"), "recoverButton": MessageLookupByLibrary.simpleMessage("恢复"), @@ -878,7 +878,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("推荐朋友和 2 倍您的计划"), "referralStep1": MessageLookupByLibrary.simpleMessage("1. 将此代码提供给您的朋友"), "referralStep2": MessageLookupByLibrary.simpleMessage("2. 他们注册一个付费计划"), - "referralStep3": m39, + "referralStep3": m40, "referrals": MessageLookupByLibrary.simpleMessage("推荐人"), "referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage("推荐已暂停"), @@ -897,7 +897,7 @@ class MessageLookup extends MessageLookupByLibrary { "removeFromFavorite": MessageLookupByLibrary.simpleMessage("从收藏中移除"), "removeLink": MessageLookupByLibrary.simpleMessage("移除链接"), "removeParticipant": MessageLookupByLibrary.simpleMessage("移除参与者"), - "removeParticipantBody": m40, + "removeParticipantBody": m41, "removePublicLink": MessageLookupByLibrary.simpleMessage("删除公开链接"), "removeShareItemsWarning": MessageLookupByLibrary.simpleMessage("您要删除的某些项目是由其他人添加的,您将无法访问它们"), @@ -908,7 +908,7 @@ class MessageLookup extends MessageLookupByLibrary { "renameAlbum": MessageLookupByLibrary.simpleMessage("重命名相册"), "renameFile": MessageLookupByLibrary.simpleMessage("重命名文件"), "renewSubscription": MessageLookupByLibrary.simpleMessage("续费订阅"), - "renewsOn": m41, + "renewsOn": m42, "reportABug": MessageLookupByLibrary.simpleMessage("报告错误"), "reportBug": MessageLookupByLibrary.simpleMessage("报告错误"), "resendEmail": MessageLookupByLibrary.simpleMessage("重新发送电子邮件"), @@ -956,7 +956,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("在照片的一定半径内拍摄的几组照片"), "searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage("邀请他人,您将在此看到他们分享的所有照片"), - "searchResultCount": m65, + "searchResultCount": m43, "security": MessageLookupByLibrary.simpleMessage("安全"), "selectAlbum": MessageLookupByLibrary.simpleMessage("选择相册"), "selectAll": MessageLookupByLibrary.simpleMessage("全选"), @@ -973,8 +973,8 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("所选文件夹将被加密和备份"), "selectedItemsWillBeDeletedFromAllAlbumsAndMoved": MessageLookupByLibrary.simpleMessage("所选项目将从所有相册中删除并移动到回收站。"), - "selectedPhotos": m42, - "selectedPhotosWithYours": m43, + "selectedPhotos": m44, + "selectedPhotosWithYours": m45, "send": MessageLookupByLibrary.simpleMessage("发送"), "sendEmail": MessageLookupByLibrary.simpleMessage("发送电子邮件"), "sendInvite": MessageLookupByLibrary.simpleMessage("发送邀请"), @@ -993,16 +993,16 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("打开相册并点击右上角的分享按钮进行分享"), "shareAnAlbumNow": MessageLookupByLibrary.simpleMessage("立即分享相册"), "shareLink": MessageLookupByLibrary.simpleMessage("分享链接"), - "shareMyVerificationID": m44, + "shareMyVerificationID": m46, "shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage("仅与您想要的人分享"), - "shareTextConfirmOthersVerificationID": m45, + "shareTextConfirmOthersVerificationID": m47, "shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage( "下载 ente,以便我们轻松分享原始质量的照片和视频\n\nhttps://ente.io"), - "shareTextReferralCode": m46, + "shareTextReferralCode": m48, "shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage("与非ente 用户分享"), - "shareWithPeopleSectionTitle": m47, + "shareWithPeopleSectionTitle": m49, "shareYourFirstAlbum": MessageLookupByLibrary.simpleMessage("分享您的第一个相册"), "sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage( @@ -1013,7 +1013,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("新共享的照片"), "sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage("当有人将照片添加到您所属的共享相册时收到通知"), - "sharedWith": m48, + "sharedWith": m50, "sharedWithMe": MessageLookupByLibrary.simpleMessage("与我共享"), "sharedWithYou": MessageLookupByLibrary.simpleMessage("已与您共享"), "sharing": MessageLookupByLibrary.simpleMessage("正在分享..."), @@ -1025,11 +1025,11 @@ class MessageLookup extends MessageLookupByLibrary { "signOutOtherDevices": MessageLookupByLibrary.simpleMessage("登出其他设备"), "signUpTerms": MessageLookupByLibrary.simpleMessage( "我同意 服务条款隐私政策"), - "singleFileDeleteFromDevice": m49, + "singleFileDeleteFromDevice": m51, "singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage("它将从所有相册中删除。"), - "singleFileInBothLocalAndRemote": m50, - "singleFileInRemoteOnly": m51, + "singleFileInBothLocalAndRemote": m52, + "singleFileInRemoteOnly": m53, "skip": MessageLookupByLibrary.simpleMessage("略过"), "social": MessageLookupByLibrary.simpleMessage("社交"), "someItemsAreInBothEnteAndYourDevice": @@ -1059,12 +1059,12 @@ class MessageLookup extends MessageLookupByLibrary { "storage": MessageLookupByLibrary.simpleMessage("存储空间"), "storageBreakupFamily": MessageLookupByLibrary.simpleMessage("家庭"), "storageBreakupYou": MessageLookupByLibrary.simpleMessage("您"), - "storageInGB": m52, + "storageInGB": m54, "storageLimitExceeded": MessageLookupByLibrary.simpleMessage("已超出存储限制"), - "storageUsageInfo": m53, + "storageUsageInfo": m55, "strongStrength": MessageLookupByLibrary.simpleMessage("强"), - "subAlreadyLinkedErrMessage": m54, - "subWillBeCancelledOn": m55, + "subAlreadyLinkedErrMessage": m56, + "subWillBeCancelledOn": m57, "subscribe": MessageLookupByLibrary.simpleMessage("订阅"), "subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage("您的订阅似乎已过期。请订阅以启用分享。"), @@ -1077,7 +1077,7 @@ class MessageLookup extends MessageLookupByLibrary { "successfullyUnhid": MessageLookupByLibrary.simpleMessage("已成功取消隐藏"), "suggestFeatures": MessageLookupByLibrary.simpleMessage("建议新功能"), "support": MessageLookupByLibrary.simpleMessage("支持"), - "syncProgress": m56, + "syncProgress": m58, "syncStopped": MessageLookupByLibrary.simpleMessage("同步已停止"), "syncing": MessageLookupByLibrary.simpleMessage("正在同步···"), "systemTheme": MessageLookupByLibrary.simpleMessage("系统"), @@ -1100,7 +1100,7 @@ class MessageLookup extends MessageLookupByLibrary { "theme": MessageLookupByLibrary.simpleMessage("主题"), "theseItemsWillBeDeletedFromYourDevice": MessageLookupByLibrary.simpleMessage("这些项目将从您的设备中删除。"), - "theyAlsoGetXGb": m57, + "theyAlsoGetXGb": m59, "theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage("他们将从所有相册中删除。"), "thisActionCannotBeUndone": @@ -1114,7 +1114,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("这个邮箱地址已经被使用"), "thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage("此图像没有Exif 数据"), - "thisIsPersonVerificationId": m58, + "thisIsPersonVerificationId": m60, "thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage("这是您的验证 ID"), "thisWillLogYouOutOfTheFollowingDevice": @@ -1128,7 +1128,7 @@ class MessageLookup extends MessageLookupByLibrary { "total": MessageLookupByLibrary.simpleMessage("总计"), "totalSize": MessageLookupByLibrary.simpleMessage("总大小"), "trash": MessageLookupByLibrary.simpleMessage("回收站"), - "trashDaysLeft": m59, + "trashDaysLeft": m61, "tryAgain": MessageLookupByLibrary.simpleMessage("请再试一次"), "turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage("打开备份以自动上传添加到此设备文件夹的文件。"), @@ -1171,13 +1171,13 @@ class MessageLookup extends MessageLookupByLibrary { "useRecoveryKey": MessageLookupByLibrary.simpleMessage("使用恢复密钥"), "useSelectedPhoto": MessageLookupByLibrary.simpleMessage("使用所选照片"), "usedSpace": MessageLookupByLibrary.simpleMessage("已用空间"), - "validTill": m66, + "validTill": m62, "verificationFailedPleaseTryAgain": MessageLookupByLibrary.simpleMessage("验证失败,请重试"), "verificationId": MessageLookupByLibrary.simpleMessage("验证 ID"), "verify": MessageLookupByLibrary.simpleMessage("验证"), "verifyEmail": MessageLookupByLibrary.simpleMessage("验证电子邮件"), - "verifyEmailID": m60, + "verifyEmailID": m63, "verifyIDLabel": MessageLookupByLibrary.simpleMessage("验证"), "verifyPassword": MessageLookupByLibrary.simpleMessage("验证密码"), "verifying": MessageLookupByLibrary.simpleMessage("正在验证..."), @@ -1197,11 +1197,11 @@ class MessageLookup extends MessageLookupByLibrary { "weAreOpenSource": MessageLookupByLibrary.simpleMessage("我们是开源的 !"), "weDontSupportEditingPhotosAndAlbumsThatYouDont": MessageLookupByLibrary.simpleMessage("我们不支持编辑您尚未拥有的照片和相册"), - "weHaveSendEmailTo": m61, + "weHaveSendEmailTo": m64, "weakStrength": MessageLookupByLibrary.simpleMessage("弱"), "welcomeBack": MessageLookupByLibrary.simpleMessage("欢迎回来!"), "yearly": MessageLookupByLibrary.simpleMessage("每年"), - "yearsAgo": m62, + "yearsAgo": m65, "yes": MessageLookupByLibrary.simpleMessage("是"), "yesCancel": MessageLookupByLibrary.simpleMessage("是的,取消"), "yesConvertToViewer": MessageLookupByLibrary.simpleMessage("是的,转换为查看者"), @@ -1227,7 +1227,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("莫开玩笑,您不能与自己分享"), "youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage("您没有任何存档的项目。"), - "youHaveSuccessfullyFreedUp": m63, + "youHaveSuccessfullyFreedUp": m66, "yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage("您的账户已删除"), "yourMap": MessageLookupByLibrary.simpleMessage("您的地图"), diff --git a/lib/generated/l10n.dart b/lib/generated/l10n.dart index 4db1875fd..26a0e478f 100644 --- a/lib/generated/l10n.dart +++ b/lib/generated/l10n.dart @@ -4906,6 +4906,16 @@ class S { ); } + /// `Processing {currentlyProcessing} / {totalCount}` + String genericProgress(int currentlyProcessing, int totalCount) { + return Intl.message( + 'Processing $currentlyProcessing / $totalCount', + name: 'genericProgress', + desc: 'Generic progress text to display when processing multiple items', + args: [currentlyProcessing, totalCount], + ); + } + /// `Permanently delete` String get permanentlyDelete { return Intl.message( diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index decc09505..fabdd9036 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -696,6 +696,22 @@ "deleteEmptyAlbumsWithQuestionMark": "Delete empty albums?", "deleteAlbumsDialogBody": "This will delete all empty albums. This is useful when you want to reduce the clutter in your album list.", "deleteProgress": "Deleting {currentlyDeleting} / {totalCount}", + "genericProgress": "Processing {currentlyProcessing} / {totalCount}", + "@genericProgress" : { + "description": "Generic progress text to display when processing multiple items", + "type": "text", + "placeholders": { + "currentlyProcessing": { + "example": "1", + "type": "int" + }, + "totalCount": { + "example": "10", + "type": "int" + } + } + }, + "permanentlyDelete": "Permanently delete", "canOnlyCreateLinkForFilesOwnedByYou": "Can only create link for files owned by you", "publicLinkCreated": "Public link created", diff --git a/lib/ui/tools/deduplicate_page.dart b/lib/ui/tools/deduplicate_page.dart index 428d35b3f..36038237e 100644 --- a/lib/ui/tools/deduplicate_page.dart +++ b/lib/ui/tools/deduplicate_page.dart @@ -162,6 +162,22 @@ class _DeduplicatePageState extends State { ? const SizedBox.shrink() : Column( children: [ + ValueListenableBuilder( + valueListenable: _deleteProgress, + builder: (BuildContext context, value, Widget? child) { + if (value.isEmpty) { + return const SizedBox.shrink(); + } else { + return Padding( + padding: const EdgeInsets.all(4), + child: Text( + value, // Show the value + style: getEnteTextTheme(context).bodyMuted, + ), + ); + } + }, + ), _getDeleteButton(), const SizedBox(height: crossAxisSpacing / 2), ], @@ -288,7 +304,7 @@ class _DeduplicatePageState extends State { fontSize: 12, ), ), - const Padding(padding: EdgeInsets.all(2)), + const Padding(padding: EdgeInsets.all(4)), ], ), onPressed: () async { @@ -314,27 +330,36 @@ class _DeduplicatePageState extends State { final EnteFile fileToKeep = sortedFiles.first; filesToDelele.addAll(sortedFiles.sublist(1)); for (final collectionID in _duplicates[index].collectionIDs) { + if (fileToKeep.collectionID == collectionID) { + continue; + } if (!collectionToFilesToAddMap.containsKey(collectionID)) { collectionToFilesToAddMap[collectionID] = []; } - if (fileToKeep.collectionID != collectionID) { - collectionToFilesToAddMap[collectionID]!.add(fileToKeep); - } + collectionToFilesToAddMap[collectionID]!.add(fileToKeep); } } } + final int collectionCnt = collectionToFilesToAddMap.keys.length; + int progress = 0; for (final collectionID in collectionToFilesToAddMap.keys) { + if (!mounted) { + return; + } + if (collectionCnt > 0) { + progress++; + // calculate progress percentage upto 2 decimal places + final double percentage = (progress / collectionCnt) * 100; + _deleteProgress.value = '$percentage%'; + } log("AddingNow ${collectionToFilesToAddMap[collectionID]!.length} files to $collectionID"); await CollectionsService.instance.addSilentlyToCollection( collectionID, collectionToFilesToAddMap[collectionID]!, ); } - showToast( - context, - 'Should move & delete ${filesToDelele.length} files} ', - ).ignore(); - if (filesToDelele.isEmpty) { + _deleteProgress.value = ""; + if (filesToDelele.isNotEmpty) { await deleteFilesFromRemoteOnly(context, filesToDelele); Bus.instance.fire(UserDetailsChangedEvent()); Navigator.of(context) From 2c2e9d9c449ebc6b869d4d53b076ddf85e5aff5c Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Fri, 15 Dec 2023 06:05:04 +0530 Subject: [PATCH 21/24] Remove unused import --- lib/ui/tools/deduplicate_page.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/ui/tools/deduplicate_page.dart b/lib/ui/tools/deduplicate_page.dart index 36038237e..46c55da0c 100644 --- a/lib/ui/tools/deduplicate_page.dart +++ b/lib/ui/tools/deduplicate_page.dart @@ -18,7 +18,6 @@ import 'package:photos/utils/data_util.dart'; import 'package:photos/utils/delete_file_util.dart'; import "package:photos/utils/dialog_util.dart"; import 'package:photos/utils/navigation_util.dart'; -import "package:photos/utils/toast_util.dart"; class DeduplicatePage extends StatefulWidget { final List duplicates; From 8f01d7d506fc134a939021aaff134e8de5e9b733 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Fri, 15 Dec 2023 06:27:34 +0530 Subject: [PATCH 22/24] Fix padding --- lib/ui/tools/deduplicate_page.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ui/tools/deduplicate_page.dart b/lib/ui/tools/deduplicate_page.dart index 46c55da0c..67cc93caf 100644 --- a/lib/ui/tools/deduplicate_page.dart +++ b/lib/ui/tools/deduplicate_page.dart @@ -303,7 +303,7 @@ class _DeduplicatePageState extends State { fontSize: 12, ), ), - const Padding(padding: EdgeInsets.all(4)), + const Padding(padding: EdgeInsets.all(2)), ], ), onPressed: () async { From 7419555b3109d419ff84c6e938307de692b0cc4d Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Fri, 15 Dec 2023 14:03:55 +0530 Subject: [PATCH 23/24] Fix: dispose valueNotifier --- lib/ui/tools/deduplicate_page.dart | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/ui/tools/deduplicate_page.dart b/lib/ui/tools/deduplicate_page.dart index 67cc93caf..729d6b79b 100644 --- a/lib/ui/tools/deduplicate_page.dart +++ b/lib/ui/tools/deduplicate_page.dart @@ -48,6 +48,12 @@ class _DeduplicatePageState extends State { super.initState(); } + @override + void dispose() { + _deleteProgress.dispose(); + super.dispose(); + } + void _selectAllGrids() { selectedGrids.clear(); for (int idx = 0; idx < _duplicates.length; idx++) { From 7f7dcfe863c40834660ed3a590afcffd572cdcb5 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Mon, 18 Dec 2023 08:30:59 +0530 Subject: [PATCH 24/24] Extract string --- lib/generated/intl/messages_en.dart | 2 ++ lib/generated/l10n.dart | 10 ++++++++++ lib/l10n/intl_en.arb | 3 ++- lib/ui/viewer/gallery/gallery_app_bar_widget.dart | 4 +--- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/lib/generated/intl/messages_en.dart b/lib/generated/intl/messages_en.dart index 3c8085896..f1cd30b7a 100644 --- a/lib/generated/intl/messages_en.dart +++ b/lib/generated/intl/messages_en.dart @@ -398,6 +398,8 @@ class MessageLookup extends MessageLookupByLibrary { "claimMore": MessageLookupByLibrary.simpleMessage("Claim more!"), "claimed": MessageLookupByLibrary.simpleMessage("Claimed"), "claimedStorageSoFar": m8, + "cleanUncategorized": + MessageLookupByLibrary.simpleMessage("Clean Uncategorized"), "clearCaches": MessageLookupByLibrary.simpleMessage("Clear caches"), "click": MessageLookupByLibrary.simpleMessage("• Click"), "clickOnTheOverflowMenu": MessageLookupByLibrary.simpleMessage( diff --git a/lib/generated/l10n.dart b/lib/generated/l10n.dart index 26a0e478f..e6187a309 100644 --- a/lib/generated/l10n.dart +++ b/lib/generated/l10n.dart @@ -8157,6 +8157,16 @@ class S { args: [], ); } + + /// `Clean Uncategorized` + String get cleanUncategorized { + return Intl.message( + 'Clean Uncategorized', + name: 'cleanUncategorized', + desc: '', + args: [], + ); + } } class AppLocalizationDelegate extends LocalizationsDelegate { diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index fabdd9036..6884e0943 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -1174,5 +1174,6 @@ "signOutFromOtherDevices": "Sign out from other devices", "signOutOtherBody": "If you think someone might know your password, you can force all other devices using your account to sign out.", "signOutOtherDevices": "Sign out other devices", - "doNotSignOut": "Do not sign out" + "doNotSignOut": "Do not sign out", + "cleanUncategorized": "Clean Uncategorized" } \ No newline at end of file diff --git a/lib/ui/viewer/gallery/gallery_app_bar_widget.dart b/lib/ui/viewer/gallery/gallery_app_bar_widget.dart index c7953a7a5..de471597a 100644 --- a/lib/ui/viewer/gallery/gallery_app_bar_widget.dart +++ b/lib/ui/viewer/gallery/gallery_app_bar_widget.dart @@ -395,9 +395,7 @@ class _GalleryAppBarWidgetState extends State { const Padding( padding: EdgeInsets.all(8), ), - Text( - "Clean Uncategorized", - ), + Text(S.of(context).cleanUncategorized), ], ), ),