From 79ed7150a13ffc5bfeb68c7be546316d051c3217 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Mon, 21 Aug 2023 11:20:07 +0530 Subject: [PATCH 1/4] Fix state refresh issue --- lib/ui/viewer/gallery/device_folder_page.dart | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/ui/viewer/gallery/device_folder_page.dart b/lib/ui/viewer/gallery/device_folder_page.dart index aef46c46c..8648bf0f4 100644 --- a/lib/ui/viewer/gallery/device_folder_page.dart +++ b/lib/ui/viewer/gallery/device_folder_page.dart @@ -252,7 +252,9 @@ class _ResetIgnoredFilesWidgetState extends State { widget.filesInDeviceCollection, ); RemoteSyncService.instance.sync(silently: true).then((value) { - widget.parentSetState.call(); + if(mounted) { + widget.parentSetState.call(); + } }); }, ), From 783f4a2870d02cb8523629000d891141378747bb Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Mon, 21 Aug 2023 12:07:49 +0530 Subject: [PATCH 2/4] Fix: Only consider uploaded photos for cover Signed-off-by: Neeraj Gupta <254676+ua741@users.noreply.github.com> --- lib/db/files_db.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/db/files_db.dart b/lib/db/files_db.dart index ee7ec4cd7..96a70a008 100644 --- a/lib/db/files_db.dart +++ b/lib/db/files_db.dart @@ -1241,7 +1241,8 @@ class FilesDB { final order = sortAsc ? 'ASC' : 'DESC'; final rows = await db.query( filesTable, - where: '$columnCollectionID = ? AND $columnUploadedFileID IS NOT NULL', + where: '$columnCollectionID = ? AND ($columnUploadedFileID IS NOT NULL ' + 'AND $columnUploadedFileID IS NOT -1)', whereArgs: [collectionID], orderBy: '$columnCreationTime ' + order + ', $columnModificationTime ' + order, From 9c5bdac42ecca52b6284fa2712c92d56949c4c70 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Mon, 21 Aug 2023 12:09:17 +0530 Subject: [PATCH 3/4] Fix l10n string --- lib/generated/intl/messages_fr.dart | 503 +++++++++++++++++++++++++--- lib/generated/intl/messages_nl.dart | 82 ++++- lib/l10n/intl_fr.arb | 2 +- 3 files changed, 533 insertions(+), 54 deletions(-) diff --git a/lib/generated/intl/messages_fr.dart b/lib/generated/intl/messages_fr.dart index 5f0ea87ac..1e223bc1f 100644 --- a/lib/generated/intl/messages_fr.dart +++ b/lib/generated/intl/messages_fr.dart @@ -23,8 +23,15 @@ 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(albumName) => "Ajouté avec succès à ${albumName}"; + static String m3(count) => + "${Intl.plural(count, zero: 'Aucun Participant', one: '1 Participant', other: '${count} Participants')}"; + + static String m4(versionValue) => "Version : ${versionValue}"; + static String m5(paymentProvider) => "Veuillez d\'abord annuler votre abonnement existant de ${paymentProvider}"; @@ -43,9 +50,15 @@ class MessageLookup extends MessageLookupByLibrary { static String m8(albumName) => "Lien collaboratif créé pour ${albumName}"; + static String m9(familyAdminEmail) => + "Veuillez contacter ${familyAdminEmail} pour gérer votre abonnement"; + static String m10(provider) => "Veuillez nous contacter à support@ente.io pour gérer votre abonnement ${provider}."; + static String m62(count) => + "${Intl.plural(count, one: 'Supprimer le fichier', other: 'Supprimer ${count} fichiers')}"; + static String m11(currentlyDeleting, totalCount) => "Suppression de ${currentlyDeleting} / ${totalCount}"; @@ -58,14 +71,36 @@ class MessageLookup extends MessageLookupByLibrary { static String m14(count, storageSaved) => "Vous avez nettoyé ${Intl.plural(count, one: '${count} fichier dupliqué', other: '${count} fichiers dupliqués')}, sauvegarde (${storageSaved}!)"; + static String m63(count, formattedSize) => + "${count} fichiers, ${formattedSize} chacun"; + static String m15(newEmail) => "L\'e-mail a été changé en ${newEmail}"; static String m16(email) => "${email} n\'a pas de compte ente.\n\nEnvoyez une invitation pour partager des photos."; + static String m17(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 m18(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 m19(storageAmountInGB) => "${storageAmountInGB} Go chaque fois que quelqu\'un s\'inscrit à une offre payante et applique votre code"; + static String m20(freeAmount, storageUnit) => + "${freeAmount} ${storageUnit} libre"; + + static String m21(endDate) => "Essai gratuit valide jusqu’au ${endDate}"; + + static String m22(count) => + "Vous pouvez toujours accéder à ${Intl.plural(count, one: 'it', other: 'them')} sur ente tant que vous avez un abonnement actif"; + + static String m23(sizeInMBorGB) => "Libérer ${sizeInMBorGB}"; + + static String m24(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 m25(count) => "${Intl.plural(count, one: '${count} objet', other: '${count} objets')}"; @@ -83,7 +118,16 @@ class MessageLookup extends MessageLookupByLibrary { static String m30(albumName) => "Déplacé avec succès vers ${albumName}"; static String m31(passwordStrengthValue) => - "Puissance du mot de passe : ${passwordStrengthValue}"; + "Sécurité du mot de passe : ${passwordStrengthValue}"; + + static String m32(providerName) => + "Veuillez contacter le support ${providerName} si vous avez été facturé"; + + static String m33(reason) => + "Malheureusement, votre paiement a échoué pour ${reason}"; + + static String m64(endDate) => + "Essai gratuit valable jusqu\'à ${endDate}.\nVous pouvez choisir un plan payant par la suite."; static String m34(toEmail) => "Merci de nous envoyer un e-mail à ${toEmail}"; @@ -128,6 +172,13 @@ class MessageLookup extends MessageLookupByLibrary { static String m50(storageAmountInGB) => "${storageAmountInGB} Go"; + static String m51( + usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) => + "${usedAmount} ${usedStorageUnit} sur ${totalAmount} ${totalStorageUnit} utilisé"; + + static String m52(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 m53(endDate) => "Votre abonnement sera annulé le ${endDate}"; static String m54(completed, total) => @@ -138,8 +189,14 @@ class MessageLookup extends MessageLookupByLibrary { static String m56(email) => "Ceci est l\'ID de vérification de ${email}"; + static String m57(count) => + "${Intl.plural(count, zero: '0 jour', one: '1 jour', other: '${count} jours')}"; + static String m58(email) => "Vérifier ${email}"; + static String m59(email) => + "Nous avons envoyé un e-mail à ${email}"; + static String m60(count) => "${Intl.plural(count, one: '${count} il y a un an', other: '${count} il y a des années')}"; @@ -149,27 +206,36 @@ class MessageLookup extends MessageLookupByLibrary { final messages = _notInlinedMessages(_notInlinedMessages); static Map _notInlinedMessages(_) => { "aNewVersionOfEnteIsAvailable": MessageLookupByLibrary.simpleMessage( - "Une nouvelle version de Wire est disponible."), + "Une nouvelle version de ente est disponible."), "about": MessageLookupByLibrary.simpleMessage("À propos"), "account": MessageLookupByLibrary.simpleMessage("Compte"), "accountWelcomeBack": MessageLookupByLibrary.simpleMessage("Bienvenue !"), "ackPasswordLostWarning": MessageLookupByLibrary.simpleMessage( - "Je comprends que si je perds mon mot de passe, je risque de perdre mes données puisque mes données sont chiffrées de bout en bout."), + "Je comprends que si je perds mon mot de passe, je perdrai mes données puisque mes données sont chiffrées de bout en bout."), "activeSessions": MessageLookupByLibrary.simpleMessage("Sessions actives"), "addANewEmail": MessageLookupByLibrary.simpleMessage("Ajouter un nouvel email"), "addCollaborator": MessageLookupByLibrary.simpleMessage("Ajouter un collaborateur"), + "addFromDevice": + MessageLookupByLibrary.simpleMessage("Ajouter depuis l\'appareil"), "addItem": m0, + "addLocation": + MessageLookupByLibrary.simpleMessage("Ajouter la localisation"), + "addLocationButton": MessageLookupByLibrary.simpleMessage("Ajouter"), "addMore": MessageLookupByLibrary.simpleMessage("Ajouter Plus"), + "addPhotos": MessageLookupByLibrary.simpleMessage("Ajouter des photos"), + "addSelected": + MessageLookupByLibrary.simpleMessage("Ajouter la sélection"), "addToAlbum": MessageLookupByLibrary.simpleMessage("Ajouter à l\'album"), "addToEnte": MessageLookupByLibrary.simpleMessage("Ajouter à ente"), "addViewer": MessageLookupByLibrary.simpleMessage("Ajouter un observateur"), "addedAs": MessageLookupByLibrary.simpleMessage("Ajouté comme"), + "addedBy": m1, "addedSuccessfullyTo": m2, "addingToFavorites": MessageLookupByLibrary.simpleMessage("Ajout aux favoris..."), @@ -181,6 +247,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, "albumTitle": MessageLookupByLibrary.simpleMessage("Titre de l\'album"), "albumUpdated": MessageLookupByLibrary.simpleMessage("Album mis à jour"), @@ -196,13 +263,40 @@ class MessageLookup extends MessageLookupByLibrary { "Autoriser les téléchargements"), "allowPeopleToAddPhotos": MessageLookupByLibrary.simpleMessage( "Autoriser les personnes à ajouter des photos"), + "androidBiometricHint": + MessageLookupByLibrary.simpleMessage("Vérifier l’identité"), + "androidBiometricNotRecognized": MessageLookupByLibrary.simpleMessage( + "Reconnaissance impossible. Réessayez."), + "androidBiometricRequiredTitle": + MessageLookupByLibrary.simpleMessage("Empreinte digitale requise"), + "androidBiometricSuccess": + MessageLookupByLibrary.simpleMessage("Succès"), + "androidCancelButton": MessageLookupByLibrary.simpleMessage("Annuler"), + "androidDeviceCredentialsRequiredTitle": + MessageLookupByLibrary.simpleMessage("Identifiants requis"), + "androidDeviceCredentialsSetupDescription": + MessageLookupByLibrary.simpleMessage("Identifiants requis"), + "androidGoToSettingsDescription": MessageLookupByLibrary.simpleMessage( + "L\'authentification biométrique n\'est pas configurée sur votre appareil. Allez dans \'Paramètres > Sécurité\' pour ajouter l\'authentification biométrique."), + "androidIosWebDesktop": MessageLookupByLibrary.simpleMessage( + "Android, iOS, Web, Ordinateur"), + "androidSignInTitle": + MessageLookupByLibrary.simpleMessage("Authentification requise"), + "appVersion": m4, "appleId": MessageLookupByLibrary.simpleMessage("Apple ID"), "apply": MessageLookupByLibrary.simpleMessage("Appliquer"), "applyCodeTitle": MessageLookupByLibrary.simpleMessage("Utiliser le code"), + "appstoreSubscription": + MessageLookupByLibrary.simpleMessage("Abonnement à l\'AppStore"), "archive": MessageLookupByLibrary.simpleMessage("Archiver"), + "archiveAlbum": + MessageLookupByLibrary.simpleMessage("Archiver l\'album"), "archiving": MessageLookupByLibrary.simpleMessage("Archivage en cours..."), + "areYouSureThatYouWantToLeaveTheFamily": + MessageLookupByLibrary.simpleMessage( + "Êtes-vous certains de vouloir quitter le plan familial?"), "areYouSureYouWantToCancel": MessageLookupByLibrary.simpleMessage( "Es-tu sûre de vouloir annuler?"), "areYouSureYouWantToChangeYourPlan": @@ -220,6 +314,11 @@ class MessageLookup extends MessageLookupByLibrary { "Quelle est la principale raison pour laquelle vous supprimez votre compte ?"), "askYourLovedOnesToShare": MessageLookupByLibrary.simpleMessage( "Demandez à vos proches de partager"), + "atAFalloutShelter": + MessageLookupByLibrary.simpleMessage("dans un abri antiatomique"), + "authToChangeEmailVerificationSetting": + MessageLookupByLibrary.simpleMessage( + "Veuillez vous authentifier pour modifier votre adresse e-mail"), "authToChangeLockscreenSetting": MessageLookupByLibrary.simpleMessage( "Veuillez vous authentifier pour modifier les paramètres de l\'écran de verrouillage"), "authToChangeYourEmail": MessageLookupByLibrary.simpleMessage( @@ -235,12 +334,23 @@ class MessageLookup extends MessageLookupByLibrary { "Veuillez vous authentifier pour voir vos sessions actives"), "authToViewYourHiddenFiles": MessageLookupByLibrary.simpleMessage( "Veuillez vous authentifier pour voir vos fichiers cachés"), + "authToViewYourMemories": MessageLookupByLibrary.simpleMessage( + "Veuillez vous authentifier pour voir vos souvenirs"), "authToViewYourRecoveryKey": MessageLookupByLibrary.simpleMessage( "Veuillez vous authentifier pour afficher votre clé de récupération"), + "authenticating": + MessageLookupByLibrary.simpleMessage("Authentification..."), + "authenticationFailedPleaseTryAgain": + MessageLookupByLibrary.simpleMessage( + "L\'authentification a échouée, veuillez réessayer"), + "authenticationSuccessful": + MessageLookupByLibrary.simpleMessage("Authentification réussie!"), "available": MessageLookupByLibrary.simpleMessage("Disponible"), "backedUpFolders": MessageLookupByLibrary.simpleMessage("Dossiers sauvegardés"), "backup": MessageLookupByLibrary.simpleMessage("Sauvegarde"), + "backupFailed": + MessageLookupByLibrary.simpleMessage("Échec de la sauvegarde"), "backupOverMobileData": MessageLookupByLibrary.simpleMessage( "Sauvegarde sur données mobiles"), "backupSettings": @@ -250,6 +360,8 @@ class MessageLookup extends MessageLookupByLibrary { "blog": MessageLookupByLibrary.simpleMessage("Blog"), "cachedData": MessageLookupByLibrary.simpleMessage("Données mises en cache"), + "calculating": + MessageLookupByLibrary.simpleMessage("Calcul en cours..."), "canNotUploadToAlbumsOwnedByOthers": MessageLookupByLibrary.simpleMessage( "Impossible de télécharger dans les albums appartenant à d\'autres personnes"), "canOnlyCreateLinkForFilesOwnedByYou": @@ -262,6 +374,7 @@ class MessageLookup extends MessageLookupByLibrary { "cancelSubscription": MessageLookupByLibrary.simpleMessage("Annuler l\'abonnement"), "cannotAddMorePhotosAfterBecomingViewer": m6, + "centerPoint": MessageLookupByLibrary.simpleMessage("Point central"), "changeEmail": MessageLookupByLibrary.simpleMessage("Modifier l\'e-mail"), "changePassword": @@ -282,9 +395,14 @@ class MessageLookup extends MessageLookupByLibrary { "claimedStorageSoFar": m7, "clearCaches": MessageLookupByLibrary.simpleMessage("Nettoyer le cache"), + "click": MessageLookupByLibrary.simpleMessage("• Click"), + "clickOnTheOverflowMenu": MessageLookupByLibrary.simpleMessage( + "• Cliquez sur le menu de débordement"), "close": MessageLookupByLibrary.simpleMessage("Fermer"), "clubByCaptureTime": - MessageLookupByLibrary.simpleMessage("Durée du Club par capture"), + MessageLookupByLibrary.simpleMessage("Grouper par durée"), + "clubByFileName": + MessageLookupByLibrary.simpleMessage("Grouper par nom de fichier"), "codeAppliedPageTitle": MessageLookupByLibrary.simpleMessage("Code appliqué"), "codeCopiedToClipboard": MessageLookupByLibrary.simpleMessage( @@ -300,10 +418,14 @@ class MessageLookup extends MessageLookupByLibrary { "collaboratorsCanAddPhotosAndVideosToTheSharedAlbum": MessageLookupByLibrary.simpleMessage( "Les collaborateurs peuvent ajouter des photos et des vidéos à l\'album partagé."), + "collageLayout": MessageLookupByLibrary.simpleMessage("Disposition"), + "collageSaved": MessageLookupByLibrary.simpleMessage( + "Collage sauvegardé dans la galerie"), "collectEventPhotos": MessageLookupByLibrary.simpleMessage( "Collecter des photos de l\'événement"), "collectPhotos": MessageLookupByLibrary.simpleMessage("Récupérer les photos"), + "color": MessageLookupByLibrary.simpleMessage("Couleur "), "confirm": MessageLookupByLibrary.simpleMessage("Confirmer"), "confirm2FADisable": MessageLookupByLibrary.simpleMessage( "Voulez-vous vraiment désactiver l\'authentification à deux facteurs ?"), @@ -319,22 +441,37 @@ class MessageLookup extends MessageLookupByLibrary { "Confirmer la clé de récupération"), "confirmYourRecoveryKey": MessageLookupByLibrary.simpleMessage( "Confirmer la clé de récupération"), + "contactFamilyAdmin": m9, "contactSupport": MessageLookupByLibrary.simpleMessage("Contacter l\'assistance"), "contactToManageSubscription": m10, "continueLabel": MessageLookupByLibrary.simpleMessage("Continuer"), + "continueOnFreeTrial": MessageLookupByLibrary.simpleMessage( + "Poursuivre avec la version d\'essai gratuite"), + "convertToAlbum": + MessageLookupByLibrary.simpleMessage("Convertir en album"), "copyEmailAddress": MessageLookupByLibrary.simpleMessage("Copier l’adresse e-mail"), "copyLink": MessageLookupByLibrary.simpleMessage("Copier le lien"), "copypasteThisCodentoYourAuthenticatorApp": MessageLookupByLibrary.simpleMessage( "Copiez-collez ce code\ndans votre application d\'authentification"), + "couldNotBackUpTryLater": MessageLookupByLibrary.simpleMessage( + "Nous n\'avons pas pu sauvegarder vos données.\nNous allons réessayer plus tard."), "couldNotFreeUpSpace": MessageLookupByLibrary.simpleMessage( "Impossible de libérer de l\'espace"), + "couldNotUpdateSubscription": MessageLookupByLibrary.simpleMessage( + "Impossible de mettre à jour l’abonnement"), + "count": MessageLookupByLibrary.simpleMessage("Total"), + "crashReporting": + MessageLookupByLibrary.simpleMessage("Rapports d\'erreurs"), + "create": MessageLookupByLibrary.simpleMessage("Créer"), "createAccount": MessageLookupByLibrary.simpleMessage("Créer un compte"), "createAlbumActionHint": MessageLookupByLibrary.simpleMessage( "Appuyez longuement pour sélectionner des photos et cliquez sur + pour créer un album"), + "createCollage": + MessageLookupByLibrary.simpleMessage("Créez un collage"), "createNewAccount": MessageLookupByLibrary.simpleMessage("Créer un nouveau compte"), "createOrSelectAlbum": MessageLookupByLibrary.simpleMessage( @@ -349,14 +486,19 @@ class MessageLookup extends MessageLookupByLibrary { "L\'utilisation actuelle est "), "custom": MessageLookupByLibrary.simpleMessage("Personnaliser"), "darkTheme": MessageLookupByLibrary.simpleMessage("Sombre"), - "decrypting": MessageLookupByLibrary.simpleMessage("Déchiffrage..."), + "dayToday": MessageLookupByLibrary.simpleMessage("Aujourd\'hui"), + "dayYesterday": MessageLookupByLibrary.simpleMessage("Hier"), + "decrypting": + MessageLookupByLibrary.simpleMessage("Déchiffrement en cours..."), + "decryptingVideo": MessageLookupByLibrary.simpleMessage( + "Déchiffrement de la vidéo..."), "deduplicateFiles": MessageLookupByLibrary.simpleMessage("Déduplication de fichiers"), "delete": MessageLookupByLibrary.simpleMessage("Supprimer"), "deleteAccount": - MessageLookupByLibrary.simpleMessage("Supprimer mon compte"), + MessageLookupByLibrary.simpleMessage("Supprimer le compte"), "deleteAccountFeedbackPrompt": MessageLookupByLibrary.simpleMessage( - "Nous sommes désolés de vous voir partir. Veuillez partager vos commentaires pour nous aider à nous améliorer."), + "Nous sommes désolés de vous voir partir. S\'il vous plaît partagez vos commentaires pour nous aider à améliorer le service."), "deleteAccountPermanentlyButton": MessageLookupByLibrary.simpleMessage( "Supprimer définitivement le compte"), "deleteAlbum": @@ -381,26 +523,35 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Supprimer de l\'appareil"), "deleteFromEnte": MessageLookupByLibrary.simpleMessage("Supprimer de ente"), + "deleteItemCount": m62, + "deleteLocation": + MessageLookupByLibrary.simpleMessage("Supprimer la localisation"), "deletePhotos": MessageLookupByLibrary.simpleMessage("Supprimer des photos"), "deleteProgress": m11, "deleteReason1": MessageLookupByLibrary.simpleMessage( "Il manque une fonction clé dont j\'ai besoin"), "deleteReason2": MessageLookupByLibrary.simpleMessage( - "L\'application ou une certaine fonctionnalité ne se comporte pas comme je pense qu\'elle devrait"), + "L\'application ou une fonctionnalité particulière ne se comporte pas comme je pense qu\'elle devrait"), "deleteReason3": MessageLookupByLibrary.simpleMessage( "J\'ai trouvé un autre service que je préfère"), "deleteReason4": MessageLookupByLibrary.simpleMessage("Ma raison n\'est pas listée"), "deleteRequestSLAText": MessageLookupByLibrary.simpleMessage( - "Votre demande sera traitée en moins de 72 heures."), + "Votre demande sera traitée sous 72 heures."), "deleteSharedAlbum": MessageLookupByLibrary.simpleMessage( "Supprimer l\'album partagé ?"), "deleteSharedAlbumDialogBody": MessageLookupByLibrary.simpleMessage( "L\'album sera supprimé pour tout le monde\n\nVous perdrez l\'accès aux photos partagées dans cet album qui est détenues par d\'autres personnes"), "deselectAll": MessageLookupByLibrary.simpleMessage("Tout déselectionner"), + "designedToOutlive": + MessageLookupByLibrary.simpleMessage("Conçu pour survivre"), "details": MessageLookupByLibrary.simpleMessage("Détails"), + "devAccountChanged": MessageLookupByLibrary.simpleMessage( + "Le compte développeur que nous utilisons pour publier ente sur l\'App Store a changé. Pour cette raison, vous devrez vous connecter à nouveau.\n\nNous nous excusons pour la gêne occasionnée, mais cela était inévitable."), + "deviceFilesAutoUploading": MessageLookupByLibrary.simpleMessage( + "Les fichiers ajoutés à cet album seront automatiquement téléchargés sur ente."), "deviceLockExplanation": MessageLookupByLibrary.simpleMessage( "Désactiver le verrouillage de l\'écran de l\'appareil lorsque ente est au premier plan et il y a une sauvegarde en cours. Ce n\'est normalement pas nécessaire, mais peut aider les gros téléchargements et les premières importations de grandes bibliothèques plus rapidement."), "didYouKnow": MessageLookupByLibrary.simpleMessage("Le savais-tu ?"), @@ -418,7 +569,11 @@ class MessageLookup extends MessageLookupByLibrary { "Désactiver la double-authentification..."), "discord": MessageLookupByLibrary.simpleMessage("Discord"), "dismiss": MessageLookupByLibrary.simpleMessage("Rejeter"), + "distanceInKMUnit": MessageLookupByLibrary.simpleMessage("km"), "doThisLater": MessageLookupByLibrary.simpleMessage("Plus tard"), + "doYouWantToDiscardTheEditsYouHaveMade": + MessageLookupByLibrary.simpleMessage( + "Voulez-vous annuler les modifications que vous avez faites ?"), "done": MessageLookupByLibrary.simpleMessage("Terminé"), "doubleYourStorage": MessageLookupByLibrary.simpleMessage( "Doubler votre espace de stockage"), @@ -429,21 +584,38 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Téléchargement en cours..."), "dropSupportEmail": m13, "duplicateFileCountWithStorageSaved": m14, + "duplicateItemsGroup": m63, "edit": MessageLookupByLibrary.simpleMessage("Éditer"), + "editLocationTagTitle": + MessageLookupByLibrary.simpleMessage("Modifier l’emplacement"), + "editsSaved": + MessageLookupByLibrary.simpleMessage("Modification sauvegardée"), "eligible": MessageLookupByLibrary.simpleMessage("éligible"), "email": MessageLookupByLibrary.simpleMessage("E-mail"), "emailChangedTo": m15, "emailNoEnteAccount": m16, + "emailVerificationToggle": MessageLookupByLibrary.simpleMessage( + "Vérification de l\'adresse e-mail"), "emailYourLogs": MessageLookupByLibrary.simpleMessage("Envoyez vos logs par e-mail"), "empty": MessageLookupByLibrary.simpleMessage("Vide"), "emptyTrash": MessageLookupByLibrary.simpleMessage("Vider la corbeille ?"), + "enableMaps": MessageLookupByLibrary.simpleMessage("Activer la carte"), + "enableMapsDesc": MessageLookupByLibrary.simpleMessage( + "Vos photos seront affichées sur une carte du monde.\n\nCette carte est hébergée par Open Street Map, et les emplacements exacts de vos photos ne sont jamais partagés.\n\nVous pouvez désactiver cette fonction à tout moment dans les Paramètres."), "encryptingBackup": MessageLookupByLibrary.simpleMessage( "Chiffrement de la sauvegarde..."), "encryption": MessageLookupByLibrary.simpleMessage("Chiffrement"), "encryptionKeys": MessageLookupByLibrary.simpleMessage("Clés de chiffrement"), + "endtoendEncryptedByDefault": MessageLookupByLibrary.simpleMessage( + "Chiffrement de bout en bout par défaut"), + "enteCanEncryptAndPreserveFilesOnlyIfYouGrant": + MessageLookupByLibrary.simpleMessage( + "ente peut chiffrer et conserver des fichiers que si vous leur accordez l\'accès"), + "entePhotosPerm": MessageLookupByLibrary.simpleMessage( + "ente a besoin d\'une autorisation pour préserver vos photos"), "enteSubscriptionPitch": MessageLookupByLibrary.simpleMessage( "ente conserve vos souvenirs, donc ils sont toujours disponibles pour vous, même si vous perdez votre appareil."), "enteSubscriptionShareWithFamily": MessageLookupByLibrary.simpleMessage( @@ -476,7 +648,10 @@ class MessageLookup extends MessageLookupByLibrary { "enterYourRecoveryKey": MessageLookupByLibrary.simpleMessage( "Entrez votre clé de récupération"), "error": MessageLookupByLibrary.simpleMessage("Erreur"), + "everywhere": MessageLookupByLibrary.simpleMessage("partout"), "exif": MessageLookupByLibrary.simpleMessage("EXIF"), + "existingUser": + MessageLookupByLibrary.simpleMessage("Utilisateur existant"), "expiredLinkInfo": MessageLookupByLibrary.simpleMessage( "Ce lien a expiré. Veuillez sélectionner un nouveau délai d\'expiration ou désactiver l\'expiration du lien."), "exportLogs": MessageLookupByLibrary.simpleMessage("Exporter les logs"), @@ -486,8 +661,8 @@ class MessageLookup extends MessageLookupByLibrary { "Impossible d\'appliquer le code"), "failedToCancel": MessageLookupByLibrary.simpleMessage("Échec de l\'annulation"), - "failedToDownloadVideo": - MessageLookupByLibrary.simpleMessage("Failed to download video"), + "failedToDownloadVideo": MessageLookupByLibrary.simpleMessage( + "Échec du téléchargement de la vidéo"), "failedToFetchOriginalForEdit": MessageLookupByLibrary.simpleMessage( "Impossible de récupérer l\'original pour l\'édition"), "failedToFetchReferralDetails": MessageLookupByLibrary.simpleMessage( @@ -496,46 +671,88 @@ class MessageLookup extends MessageLookupByLibrary { "Impossible de charger les albums"), "failedToRenew": MessageLookupByLibrary.simpleMessage("Échec du renouvellement"), + "failedToVerifyPaymentStatus": MessageLookupByLibrary.simpleMessage( + "Échec de la vérification du statut du paiement"), + "familyPlanOverview": MessageLookupByLibrary.simpleMessage( + "Ajoutez 5 membres de votre famille à votre abonnement existant sans payer de supplément.\n\nChaque membre dispose de son propre espace privé et ne peut pas voir les fichiers des autres membres, sauf s\'ils sont partagés.\n\nLes abonnement familiaux sont disponibles pour les clients qui ont un abonnement ente payant.\n\nAbonnez-vous maintenant pour commencer !"), + "familyPlanPortalTitle": + MessageLookupByLibrary.simpleMessage("Famille"), "familyPlans": MessageLookupByLibrary.simpleMessage("Forfaits famille"), "faq": MessageLookupByLibrary.simpleMessage("FAQ"), "faqs": MessageLookupByLibrary.simpleMessage("FAQ"), "favorite": MessageLookupByLibrary.simpleMessage("Favori"), "feedback": MessageLookupByLibrary.simpleMessage("Commentaires"), + "fileFailedToSaveToGallery": MessageLookupByLibrary.simpleMessage( + "Échec de l\'enregistrement dans la galerie"), + "fileInfoAddDescHint": + MessageLookupByLibrary.simpleMessage("Ajouter une description..."), "fileSavedToGallery": MessageLookupByLibrary.simpleMessage( "Fichier enregistré dans la galerie"), + "filesBackedUpFromDevice": m17, + "filesBackedUpInAlbum": m18, "filesDeleted": MessageLookupByLibrary.simpleMessage("Fichiers supprimés"), + "flip": MessageLookupByLibrary.simpleMessage("Retourner"), + "forYourMemories": + MessageLookupByLibrary.simpleMessage("pour vos souvenirs"), "forgotPassword": MessageLookupByLibrary.simpleMessage("Mot de passe oublié"), "freeStorageClaimed": MessageLookupByLibrary.simpleMessage("Stockage gratuit réclamé"), "freeStorageOnReferralSuccess": m19, + "freeStorageSpace": m20, "freeStorageUsable": MessageLookupByLibrary.simpleMessage("Stockage gratuit utilisable"), "freeTrial": MessageLookupByLibrary.simpleMessage("Essai gratuit"), + "freeTrialValidTill": m21, + "freeUpAccessPostDelete": m22, + "freeUpAmount": m23, "freeUpDeviceSpace": MessageLookupByLibrary.simpleMessage( "Libérer de l\'espace sur l\'appareil"), + "freeUpSpace": + MessageLookupByLibrary.simpleMessage("Libérer de l\'espace"), + "freeUpSpaceSaving": m24, + "galleryMemoryLimitInfo": MessageLookupByLibrary.simpleMessage( + "Jusqu\'à 1000 souvenirs affichés dans la galerie"), "general": MessageLookupByLibrary.simpleMessage("Général"), "generatingEncryptionKeys": MessageLookupByLibrary.simpleMessage( "Génération des clés de chiffrement..."), + "goToSettings": + MessageLookupByLibrary.simpleMessage("Allez aux réglages"), "googlePlayId": MessageLookupByLibrary.simpleMessage("Identifiant Google Play"), + "grantPermission": + MessageLookupByLibrary.simpleMessage("Accorder la permission"), + "groupNearbyPhotos": MessageLookupByLibrary.simpleMessage( + "Grouper les photos à proximité"), "hidden": MessageLookupByLibrary.simpleMessage("Masqué"), "hide": MessageLookupByLibrary.simpleMessage("Masquer"), + "hostedAtOsmFrance": + MessageLookupByLibrary.simpleMessage("Hébergé chez OSM France"), "howItWorks": MessageLookupByLibrary.simpleMessage("Comment ça fonctionne"), "howToViewShareeVerificationID": MessageLookupByLibrary.simpleMessage( "Demandez-leur d\'appuyer longuement sur leur adresse e-mail sur l\'écran des paramètres et de vérifier que les identifiants des deux appareils correspondent."), + "iOSGoToSettingsDescription": MessageLookupByLibrary.simpleMessage( + "L\'authentification biométrique n\'est pas configurée sur votre appareil. Veuillez activer Touch ID ou Face ID sur votre téléphone."), + "iOSLockOut": MessageLookupByLibrary.simpleMessage( + "L\'authentification biométrique est désactivée. Veuillez verrouiller et déverrouiller votre écran pour l\'activer."), + "iOSOkButton": MessageLookupByLibrary.simpleMessage("Ok"), + "ignoreUpdate": MessageLookupByLibrary.simpleMessage("Ignorer"), "ignoredFolderUploadReason": MessageLookupByLibrary.simpleMessage( "Certains fichiers de cet album sont ignorés parce qu\'ils avaient été précédemment supprimés de ente."), "importing": MessageLookupByLibrary.simpleMessage("Importation en cours..."), + "incorrectCode": + MessageLookupByLibrary.simpleMessage("Code non valide"), "incorrectPasswordTitle": MessageLookupByLibrary.simpleMessage("Mot de passe incorrect"), - "incorrectRecoveryKeyBody": MessageLookupByLibrary.simpleMessage( - "La clé de récupération que vous avez entrée est incorrecte"), - "incorrectRecoveryKeyTitle": MessageLookupByLibrary.simpleMessage( + "incorrectRecoveryKey": MessageLookupByLibrary.simpleMessage( "Clé de récupération non valide"), + "incorrectRecoveryKeyBody": MessageLookupByLibrary.simpleMessage( + "La clé de secours que vous avez entrée est incorrecte"), + "incorrectRecoveryKeyTitle": + MessageLookupByLibrary.simpleMessage("Clé de secours non valide"), "insecureDevice": MessageLookupByLibrary.simpleMessage("Appareil non sécurisé"), "installManually": @@ -545,11 +762,12 @@ class MessageLookup extends MessageLookupByLibrary { "invalidKey": MessageLookupByLibrary.simpleMessage("Clé invalide"), "invalidRecoveryKey": MessageLookupByLibrary.simpleMessage( "La clé de récupération que vous avez saisie n\'est pas valide. Veuillez vous assurer qu\'elle "), + "invite": MessageLookupByLibrary.simpleMessage("Inviter"), "inviteToEnte": MessageLookupByLibrary.simpleMessage("Inviter à ente"), "inviteYourFriends": MessageLookupByLibrary.simpleMessage("Invite tes ami(e)s"), "inviteYourFriendsToEnte": - MessageLookupByLibrary.simpleMessage("Invite your friends to ente"), + MessageLookupByLibrary.simpleMessage("Invitez vos amis sur ente"), "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."), @@ -561,14 +779,19 @@ class MessageLookup extends MessageLookupByLibrary { "Les éléments sélectionnés seront supprimés de cet album"), "keepPhotos": MessageLookupByLibrary.simpleMessage("Conserver les photos"), + "kiloMeterUnit": MessageLookupByLibrary.simpleMessage("km"), "kindlyHelpUsWithThisInformation": MessageLookupByLibrary.simpleMessage( - "Veuillez nous aider avec cette information"), + "Merci de nous aider avec cette information"), "language": MessageLookupByLibrary.simpleMessage("Langue"), "lastUpdated": MessageLookupByLibrary.simpleMessage("Dernière mise à jour"), + "leave": MessageLookupByLibrary.simpleMessage("Quitter"), "leaveAlbum": MessageLookupByLibrary.simpleMessage("Quitter l\'album"), + "leaveFamily": + MessageLookupByLibrary.simpleMessage("Quitter le plan familial"), "leaveSharedAlbum": MessageLookupByLibrary.simpleMessage("Quitter l\'album partagé?"), + "light": MessageLookupByLibrary.simpleMessage("Clair"), "lightTheme": MessageLookupByLibrary.simpleMessage("Clair"), "linkCopiedToClipboard": MessageLookupByLibrary.simpleMessage( "Lien copié dans le presse-papiers"), @@ -582,11 +805,35 @@ class MessageLookup extends MessageLookupByLibrary { "linkHasExpired": MessageLookupByLibrary.simpleMessage("Le lien a expiré"), "linkNeverExpires": MessageLookupByLibrary.simpleMessage("Jamais"), + "loadMessage1": MessageLookupByLibrary.simpleMessage( + "Vous pouvez partager votre abonnement avec votre famille"), + "loadMessage2": MessageLookupByLibrary.simpleMessage( + "Nous avons conservé plus de 10 millions de souvenirs jusqu\'à présent"), + "loadMessage3": MessageLookupByLibrary.simpleMessage( + "Nous conservons 3 copies de vos données, l\'une dans un abri anti-atomique"), + "loadMessage4": MessageLookupByLibrary.simpleMessage( + "Toutes nos applications sont open source"), + "loadMessage5": MessageLookupByLibrary.simpleMessage( + "Notre code source et notre cryptographie ont été audités en externe"), + "loadMessage6": MessageLookupByLibrary.simpleMessage( + "Vous pouvez partager des liens vers vos albums avec vos proches"), + "loadMessage7": MessageLookupByLibrary.simpleMessage( + "Nos applications mobiles s\'exécutent en arrière-plan pour chiffrer et sauvegarder automatiquement les nouvelles photos que vous prenez"), + "loadMessage8": MessageLookupByLibrary.simpleMessage( + "web.ente.io dispose d\'un outil de téléchargement facile à utiliser"), + "loadMessage9": MessageLookupByLibrary.simpleMessage( + "Nous utilisons Xchacha20Poly1305 pour chiffrer vos données en toute sécurité"), + "loadingExifData": MessageLookupByLibrary.simpleMessage( + "Chargement des données EXIF..."), "loadingGallery": MessageLookupByLibrary.simpleMessage("Chargement de la galerie..."), "loadingMessage": MessageLookupByLibrary.simpleMessage("Chargement de vos photos..."), "localGallery": MessageLookupByLibrary.simpleMessage("Galerie locale"), + "location": MessageLookupByLibrary.simpleMessage("Emplacement"), + "locationName": MessageLookupByLibrary.simpleMessage("Nom du lieu"), + "locationTagFeatureDescription": MessageLookupByLibrary.simpleMessage( + "Un tag d\'emplacement regroupe toutes les photos qui ont été prises dans un certain rayon d\'une photo"), "lockButtonLabel": MessageLookupByLibrary.simpleMessage("Verrouiller"), "lockScreenEnablePreSteps": MessageLookupByLibrary.simpleMessage( "Pour activer l\'écran de verrouillage, veuillez configurer le code d\'accès de l\'appareil ou le verrouillage de l\'écran dans les paramètres de votre système."), @@ -599,6 +846,9 @@ class MessageLookup extends MessageLookupByLibrary { "logout": MessageLookupByLibrary.simpleMessage("Déconnexion"), "logsDialogBody": MessageLookupByLibrary.simpleMessage( "Cela enverra des logs pour nous aider à déboguer votre problème. Veuillez noter que les noms de fichiers seront inclus pour aider à suivre les problèmes avec des fichiers spécifiques."), + "longpressOnAnItemToViewInFullscreen": + MessageLookupByLibrary.simpleMessage( + "Appuyez longuement sur un élément pour le voir en plein écran"), "lostDevice": MessageLookupByLibrary.simpleMessage("Appareil perdu ?"), "manage": MessageLookupByLibrary.simpleMessage("Gérer"), "manageDeviceStorage": MessageLookupByLibrary.simpleMessage( @@ -609,12 +859,17 @@ class MessageLookup extends MessageLookupByLibrary { "manageParticipants": MessageLookupByLibrary.simpleMessage("Gérer"), "manageSubscription": MessageLookupByLibrary.simpleMessage("Gérer l\'abonnement"), + "map": MessageLookupByLibrary.simpleMessage("Carte"), + "maps": MessageLookupByLibrary.simpleMessage("Cartes"), "mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"), "matrix": MessageLookupByLibrary.simpleMessage("Matrix"), "maxDeviceLimitSpikeHandling": m27, "memoryCount": m28, "merchandise": MessageLookupByLibrary.simpleMessage("Marchandise"), - "moderateStrength": MessageLookupByLibrary.simpleMessage("Modéré"), + "mobileWebDesktop": + MessageLookupByLibrary.simpleMessage("Mobile, Web, Ordinateur"), + "moderateStrength": + MessageLookupByLibrary.simpleMessage("Sécurité moyenne"), "monthly": MessageLookupByLibrary.simpleMessage("Mensuel"), "moveItem": m29, "moveToAlbum": @@ -627,24 +882,50 @@ class MessageLookup extends MessageLookupByLibrary { "name": MessageLookupByLibrary.simpleMessage("Nom"), "never": MessageLookupByLibrary.simpleMessage("Jamais"), "newAlbum": MessageLookupByLibrary.simpleMessage("Nouvel album"), + "newToEnte": MessageLookupByLibrary.simpleMessage("Nouveau sur ente"), "newest": MessageLookupByLibrary.simpleMessage("Le plus récent"), "no": MessageLookupByLibrary.simpleMessage("Non"), - "noAlbumsSharedByYouYet": - MessageLookupByLibrary.simpleMessage("No albums shared by you yet"), + "noAlbumsSharedByYouYet": MessageLookupByLibrary.simpleMessage( + "Aucun album que vous avez partagé"), "noDeviceThatCanBeDeleted": MessageLookupByLibrary.simpleMessage( "Vous n\'avez pas de fichiers sur cet appareil qui peuvent être supprimés"), "noDuplicates": MessageLookupByLibrary.simpleMessage("✨ Aucun doublon"), + "noExifData": + MessageLookupByLibrary.simpleMessage("Aucune donnée EXIF"), + "noHiddenPhotosOrVideos": MessageLookupByLibrary.simpleMessage( + "Aucune photo ou vidéo cachée"), + "noImagesWithLocation": MessageLookupByLibrary.simpleMessage( + "Aucune image avec localisation"), + "noPhotosAreBeingBackedUpRightNow": + MessageLookupByLibrary.simpleMessage( + "Aucune photo en cours de sauvegarde"), + "noPhotosFoundHere": + MessageLookupByLibrary.simpleMessage("Aucune photo trouvée"), "noRecoveryKey": MessageLookupByLibrary.simpleMessage("Aucune clé de récupération?"), "noRecoveryKeyNoDecryption": MessageLookupByLibrary.simpleMessage( "En raison de notre protocole de chiffrement de bout en bout, vos données ne peuvent pas être déchiffré sans votre mot de passe ou clé de récupération"), "noResults": MessageLookupByLibrary.simpleMessage("Aucun résultat"), - "nothingSharedWithYouYet": - MessageLookupByLibrary.simpleMessage("Nothing shared with you yet"), - "ok": MessageLookupByLibrary.simpleMessage("OK"), + "noResultsFound": + MessageLookupByLibrary.simpleMessage("Aucun résultat trouvé"), + "nothingSharedWithYouYet": MessageLookupByLibrary.simpleMessage( + "Rien n\'a encore été partagé avec vous"), + "nothingToSeeHere": MessageLookupByLibrary.simpleMessage( + "Il n\'y a encore rien à voir ici 👀"), + "notifications": MessageLookupByLibrary.simpleMessage("Notifications"), + "ok": MessageLookupByLibrary.simpleMessage("Ok"), + "onDevice": MessageLookupByLibrary.simpleMessage("Sur l\'appareil"), + "onEnte": MessageLookupByLibrary.simpleMessage( + "Sur ente"), "oops": MessageLookupByLibrary.simpleMessage("Oups"), + "oopsCouldNotSaveEdits": MessageLookupByLibrary.simpleMessage( + "Oups, impossible d\'enregistrer les modifications"), "oopsSomethingWentWrong": MessageLookupByLibrary.simpleMessage( "Oups, une erreur est arrivée"), + "openTheItem": + MessageLookupByLibrary.simpleMessage("• Ouvrir l\'élément"), + "openstreetmapContributors": MessageLookupByLibrary.simpleMessage( + "Contributeurs d\'OpenStreetMap"), "optionalAsShortAsYouLike": MessageLookupByLibrary.simpleMessage( "Optionnel, aussi court que vous le souhaitez..."), "orPickAnExistingOne": MessageLookupByLibrary.simpleMessage( @@ -659,6 +940,10 @@ class MessageLookup extends MessageLookupByLibrary { "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": m32, + "paymentFailedWithReason": m33, "pendingSync": MessageLookupByLibrary.simpleMessage("Synchronisation en attente"), "peopleUsingYourCode": MessageLookupByLibrary.simpleMessage( @@ -675,42 +960,69 @@ class MessageLookup extends MessageLookupByLibrary { "photosAddedByYouWillBeRemovedFromTheAlbum": MessageLookupByLibrary.simpleMessage( "Les photos ajoutées par vous seront retirées de l\'album"), + "pickCenterPoint": MessageLookupByLibrary.simpleMessage( + "Sélectionner le point central"), + "pinAlbum": MessageLookupByLibrary.simpleMessage("Épingler l\'album"), + "playStoreFreeTrialValidTill": m64, "playstoreSubscription": MessageLookupByLibrary.simpleMessage("Abonnement au PlayStore"), + "pleaseContactSupportAndWeWillBeHappyToHelp": + MessageLookupByLibrary.simpleMessage( + "Veuillez contacter support@ente.io et nous serons heureux de vous aider!"), + "pleaseContactSupportIfTheProblemPersists": + MessageLookupByLibrary.simpleMessage( + "Merci de contacter l\'assistance si cette erreur persiste"), "pleaseEmailUsAt": m34, + "pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage( + "Veuillez accorder la permission"), + "pleaseLoginAgain": + MessageLookupByLibrary.simpleMessage("Veuillez vous reconnecter"), "pleaseSendTheLogsTo": m35, "pleaseTryAgain": MessageLookupByLibrary.simpleMessage("Veuillez réessayer"), + "pleaseVerifyTheCodeYouHaveEntered": + MessageLookupByLibrary.simpleMessage( + "Veuillez vérifier le code que vous avez entré"), "pleaseWait": MessageLookupByLibrary.simpleMessage("Veuillez patienter..."), + "pleaseWaitDeletingAlbum": MessageLookupByLibrary.simpleMessage( + "Veuillez patienter, suppression de l\'album"), "pleaseWaitForSometimeBeforeRetrying": MessageLookupByLibrary.simpleMessage( "Veuillez attendre quelque temps avant de réessayer"), "preparingLogs": MessageLookupByLibrary.simpleMessage("Préparation des journaux..."), + "preserveMore": MessageLookupByLibrary.simpleMessage("Conserver plus"), "pressAndHoldToPlayVideo": MessageLookupByLibrary.simpleMessage( "Appuyez et maintenez enfoncé pour lire la vidéo"), "privacy": MessageLookupByLibrary.simpleMessage("Confidentialité"), "privacyPolicyTitle": MessageLookupByLibrary.simpleMessage( "Politique de Confidentialité"), + "privateBackups": + MessageLookupByLibrary.simpleMessage("Sauvegardes privées"), + "privateSharing": MessageLookupByLibrary.simpleMessage("Partage privé"), "publicLinkCreated": MessageLookupByLibrary.simpleMessage("Lien public créé"), "publicLinkEnabled": MessageLookupByLibrary.simpleMessage("Lien public activé"), + "quickLinks": MessageLookupByLibrary.simpleMessage("Liens rapides"), + "radius": MessageLookupByLibrary.simpleMessage("Rayon"), + "raiseTicket": MessageLookupByLibrary.simpleMessage("Créer un ticket"), + "rateTheApp": + MessageLookupByLibrary.simpleMessage("Évaluer l\'application"), "rateUs": MessageLookupByLibrary.simpleMessage("Évaluez-nous"), "rateUsOnStore": m36, - "recover": MessageLookupByLibrary.simpleMessage("Restaurer"), + "recover": MessageLookupByLibrary.simpleMessage("Récupérer"), "recoverAccount": MessageLookupByLibrary.simpleMessage("Récupérer un compte"), - "recoverButton": MessageLookupByLibrary.simpleMessage("Récupérer"), - "recoveryKey": - MessageLookupByLibrary.simpleMessage("Clé de récupération"), + "recoverButton": MessageLookupByLibrary.simpleMessage("Restaurer"), + "recoveryKey": MessageLookupByLibrary.simpleMessage("Clé de secours"), "recoveryKeyCopiedToClipboard": MessageLookupByLibrary.simpleMessage( - "Clé de récupération copiée dans le presse-papiers"), + "Clé de secours copiée dans le presse-papiers"), "recoveryKeyOnForgotPassword": MessageLookupByLibrary.simpleMessage( "Si vous oubliez votre mot de passe, la seule façon de récupérer vos données sera grâce à cette clé."), "recoveryKeySaveDescription": MessageLookupByLibrary.simpleMessage( - "Nous ne stockons pas cette clé, veuillez enregistrer cette clé de 24 mots dans un endroit sûr."), + "Nous ne stockons pas cette clé, veuillez garder cette clé de 24 mots dans un endroit sûr."), "recoveryKeySuccessBody": MessageLookupByLibrary.simpleMessage( "Génial ! Votre clé de récupération est valide. Merci de votre vérification.\n\nN\'oubliez pas de garder votre clé de récupération sauvegardée."), "recoveryKeyVerified": MessageLookupByLibrary.simpleMessage( @@ -718,9 +1030,9 @@ class MessageLookup extends MessageLookupByLibrary { "recoveryKeyVerifyReason": MessageLookupByLibrary.simpleMessage( "Votre clé de récupération est la seule façon de récupérer vos photos si vous oubliez votre mot de passe. Vous pouvez trouver votre clé de récupération dans Paramètres > Compte.\n\nVeuillez entrer votre clé de récupération ici pour vous assurer que vous l\'avez enregistrée correctement."), "recoverySuccessful": - MessageLookupByLibrary.simpleMessage("Récupération réussie !"), + MessageLookupByLibrary.simpleMessage("Restauration réussie !"), "recreatePasswordBody": MessageLookupByLibrary.simpleMessage( - "L\'appareil actuel n\'est pas assez puissant pour vérifier votre mot de passe, mais nous pouvons régénérer d\'une manière qui fonctionne avec tous les appareils.\n\nVeuillez vous connecter à l\'aide de votre clé de récupération et régénérer votre mot de passe (vous pouvez réutiliser le même si vous le souhaitez)."), + "L\'appareil actuel n\'est pas assez puissant pour vérifier votre mot de passe, mais nous pouvons le régénérer d\'une manière qui fonctionne avec tous les appareils.\n\nVeuillez vous connecter à l\'aide de votre clé de secours et régénérer votre mot de passe (vous pouvez réutiliser le même si vous le souhaitez)."), "recreatePasswordTitle": MessageLookupByLibrary.simpleMessage("Recréer le mot de passe"), "reddit": MessageLookupByLibrary.simpleMessage("Reddit"), @@ -776,11 +1088,13 @@ class MessageLookup extends MessageLookupByLibrary { "reportABug": MessageLookupByLibrary.simpleMessage("Signaler un bug"), "reportBug": MessageLookupByLibrary.simpleMessage("Signaler un bug"), "resendEmail": - MessageLookupByLibrary.simpleMessage("Renvoyer le courriel"), + MessageLookupByLibrary.simpleMessage("Renvoyer l\'e-mail"), "resetIgnoredFiles": MessageLookupByLibrary.simpleMessage( "Réinitialiser les fichiers ignorés"), "resetPasswordTitle": MessageLookupByLibrary.simpleMessage( "Réinitialiser le mot de passe"), + "resetToDefault": MessageLookupByLibrary.simpleMessage( + "Réinitialiser aux valeurs par défaut"), "restore": MessageLookupByLibrary.simpleMessage("Restaurer"), "restoreToAlbum": MessageLookupByLibrary.simpleMessage("Restaurer vers l\'album"), @@ -789,22 +1103,41 @@ class MessageLookup extends MessageLookupByLibrary { "retry": MessageLookupByLibrary.simpleMessage("Réessayer"), "reviewDeduplicateItems": MessageLookupByLibrary.simpleMessage( "Veuillez vérifier et supprimer les éléments que vous croyez dupliqués."), + "rotateLeft": MessageLookupByLibrary.simpleMessage("Pivoter à gauche"), + "rotateRight": + MessageLookupByLibrary.simpleMessage("Faire pivoter à droite"), + "safelyStored": + MessageLookupByLibrary.simpleMessage("Stockage sécurisé"), + "save": MessageLookupByLibrary.simpleMessage("Sauvegarder"), + "saveCollage": + MessageLookupByLibrary.simpleMessage("Enregistrer le collage"), + "saveCopy": + MessageLookupByLibrary.simpleMessage("Enregistrer une copie"), "saveKey": MessageLookupByLibrary.simpleMessage("Enregistrer la clé"), "saveYourRecoveryKeyIfYouHaventAlready": MessageLookupByLibrary.simpleMessage( "Enregistrez votre clé de récupération si vous ne l\'avez pas déjà fait"), + "saving": MessageLookupByLibrary.simpleMessage("Enregistrement..."), "scanCode": MessageLookupByLibrary.simpleMessage("Scanner le code"), "scanThisBarcodeWithnyourAuthenticatorApp": MessageLookupByLibrary.simpleMessage( "Scannez ce code-barres avec\nvotre application d\'authentification"), "searchByAlbumNameHint": MessageLookupByLibrary.simpleMessage("Nom de l\'album"), + "searchByExamples": MessageLookupByLibrary.simpleMessage( + "• Noms d\'albums (par exemple \"Caméra\")\n• Types de fichiers (par exemple \"Vidéos\", \".gif\")\n• Années et mois (par exemple \"2022\", \"Janvier\")\n• Vacances (par exemple \"Noël\")\n• Descriptions de photos (par exemple \"#fun\")"), + "searchHintText": MessageLookupByLibrary.simpleMessage( + "Albums, mois, jours, années, ..."), "security": MessageLookupByLibrary.simpleMessage("Sécurité"), "selectAlbum": MessageLookupByLibrary.simpleMessage("Sélectionner album"), "selectAll": MessageLookupByLibrary.simpleMessage("Tout sélectionner"), "selectFoldersForBackup": MessageLookupByLibrary.simpleMessage( "Sélectionner les dossiers à sauvegarder"), + "selectItemsToAdd": MessageLookupByLibrary.simpleMessage( + "Sélectionner les éléments à ajouter"), + "selectLanguage": + MessageLookupByLibrary.simpleMessage("Sélectionner une langue"), "selectReason": MessageLookupByLibrary.simpleMessage("Sélectionner une raison"), "selectYourPlan": @@ -829,8 +1162,12 @@ class MessageLookup extends MessageLookupByLibrary { "setAPassword": MessageLookupByLibrary.simpleMessage("Définir un mot de passe"), "setAs": MessageLookupByLibrary.simpleMessage("Définir comme"), + "setCover": + MessageLookupByLibrary.simpleMessage("Définir la couverture"), + "setLabel": MessageLookupByLibrary.simpleMessage("Définir"), "setPasswordTitle": MessageLookupByLibrary.simpleMessage("Définir le mot de passe"), + "setRadius": MessageLookupByLibrary.simpleMessage("Définir le rayon"), "setupComplete": MessageLookupByLibrary.simpleMessage("Configuration fini"), "share": MessageLookupByLibrary.simpleMessage("Partager"), @@ -841,6 +1178,8 @@ class MessageLookup extends MessageLookupByLibrary { "Partagez un album maintenant"), "shareLink": MessageLookupByLibrary.simpleMessage("Partager le lien"), "shareMyVerificationID": m42, + "shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage( + "Partager uniquement avec les personnes que vous voulez"), "shareTextConfirmOthersVerificationID": m43, "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"), @@ -848,15 +1187,21 @@ class MessageLookup extends MessageLookupByLibrary { "shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage( "Partager avec des utilisateurs non-ente"), "shareWithPeopleSectionTitle": m45, - "shareYourFirstAlbum": - MessageLookupByLibrary.simpleMessage("Share your first album"), + "shareYourFirstAlbum": MessageLookupByLibrary.simpleMessage( + "Partagez votre premier album"), "sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage( "Créez des albums partagés et collaboratifs avec d\'autres utilisateurs de ente, y compris des utilisateurs sur des plans gratuits."), "sharedByMe": MessageLookupByLibrary.simpleMessage("Partagé par moi"), - "sharedByYou": MessageLookupByLibrary.simpleMessage("Shared by you"), + "sharedByYou": MessageLookupByLibrary.simpleMessage("Partagé par vous"), + "sharedPhotoNotifications": + 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": m46, + "sharedWithMe": + MessageLookupByLibrary.simpleMessage("Partagés avec moi"), "sharedWithYou": - MessageLookupByLibrary.simpleMessage("Shared with you"), + MessageLookupByLibrary.simpleMessage("Partagé avec vous"), "sharing": MessageLookupByLibrary.simpleMessage("Partage..."), "signUpTerms": MessageLookupByLibrary.simpleMessage( "J\'accepte les conditions d\'utilisation et la politique de confidentialité"), @@ -887,12 +1232,30 @@ class MessageLookup extends MessageLookupByLibrary { "sorryCouldNotRemoveFromFavorites": MessageLookupByLibrary.simpleMessage( "Désolé, impossible de supprimer des favoris !"), + "sorryTheCodeYouveEnteredIsIncorrect": + MessageLookupByLibrary.simpleMessage( + "Le code que vous avez saisi est incorrect"), "sorryWeCouldNotGenerateSecureKeysOnThisDevicennplease": MessageLookupByLibrary.simpleMessage( "Désolé, nous n\'avons pas pu générer de clés sécurisées sur cet appareil.\n\nVeuillez vous inscrire depuis un autre appareil."), + "sortAlbumsBy": MessageLookupByLibrary.simpleMessage("Trier par"), + "sortNewestFirst": + MessageLookupByLibrary.simpleMessage("Plus récent en premier"), + "sortOldestFirst": + MessageLookupByLibrary.simpleMessage("Plus ancien en premier"), "sparkleSuccess": MessageLookupByLibrary.simpleMessage("✨ Succès"), + "startBackup": + MessageLookupByLibrary.simpleMessage("Démarrer la sauvegarde"), + "storage": MessageLookupByLibrary.simpleMessage("Stockage"), + "storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Famille"), + "storageBreakupYou": MessageLookupByLibrary.simpleMessage("Vous"), "storageInGB": m50, - "strongStrength": MessageLookupByLibrary.simpleMessage("Fort"), + "storageLimitExceeded": + MessageLookupByLibrary.simpleMessage("Limite de stockage atteinte"), + "storageUsageInfo": m51, + "strongStrength": + MessageLookupByLibrary.simpleMessage("Securité forte"), + "subAlreadyLinkedErrMessage": m52, "subWillBeCancelledOn": m53, "subscribe": MessageLookupByLibrary.simpleMessage("S\'abonner"), "subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage( @@ -914,12 +1277,12 @@ class MessageLookup extends MessageLookupByLibrary { "systemTheme": MessageLookupByLibrary.simpleMessage("Système"), "tapToCopy": MessageLookupByLibrary.simpleMessage("taper pour copier"), "tapToEnterCode": - MessageLookupByLibrary.simpleMessage("Appuyez pour entrer un code"), + MessageLookupByLibrary.simpleMessage("Appuyez pour entrer le code"), "tempErrorContactSupportIfPersists": 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."), - "terminate": MessageLookupByLibrary.simpleMessage("Quitte"), + "terminate": MessageLookupByLibrary.simpleMessage("Se déconnecter"), "terminateSession": - MessageLookupByLibrary.simpleMessage("Quitter la session ?"), + MessageLookupByLibrary.simpleMessage("Se déconnecter ?"), "terms": MessageLookupByLibrary.simpleMessage("Conditions"), "termsOfServicesTitle": MessageLookupByLibrary.simpleMessage("Conditions d\'utilisation"), @@ -928,6 +1291,9 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Merci de vous être abonné !"), "theDownloadCouldNotBeCompleted": MessageLookupByLibrary.simpleMessage( "Le téléchargement n\'a pas pu être terminé"), + "theRecoveryKeyYouEnteredIsIncorrect": + MessageLookupByLibrary.simpleMessage( + "La clé de récupération que vous avez entrée est incorrecte"), "theme": MessageLookupByLibrary.simpleMessage("Thème"), "theseItemsWillBeDeletedFromYourDevice": MessageLookupByLibrary.simpleMessage( @@ -944,6 +1310,10 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage( "Cela peut être utilisé pour récupérer votre compte si vous perdez votre deuxième facteur"), "thisDevice": MessageLookupByLibrary.simpleMessage("Cet appareil"), + "thisEmailIsAlreadyInUse": MessageLookupByLibrary.simpleMessage( + "Cette adresse mail est déjà utilisé"), + "thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage( + "Cette image n\'a pas de données exif"), "thisIsPersonVerificationId": m56, "thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage( "Ceci est votre ID de vérification"), @@ -952,22 +1322,38 @@ 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( + "Pour réinitialiser votre mot de passe, veuillez d\'abord vérifier votre e-mail."), "todaysLogs": MessageLookupByLibrary.simpleMessage("Journaux du jour"), "total": MessageLookupByLibrary.simpleMessage("total"), "totalSize": MessageLookupByLibrary.simpleMessage("Taille totale"), "trash": MessageLookupByLibrary.simpleMessage("Corbeille"), + "trashDaysLeft": m57, "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."), "twitter": MessageLookupByLibrary.simpleMessage("Twitter"), "twoMonthsFreeOnYearlyPlans": MessageLookupByLibrary.simpleMessage( "2 mois gratuits sur les forfaits annuels"), "twofactor": MessageLookupByLibrary.simpleMessage("Double authentification"), + "twofactorAuthenticationHasBeenDisabled": + MessageLookupByLibrary.simpleMessage( + "L\'authentification à deux facteurs a été désactivée"), "twofactorAuthenticationPageTitle": MessageLookupByLibrary.simpleMessage( "Authentification à deux facteurs"), + "twofactorAuthenticationSuccessfullyReset": + MessageLookupByLibrary.simpleMessage( + "L\'authentification à deux facteurs a été réinitialisée avec succès "), "twofactorSetup": MessageLookupByLibrary.simpleMessage( "Configuration de l\'authentification à deux facteurs"), "unarchive": MessageLookupByLibrary.simpleMessage("Désarchiver"), + "unarchiveAlbum": + MessageLookupByLibrary.simpleMessage("Désarchiver l\'album"), "unarchiving": MessageLookupByLibrary.simpleMessage("Désarchivage en cours..."), "uncategorized": @@ -977,6 +1363,9 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Afficher dans l\'album"), "unhidingFilesToAlbum": MessageLookupByLibrary.simpleMessage( "Démasquage des fichiers vers l\'album"), + "unlock": MessageLookupByLibrary.simpleMessage("Déverrouiller"), + "unpinAlbum": + MessageLookupByLibrary.simpleMessage("Désépingler l\'album"), "unselectAll": MessageLookupByLibrary.simpleMessage("Désélectionner tout"), "update": MessageLookupByLibrary.simpleMessage("Mise à jour"), @@ -991,14 +1380,21 @@ class MessageLookup extends MessageLookupByLibrary { "Le stockage utilisable est limité par votre offre actuelle. Le stockage excédentaire deviendra automatiquement utilisable lorsque vous mettez à niveau votre offre."), "usePublicLinksForPeopleNotOnEnte": MessageLookupByLibrary.simpleMessage( "Utiliser des liens publics pour les personnes qui ne sont pas sur ente"), - "useRecoveryKey": MessageLookupByLibrary.simpleMessage( - "Utiliser la clé de récupération"), + "useRecoveryKey": + MessageLookupByLibrary.simpleMessage("Utiliser la clé de secours"), + "useSelectedPhoto": MessageLookupByLibrary.simpleMessage( + "Utiliser la photo sélectionnée"), + "usedSpace": MessageLookupByLibrary.simpleMessage("Mémoire utilisée"), + "verificationFailedPleaseTryAgain": + MessageLookupByLibrary.simpleMessage( + "La vérification a échouée, veuillez réessayer"), "verificationId": MessageLookupByLibrary.simpleMessage("ID de vérification"), "verify": MessageLookupByLibrary.simpleMessage("Vérifier"), "verifyEmail": MessageLookupByLibrary.simpleMessage("Vérifier l\'email"), "verifyEmailID": m58, + "verifyIDLabel": MessageLookupByLibrary.simpleMessage("Vérifier"), "verifyPassword": MessageLookupByLibrary.simpleMessage("Vérifier le mot de passe"), "verifying": @@ -1008,17 +1404,23 @@ class MessageLookup extends MessageLookupByLibrary { "videoSmallCase": MessageLookupByLibrary.simpleMessage("vidéo"), "viewActiveSessions": MessageLookupByLibrary.simpleMessage( "Afficher les sessions actives"), + "viewAll": MessageLookupByLibrary.simpleMessage("Tout afficher"), + "viewAllExifData": MessageLookupByLibrary.simpleMessage( + "Visualiser toutes les données EXIF"), "viewLogs": MessageLookupByLibrary.simpleMessage("Afficher les journaux"), "viewRecoveryKey": MessageLookupByLibrary.simpleMessage("Voir la clé de récupération"), "viewer": MessageLookupByLibrary.simpleMessage("Observateur"), + "visitWebToManage": MessageLookupByLibrary.simpleMessage( + "Veuillez visiter web.ente.io pour gérer votre abonnement"), "weAreOpenSource": MessageLookupByLibrary.simpleMessage("Nous sommes open source !"), "weDontSupportEditingPhotosAndAlbumsThatYouDont": MessageLookupByLibrary.simpleMessage( "Nous ne prenons pas en charge l\'édition des photos et des albums que vous ne possédez pas encore"), - "weakStrength": MessageLookupByLibrary.simpleMessage("Faible"), + "weHaveSendEmailTo": m59, + "weakStrength": MessageLookupByLibrary.simpleMessage("Securité Faible"), "welcomeBack": MessageLookupByLibrary.simpleMessage("Bienvenue !"), "yearly": MessageLookupByLibrary.simpleMessage("Annuel"), "yearsAgo": m60, @@ -1027,11 +1429,15 @@ class MessageLookup extends MessageLookupByLibrary { "yesConvertToViewer": MessageLookupByLibrary.simpleMessage( "Oui, convertir en observateur"), "yesDelete": MessageLookupByLibrary.simpleMessage("Oui, supprimer"), + "yesDiscardChanges": MessageLookupByLibrary.simpleMessage( + "Oui, ignorer les modifications"), "yesLogout": MessageLookupByLibrary.simpleMessage("Oui, se déconnecter"), "yesRemove": MessageLookupByLibrary.simpleMessage("Oui, supprimer"), "yesRenew": MessageLookupByLibrary.simpleMessage("Oui, renouveler"), "you": MessageLookupByLibrary.simpleMessage("Vous"), + "youAreOnAFamilyPlan": MessageLookupByLibrary.simpleMessage( + "Vous êtes sur un plan familial !"), "youAreOnTheLatestVersion": MessageLookupByLibrary.simpleMessage( "Vous êtes sur la dernière version"), "youCanAtMaxDoubleYourStorage": MessageLookupByLibrary.simpleMessage( @@ -1039,10 +1445,15 @@ class MessageLookup extends MessageLookupByLibrary { "youCanManageYourLinksInTheShareTab": MessageLookupByLibrary.simpleMessage( "Vous pouvez gérer vos liens dans l\'onglet Partage."), + "youCanTrySearchingForADifferentQuery": + MessageLookupByLibrary.simpleMessage( + "Vous pouvez essayer de rechercher une autre requête."), "youCannotDowngradeToThisPlan": MessageLookupByLibrary.simpleMessage( "Vous ne pouvez pas rétrograder vers cette offre"), "youCannotShareWithYourself": MessageLookupByLibrary.simpleMessage( "Vous ne pouvez pas partager avec vous-même"), + "youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage( + "Vous n\'avez aucun élément archivé."), "youHaveSuccessfullyFreedUp": m61, "yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage("Votre compte a été supprimé"), @@ -1056,14 +1467,20 @@ class MessageLookup extends MessageLookupByLibrary { "yourStorageDetailsCouldNotBeFetched": MessageLookupByLibrary.simpleMessage( "Vos informations de stockage n\'ont pas pu être récupérées"), + "yourSubscriptionHasExpired": + MessageLookupByLibrary.simpleMessage("Votre abonnement a expiré"), "yourSubscriptionWasUpdatedSuccessfully": MessageLookupByLibrary.simpleMessage( "Votre abonnement a été mis à jour avec succès"), + "yourVerificationCodeHasExpired": MessageLookupByLibrary.simpleMessage( + "Votre code de vérification a expiré"), "youveNoDuplicateFilesThatCanBeCleared": MessageLookupByLibrary.simpleMessage( "Vous n\'avez aucun fichier dédupliqué pouvant être nettoyé"), "youveNoFilesInThisAlbumThatCanBeDeleted": MessageLookupByLibrary.simpleMessage( - "Vous n\'avez pas de fichiers dans cet album qui peuvent être supprimés") + "Vous n\'avez pas de fichiers dans cet album qui peuvent être supprimés"), + "zoomOutToSeePhotos": MessageLookupByLibrary.simpleMessage( + "Zoom en arrière pour voir les photos") }; } diff --git a/lib/generated/intl/messages_nl.dart b/lib/generated/intl/messages_nl.dart index 9077d81ff..d5eea489b 100644 --- a/lib/generated/intl/messages_nl.dart +++ b/lib/generated/intl/messages_nl.dart @@ -55,6 +55,9 @@ class MessageLookup extends MessageLookupByLibrary { static String m10(provider) => "Neem contact met ons op via support@ente.io om uw ${provider} abonnement te beheren."; + static String m62(count) => + "${Intl.plural(count, one: 'Verwijder ${count} bestand', other: 'Verwijder ${count} bestanden')}"; + static String m11(currentlyDeleting, totalCount) => "Verwijderen van ${currentlyDeleting} / ${totalCount}"; @@ -67,6 +70,9 @@ class MessageLookup extends MessageLookupByLibrary { static String m14(count, storageSaved) => "Je hebt ${Intl.plural(count, one: '${count} dubbel bestand', other: '${count} dubbele bestanden')} opgeruimd, totaal (${storageSaved}!)"; + static String m63(count, formattedSize) => + "${count} bestanden, elk ${formattedSize}"; + static String m15(newEmail) => "E-mailadres gewijzigd naar ${newEmail}"; static String m16(email) => @@ -119,6 +125,9 @@ class MessageLookup extends MessageLookupByLibrary { static String m33(reason) => "Helaas is uw betaling mislukt vanwege ${reason}"; + static String m64(endDate) => + "Gratis proefperiode geldig tot ${endDate}.\nU kunt naderhand een betaald abonnement kiezen."; + static String m34(toEmail) => "Stuur ons een e-mail op ${toEmail}"; static String m35(toEmail) => @@ -211,11 +220,16 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Nieuw e-mailadres toevoegen"), "addCollaborator": MessageLookupByLibrary.simpleMessage("Samenwerker toevoegen"), + "addFromDevice": + MessageLookupByLibrary.simpleMessage("Toevoegen vanaf apparaat"), "addItem": m0, "addLocation": MessageLookupByLibrary.simpleMessage("Locatie toevoegen"), "addLocationButton": MessageLookupByLibrary.simpleMessage("Toevoegen"), "addMore": MessageLookupByLibrary.simpleMessage("Meer toevoegen"), + "addPhotos": MessageLookupByLibrary.simpleMessage("Foto\'s toevoegen"), + "addSelected": + MessageLookupByLibrary.simpleMessage("Voeg geselecteerde toe"), "addToAlbum": MessageLookupByLibrary.simpleMessage("Toevoegen aan album"), "addToEnte": MessageLookupByLibrary.simpleMessage("Toevoegen aan ente"), @@ -302,6 +316,9 @@ class MessageLookup extends MessageLookupByLibrary { "Vraag uw dierbaren om te delen"), "atAFalloutShelter": MessageLookupByLibrary.simpleMessage("in een kernbunker"), + "authToChangeEmailVerificationSetting": + MessageLookupByLibrary.simpleMessage( + "Gelieve te verifiëren om de e-mailverificatie te wijzigen"), "authToChangeLockscreenSetting": MessageLookupByLibrary.simpleMessage( "Graag verifiëren om de vergrendelscherm instellingen te wijzigen"), "authToChangeYourEmail": MessageLookupByLibrary.simpleMessage( @@ -426,6 +443,8 @@ class MessageLookup extends MessageLookupByLibrary { "continueLabel": MessageLookupByLibrary.simpleMessage("Doorgaan"), "continueOnFreeTrial": MessageLookupByLibrary.simpleMessage( "Doorgaan met gratis proefversie"), + "convertToAlbum": + MessageLookupByLibrary.simpleMessage("Omzetten naar album"), "copyEmailAddress": MessageLookupByLibrary.simpleMessage("E-mailadres kopiëren"), "copyLink": MessageLookupByLibrary.simpleMessage("Kopieer link"), @@ -439,6 +458,9 @@ class MessageLookup extends MessageLookupByLibrary { "couldNotUpdateSubscription": MessageLookupByLibrary.simpleMessage( "Kon abonnement niet wijzigen"), "count": MessageLookupByLibrary.simpleMessage("Aantal"), + "crashReporting": + MessageLookupByLibrary.simpleMessage("Crash rapportering"), + "create": MessageLookupByLibrary.simpleMessage("Creëren"), "createAccount": MessageLookupByLibrary.simpleMessage("Account aanmaken"), "createAlbumActionHint": MessageLookupByLibrary.simpleMessage( @@ -492,6 +514,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Verwijder van apparaat"), "deleteFromEnte": MessageLookupByLibrary.simpleMessage("Verwijder van ente"), + "deleteItemCount": m62, "deleteLocation": MessageLookupByLibrary.simpleMessage("Verwijder locatie"), "deletePhotos": @@ -551,6 +574,7 @@ class MessageLookup extends MessageLookupByLibrary { "downloading": MessageLookupByLibrary.simpleMessage("Downloaden..."), "dropSupportEmail": m13, "duplicateFileCountWithStorageSaved": m14, + "duplicateItemsGroup": m63, "edit": MessageLookupByLibrary.simpleMessage("Bewerken"), "editLocationTagTitle": MessageLookupByLibrary.simpleMessage("Locatie bewerken"), @@ -560,11 +584,17 @@ class MessageLookup extends MessageLookupByLibrary { "email": MessageLookupByLibrary.simpleMessage("E-mail"), "emailChangedTo": m15, "emailNoEnteAccount": m16, + "emailVerificationToggle": + MessageLookupByLibrary.simpleMessage("E-mailverificatie"), "emailYourLogs": MessageLookupByLibrary.simpleMessage("E-mail uw logboeken"), "empty": MessageLookupByLibrary.simpleMessage("Leeg"), "emptyTrash": MessageLookupByLibrary.simpleMessage("Prullenbak leegmaken?"), + "enableMaps": + MessageLookupByLibrary.simpleMessage("Kaarten inschakelen"), + "enableMapsDesc": MessageLookupByLibrary.simpleMessage( + "Dit toont jouw foto\'s op een wereldkaart.\n\nDeze kaart wordt gehost door Open Street Map, en de exacte locaties van jouw foto\'s worden nooit gedeeld.\n\nJe kunt deze functie op elk gewenst moment uitschakelen via de instellingen."), "encryptingBackup": MessageLookupByLibrary.simpleMessage("Back-up versleutelen..."), "encryption": MessageLookupByLibrary.simpleMessage("Encryptie"), @@ -575,6 +605,8 @@ class MessageLookup extends MessageLookupByLibrary { "enteCanEncryptAndPreserveFilesOnlyIfYouGrant": MessageLookupByLibrary.simpleMessage( "ente kan bestanden alleen versleutelen en bewaren als u toegang tot ze geeft"), + "entePhotosPerm": MessageLookupByLibrary.simpleMessage( + "ente heeft toestemming nodig om je foto\'s te bewaren"), "enteSubscriptionPitch": MessageLookupByLibrary.simpleMessage( "ente bewaart uw herinneringen, zodat ze altijd beschikbaar voor u zijn, zelfs als u uw apparaat verliest."), "enteSubscriptionShareWithFamily": MessageLookupByLibrary.simpleMessage( @@ -622,8 +654,8 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Code toepassen mislukt"), "failedToCancel": MessageLookupByLibrary.simpleMessage("Opzeggen mislukt"), - "failedToDownloadVideo": - MessageLookupByLibrary.simpleMessage("Failed to download video"), + "failedToDownloadVideo": MessageLookupByLibrary.simpleMessage( + "Downloaden van video mislukt"), "failedToFetchOriginalForEdit": MessageLookupByLibrary.simpleMessage( "Fout bij ophalen origineel voor bewerking"), "failedToFetchReferralDetails": MessageLookupByLibrary.simpleMessage( @@ -688,6 +720,8 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Groep foto\'s in de buurt"), "hidden": MessageLookupByLibrary.simpleMessage("Verborgen"), "hide": MessageLookupByLibrary.simpleMessage("Verbergen"), + "hostedAtOsmFrance": + MessageLookupByLibrary.simpleMessage("Gehost bij OSM France"), "howItWorks": MessageLookupByLibrary.simpleMessage("Hoe het werkt"), "howToViewShareeVerificationID": MessageLookupByLibrary.simpleMessage( "Vraag hen om hun e-mailadres lang in te drukken op het instellingenscherm en te controleren dat de ID\'s op beide apparaten overeenkomen."), @@ -723,8 +757,8 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Uitnodigen voor ente"), "inviteYourFriends": MessageLookupByLibrary.simpleMessage("Vrienden uitnodigen"), - "inviteYourFriendsToEnte": - MessageLookupByLibrary.simpleMessage("Invite your friends to ente"), + "inviteYourFriendsToEnte": MessageLookupByLibrary.simpleMessage( + "Vrienden uitnodigen voor ente"), "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."), @@ -812,6 +846,8 @@ class MessageLookup extends MessageLookupByLibrary { "manageParticipants": MessageLookupByLibrary.simpleMessage("Beheren"), "manageSubscription": MessageLookupByLibrary.simpleMessage("Abonnement beheren"), + "map": MessageLookupByLibrary.simpleMessage("Kaart"), + "maps": MessageLookupByLibrary.simpleMessage("Kaarten"), "mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"), "matrix": MessageLookupByLibrary.simpleMessage("Matrix"), "maxDeviceLimitSpikeHandling": m27, @@ -835,8 +871,8 @@ class MessageLookup extends MessageLookupByLibrary { "newToEnte": MessageLookupByLibrary.simpleMessage("Nieuw bij ente"), "newest": MessageLookupByLibrary.simpleMessage("Nieuwste"), "no": MessageLookupByLibrary.simpleMessage("Nee"), - "noAlbumsSharedByYouYet": - MessageLookupByLibrary.simpleMessage("No albums shared by you yet"), + "noAlbumsSharedByYouYet": MessageLookupByLibrary.simpleMessage( + "Nog geen albums gedeeld door jou"), "noDeviceThatCanBeDeleted": MessageLookupByLibrary.simpleMessage( "Je hebt geen bestanden op dit apparaat die verwijderd kunnen worden"), "noDuplicates": @@ -845,9 +881,13 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Geen EXIF gegevens"), "noHiddenPhotosOrVideos": MessageLookupByLibrary.simpleMessage( "Geen verborgen foto\'s of video\'s"), + "noImagesWithLocation": MessageLookupByLibrary.simpleMessage( + "Geen afbeeldingen met locatie"), "noPhotosAreBeingBackedUpRightNow": MessageLookupByLibrary.simpleMessage( "Er worden momenteel geen foto\'s geback-upt"), + "noPhotosFoundHere": + MessageLookupByLibrary.simpleMessage("Geen foto\'s gevonden hier"), "noRecoveryKey": MessageLookupByLibrary.simpleMessage("Geen herstelcode?"), "noRecoveryKeyNoDecryption": MessageLookupByLibrary.simpleMessage( @@ -856,9 +896,10 @@ class MessageLookup extends MessageLookupByLibrary { "noResultsFound": MessageLookupByLibrary.simpleMessage("Geen resultaten gevonden"), "nothingSharedWithYouYet": - MessageLookupByLibrary.simpleMessage("Nothing shared with you yet"), + MessageLookupByLibrary.simpleMessage("Nog niets met je gedeeld"), "nothingToSeeHere": MessageLookupByLibrary.simpleMessage("Nog niets te zien hier! 👀"), + "notifications": MessageLookupByLibrary.simpleMessage("Meldingen"), "ok": MessageLookupByLibrary.simpleMessage("Oké"), "onDevice": MessageLookupByLibrary.simpleMessage("Op het apparaat"), "onEnte": MessageLookupByLibrary.simpleMessage( @@ -869,6 +910,8 @@ class MessageLookup extends MessageLookupByLibrary { "oopsSomethingWentWrong": MessageLookupByLibrary.simpleMessage("Oeps, er is iets misgegaan"), "openTheItem": MessageLookupByLibrary.simpleMessage("• Open het item"), + "openstreetmapContributors": + MessageLookupByLibrary.simpleMessage("OpenStreetMap bijdragers"), "optionalAsShortAsYouLike": MessageLookupByLibrary.simpleMessage( "Optioneel, zo kort als je wilt..."), "orPickAnExistingOne": @@ -904,6 +947,9 @@ class MessageLookup extends MessageLookupByLibrary { "Foto\'s toegevoegd door u zullen worden verwijderd uit het album"), "pickCenterPoint": MessageLookupByLibrary.simpleMessage("Kies middelpunt"), + "pinAlbum": + MessageLookupByLibrary.simpleMessage("Album bovenaan vastzetten"), + "playStoreFreeTrialValidTill": m64, "playstoreSubscription": MessageLookupByLibrary.simpleMessage("PlayStore abonnement"), "pleaseContactSupportAndWeWillBeHappyToHelp": @@ -945,6 +991,7 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Publieke link aangemaakt"), "publicLinkEnabled": MessageLookupByLibrary.simpleMessage("Publieke link ingeschakeld"), + "quickLinks": MessageLookupByLibrary.simpleMessage("Snelle links"), "radius": MessageLookupByLibrary.simpleMessage("Straal"), "raiseTicket": MessageLookupByLibrary.simpleMessage("Meld probleem"), "rateTheApp": MessageLookupByLibrary.simpleMessage("Beoordeel de app"), @@ -1031,6 +1078,8 @@ class MessageLookup extends MessageLookupByLibrary { MessageLookupByLibrary.simpleMessage("Reset genegeerde bestanden"), "resetPasswordTitle": MessageLookupByLibrary.simpleMessage("Wachtwoord resetten"), + "resetToDefault": MessageLookupByLibrary.simpleMessage( + "Standaardinstellingen herstellen"), "restore": MessageLookupByLibrary.simpleMessage("Herstellen"), "restoreToAlbum": MessageLookupByLibrary.simpleMessage("Terugzetten naar album"), @@ -1066,6 +1115,8 @@ class MessageLookup extends MessageLookupByLibrary { "selectAll": MessageLookupByLibrary.simpleMessage("Selecteer alles"), "selectFoldersForBackup": MessageLookupByLibrary.simpleMessage( "Selecteer mappen voor back-up"), + "selectItemsToAdd": MessageLookupByLibrary.simpleMessage( + "Selecteer items om toe te voegen"), "selectLanguage": MessageLookupByLibrary.simpleMessage("Taal selecteren"), "selectReason": MessageLookupByLibrary.simpleMessage("Selecteer reden"), @@ -1091,6 +1142,7 @@ class MessageLookup extends MessageLookupByLibrary { "setAPassword": MessageLookupByLibrary.simpleMessage("Stel een wachtwoord in"), "setAs": MessageLookupByLibrary.simpleMessage("Instellen als"), + "setCover": MessageLookupByLibrary.simpleMessage("Omslag instellen"), "setLabel": MessageLookupByLibrary.simpleMessage("Instellen"), "setPasswordTitle": MessageLookupByLibrary.simpleMessage("Wachtwoord instellen"), @@ -1118,11 +1170,15 @@ class MessageLookup extends MessageLookupByLibrary { "sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage( "Maak gedeelde en collaboratieve albums met andere ente gebruikers, inclusief gebruikers met gratis abonnementen."), "sharedByMe": MessageLookupByLibrary.simpleMessage("Gedeeld door mij"), - "sharedByYou": MessageLookupByLibrary.simpleMessage("Shared by you"), + "sharedByYou": MessageLookupByLibrary.simpleMessage("Gedeeld door jou"), + "sharedPhotoNotifications": + 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": m46, "sharedWithMe": MessageLookupByLibrary.simpleMessage("Gedeeld met mij"), "sharedWithYou": - MessageLookupByLibrary.simpleMessage("Shared with you"), + MessageLookupByLibrary.simpleMessage("Gedeeld met jou"), "sharing": MessageLookupByLibrary.simpleMessage("Delen..."), "signUpTerms": MessageLookupByLibrary.simpleMessage( "Ik ga akkoord met de gebruiksvoorwaarden en privacybeleid"), @@ -1241,6 +1297,8 @@ class MessageLookup extends MessageLookupByLibrary { "time": MessageLookupByLibrary.simpleMessage("Tijd"), "toHideAPhotoOrVideo": MessageLookupByLibrary.simpleMessage( "Om een foto of video te verbergen"), + "toResetVerifyEmail": MessageLookupByLibrary.simpleMessage( + "Verifieer eerst je e-mailadres om je wachtwoord opnieuw in te stellen."), "todaysLogs": MessageLookupByLibrary.simpleMessage("Logboeken van vandaag"), "total": MessageLookupByLibrary.simpleMessage("totaal"), @@ -1278,6 +1336,7 @@ class MessageLookup extends MessageLookupByLibrary { "unhidingFilesToAlbum": MessageLookupByLibrary.simpleMessage( "Bestanden zichtbaar maken in album"), "unlock": MessageLookupByLibrary.simpleMessage("Ontgrendelen"), + "unpinAlbum": MessageLookupByLibrary.simpleMessage("Album losmaken"), "unselectAll": MessageLookupByLibrary.simpleMessage("Deselecteer alles"), "update": MessageLookupByLibrary.simpleMessage("Update"), @@ -1315,6 +1374,7 @@ class MessageLookup extends MessageLookupByLibrary { "videoSmallCase": MessageLookupByLibrary.simpleMessage("video"), "viewActiveSessions": MessageLookupByLibrary.simpleMessage("Actieve sessies bekijken"), + "viewAll": MessageLookupByLibrary.simpleMessage("Alles weergeven"), "viewAllExifData": MessageLookupByLibrary.simpleMessage("Bekijk alle EXIF gegevens"), "viewLogs": MessageLookupByLibrary.simpleMessage("Logboeken bekijken"), @@ -1387,6 +1447,8 @@ class MessageLookup extends MessageLookupByLibrary { "Je hebt geen dubbele bestanden die kunnen worden gewist"), "youveNoFilesInThisAlbumThatCanBeDeleted": MessageLookupByLibrary.simpleMessage( - "Je hebt geen bestanden in dit album die verwijderd kunnen worden") + "Je hebt geen bestanden in dit album die verwijderd kunnen worden"), + "zoomOutToSeePhotos": + MessageLookupByLibrary.simpleMessage("Zoom uit om foto\'s te zien") }; } diff --git a/lib/l10n/intl_fr.arb b/lib/l10n/intl_fr.arb index 5599aa749..0df913d8d 100644 --- a/lib/l10n/intl_fr.arb +++ b/lib/l10n/intl_fr.arb @@ -221,7 +221,7 @@ "after1Month": "Après 1 mois", "after1Year": "Après 1 an", "manageParticipants": "Gérer", - "albumParticipantsCount": "{count, plural, one {}=0 {Aucun Participant} =1 {1 Participant} other {{count} Participants}}", + "albumParticipantsCount": "{count, plural, =0 {Aucun Participant} =1 {1 Participant} other {{count} Participants}}", "@albumParticipantsCount": { "placeholders": { "count": { From 3edee600e6320e470b72c47e5574fe5429506e2c Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Mon, 21 Aug 2023 12:20:34 +0530 Subject: [PATCH 4/4] Switch to wechat asset picker --- ios/Podfile.lock | 6 - ios/Runner.xcodeproj/project.pbxproj | 2 - lib/services/collections_service.dart | 6 +- .../collection/collection_file_actions.dart | 13 +- .../gallery/hooks/add_photos_sheet.dart | 16 +-- lib/utils/file_uploader_util.dart | 1 + lib/utils/share_util.dart | 59 +-------- pubspec.lock | 116 +++--------------- pubspec.yaml | 9 +- 9 files changed, 42 insertions(+), 186 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 3c4d8eeeb..3cbd49f43 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -94,8 +94,6 @@ PODS: - GoogleUtilities/Logger - image_editor_common (1.0.0): - Flutter - - image_picker_ios (0.0.1): - - Flutter - in_app_purchase_storekit (0.0.1): - Flutter - FlutterMacOS @@ -200,7 +198,6 @@ DEPENDENCIES: - flutter_sodium (from `.symlinks/plugins/flutter_sodium/ios`) - fluttertoast (from `.symlinks/plugins/fluttertoast/ios`) - image_editor_common (from `.symlinks/plugins/image_editor_common/ios`) - - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`) - in_app_purchase_storekit (from `.symlinks/plugins/in_app_purchase_storekit/darwin`) - integration_test (from `.symlinks/plugins/integration_test/ios`) - local_auth_ios (from `.symlinks/plugins/local_auth_ios/ios`) @@ -281,8 +278,6 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/fluttertoast/ios" image_editor_common: :path: ".symlinks/plugins/image_editor_common/ios" - image_picker_ios: - :path: ".symlinks/plugins/image_picker_ios/ios" in_app_purchase_storekit: :path: ".symlinks/plugins/in_app_purchase_storekit/darwin" integration_test: @@ -354,7 +349,6 @@ SPEC CHECKSUMS: GoogleDataTransport: 54dee9d48d14580407f8f5fbf2f496e92437a2f2 GoogleUtilities: 13e2c67ede716b8741c7989e26893d151b2b2084 image_editor_common: d6f6644ae4a6de80481e89fe6d0a8c49e30b4b43 - image_picker_ios: 4a8aadfbb6dc30ad5141a2ce3832af9214a705b5 in_app_purchase_storekit: 4fb7ee9e824b1f09107fbfbbce8c4b276366dc43 integration_test: 13825b8a9334a850581300559b8839134b124670 libwebp: 33dc822fbbf4503668d09f7885bbfedc76c45e96 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index cdd82022b..967a41dba 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -289,7 +289,6 @@ "${BUILT_PRODUCTS_DIR}/flutter_sodium/flutter_sodium.framework", "${BUILT_PRODUCTS_DIR}/fluttertoast/fluttertoast.framework", "${BUILT_PRODUCTS_DIR}/image_editor_common/image_editor_common.framework", - "${BUILT_PRODUCTS_DIR}/image_picker_ios/image_picker_ios.framework", "${BUILT_PRODUCTS_DIR}/in_app_purchase_storekit/in_app_purchase_storekit.framework", "${BUILT_PRODUCTS_DIR}/integration_test/integration_test.framework", "${BUILT_PRODUCTS_DIR}/libwebp/libwebp.framework", @@ -347,7 +346,6 @@ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_sodium.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/fluttertoast.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/image_editor_common.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/image_picker_ios.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/in_app_purchase_storekit.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/integration_test.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/libwebp.framework", diff --git a/lib/services/collections_service.dart b/lib/services/collections_service.dart index 67e08377e..3da4689c8 100644 --- a/lib/services/collections_service.dart +++ b/lib/services/collections_service.dart @@ -346,15 +346,15 @@ class CollectionsService { Future> getCollectionForOnEnteSection() async { final AlbumSortKey sortKey = LocalSettings.instance.albumSortKey(); final List collections = - CollectionsService.instance.getCollectionsForUI(); + CollectionsService.instance.getCollectionsForUI(); final bool hasFavorites = FavoritesService.instance.hasFavorites(); late Map collectionIDToNewestPhotoTime; if (sortKey == AlbumSortKey.newestPhoto) { collectionIDToNewestPhotoTime = - await CollectionsService.instance.getCollectionIDToNewestFileTime(); + await CollectionsService.instance.getCollectionIDToNewestFileTime(); } collections.sort( - (first, second) { + (first, second) { if (sortKey == AlbumSortKey.albumName) { return compareAsciiLowerCaseNatural( first.displayName, diff --git a/lib/ui/actions/collection/collection_file_actions.dart b/lib/ui/actions/collection/collection_file_actions.dart index bf8faecc1..e5530e7b5 100644 --- a/lib/ui/actions/collection/collection_file_actions.dart +++ b/lib/ui/actions/collection/collection_file_actions.dart @@ -1,5 +1,5 @@ import 'package:flutter/cupertino.dart'; -import "package:image_picker/image_picker.dart"; +import "package:photo_manager/photo_manager.dart"; import "package:photos/core/configuration.dart"; import "package:photos/core/event_bus.dart"; import "package:photos/db/files_db.dart"; @@ -83,7 +83,7 @@ extension CollectionFileActions on CollectionActions { bool showProgressDialog, { List? selectedFiles, List? sharedFiles, - List? pickedFiles, + List? picketAssets, }) async { ProgressDialog? dialog = showProgressDialog ? createProgressDialog( @@ -104,10 +104,10 @@ extension CollectionFileActions on CollectionActions { collectionID, ), ); - } else if (pickedFiles != null) { + } else if (picketAssets != null) { filesPendingUpload.addAll( - await convertPickedFiles( - pickedFiles, + await convertPicketAssets( + picketAssets, collectionID, ), ); @@ -159,6 +159,9 @@ extension CollectionFileActions on CollectionActions { files.add(uploadedFile); } } else { + for(final file in filesPendingUpload) { + file.collectionID = collectionID; + } // filesPendingUpload might be getting ignored during auto-upload // because the user deleted these files from ente in the past. await IgnoredFilesService.instance diff --git a/lib/ui/viewer/gallery/hooks/add_photos_sheet.dart b/lib/ui/viewer/gallery/hooks/add_photos_sheet.dart index 2bc030733..6742edc34 100644 --- a/lib/ui/viewer/gallery/hooks/add_photos_sheet.dart +++ b/lib/ui/viewer/gallery/hooks/add_photos_sheet.dart @@ -1,7 +1,6 @@ import "dart:math"; import "package:flutter/material.dart"; -import "package:image_picker/image_picker.dart"; import "package:modal_bottom_sheet/modal_bottom_sheet.dart"; import "package:photos/core/configuration.dart"; import "package:photos/db/files_db.dart"; @@ -19,6 +18,7 @@ import "package:photos/ui/components/buttons/button_widget.dart"; import "package:photos/ui/components/models/button_type.dart"; import "package:photos/ui/components/title_bar_title_widget.dart"; import "package:photos/ui/viewer/gallery/gallery.dart"; +import 'package:wechat_assets_picker/wechat_assets_picker.dart'; Future showAddPhotosSheet( BuildContext context, @@ -167,16 +167,8 @@ class AddPhotosPhotoWidget extends StatelessWidget { buttonAction: ButtonAction.second, labelText: S.of(context).addFromDevice, onTap: () async { - final ImagePicker picker = ImagePicker(); - final pickedFiles = - await picker.pickMultipleMedia(); - if (pickedFiles.isNotEmpty) { - for (XFile f in pickedFiles) { - // print XFile f details - debugPrint(f.name); - debugPrint(f.path); - debugPrint(f.mimeType); - } + final List? result = await AssetPicker.pickAssets(context); + if(result != null && result.isNotEmpty) { final ca = CollectionActions( CollectionsService.instance, ); @@ -184,7 +176,7 @@ class AddPhotosPhotoWidget extends StatelessWidget { context, collection.id, false, - pickedFiles: pickedFiles, + picketAssets: result, ); } Navigator.of(context).pop(); diff --git a/lib/utils/file_uploader_util.dart b/lib/utils/file_uploader_util.dart index 241895b56..0a2357a41 100644 --- a/lib/utils/file_uploader_util.dart +++ b/lib/utils/file_uploader_util.dart @@ -34,6 +34,7 @@ class MediaUploadData { final FileHashData? hashData; final int? height; final int? width; + // For android motion photos, the startIndex is the index of the first frame // For iOS, this value will be always null. final int? motionPhotoStartIndex; diff --git a/lib/utils/share_util.dart b/lib/utils/share_util.dart index 7372136df..3740a9fb1 100644 --- a/lib/utils/share_util.dart +++ b/lib/utils/share_util.dart @@ -2,9 +2,9 @@ import 'dart:async'; import 'dart:io' as dartio; import 'package:flutter/widgets.dart'; -import "package:image_picker/image_picker.dart"; import 'package:logging/logging.dart'; import 'package:path/path.dart'; +import "package:photo_manager/photo_manager.dart"; import 'package:photos/core/configuration.dart'; import 'package:photos/core/constants.dart'; import 'package:photos/models/file.dart'; @@ -149,62 +149,13 @@ Future> convertIncomingSharedMediaToFile( return localFiles; } -Future> convertPickedFiles( - List pickedFiles, +Future> convertPicketAssets( + List pickedAssets, int collectionID, ) async { final List localFiles = []; - for (var media in pickedFiles) { - FileType? enteTypeType; - final String mimeType = (media.mimeType ?? '').toLowerCase(); - if (mimeType.contains('image')) { - enteTypeType = FileType.image; - } else if (mimeType.contains('video')) { - enteTypeType = FileType.video; - } else { - final extenName = extension(media.path ?? '').toLowerCase().replaceFirst( - '.', - '', - ); - if (_imageExtension.contains(extenName)) { - enteTypeType = FileType.image; - } else if (_videoExtension.contains(extenName)) { - enteTypeType = FileType.video; - } else { - _logger.warning( - "ignore file type ${media.mimeType}, extn $extenName path: ${media.path}", - ); - continue; - } - } - final enteFile = File(); - // fileName: img_x.jpg - enteFile.title = basename(media.path); - var ioFile = dartio.File(media.path); - ioFile = ioFile.renameSync( - Configuration.instance.getSharedMediaDirectory() + "/" + enteFile.title!, - ); - enteFile.localID = sharedMediaIdentifier + enteFile.title!; - enteFile.collectionID = collectionID; - enteFile.fileType = enteTypeType; - if (enteFile.fileType == FileType.image) { - final exifTime = await getCreationTimeFromEXIF(ioFile, null); - if (exifTime != null) { - enteFile.creationTime = exifTime.microsecondsSinceEpoch; - } - } else if (enteFile.fileType == FileType.video) { - // enteFile.duration = (media.duration ?? 0) ~/ 1000; - } - if (enteFile.creationTime == null || enteFile.creationTime == 0) { - final parsedDateTime = - parseDateTimeFromFileNameV2(basenameWithoutExtension(media.path)); - if (parsedDateTime != null) { - enteFile.creationTime = parsedDateTime.microsecondsSinceEpoch; - } else { - enteFile.creationTime = DateTime.now().microsecondsSinceEpoch; - } - } - enteFile.modificationTime = enteFile.creationTime; + for (var asset in pickedAssets) { + final enteFile = await File.fromAsset('', asset); localFiles.add(enteFile); } return localFiles; diff --git a/pubspec.lock b/pubspec.lock index e39a4d3d7..3ce6619c2 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -523,38 +523,6 @@ packages: url: "https://pub.dev" source: hosted version: "6.1.4" - file_selector_linux: - dependency: transitive - description: - name: file_selector_linux - sha256: "770eb1ab057b5ae4326d1c24cc57710758b9a46026349d021d6311bd27580046" - url: "https://pub.dev" - source: hosted - version: "0.9.2" - file_selector_macos: - dependency: transitive - description: - name: file_selector_macos - sha256: "7a6f1ae6107265664f3f7f89a66074882c4d506aef1441c9af313c1f7e6f41ce" - url: "https://pub.dev" - source: hosted - version: "0.9.3" - file_selector_platform_interface: - dependency: transitive - description: - name: file_selector_platform_interface - sha256: "412705a646a0ae90f33f37acfae6a0f7cbc02222d6cd34e479421c3e74d3853c" - url: "https://pub.dev" - source: hosted - version: "2.6.0" - file_selector_windows: - dependency: transitive - description: - name: file_selector_windows - sha256: "1372760c6b389842b77156203308940558a2817360154084368608413835fc26" - url: "https://pub.dev" - source: hosted - version: "0.9.3" firebase_core: dependency: "direct main" description: @@ -1009,70 +977,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.1" - image_picker: - dependency: "direct main" - description: - name: image_picker - sha256: b9603755b35253ccfad4be0762bb74d5e8bf9ff75edebf0ac3beec24fac1c5b5 - url: "https://pub.dev" - source: hosted - version: "1.0.0" - image_picker_android: - dependency: transitive - description: - name: image_picker_android - sha256: d2bab152deb2547ea6f53d82ebca9b7e77386bb706e5789e815d37e08ea475bb - url: "https://pub.dev" - source: hosted - version: "0.8.7+3" - image_picker_for_web: - dependency: transitive - description: - name: image_picker_for_web - sha256: "869fe8a64771b7afbc99fc433a5f7be2fea4d1cb3d7c11a48b6b579eb9c797f0" - url: "https://pub.dev" - source: hosted - version: "2.2.0" - image_picker_ios: - dependency: transitive - description: - name: image_picker_ios - sha256: b3e2f21feb28b24dd73a35d7ad6e83f568337c70afab5eabac876e23803f264b - url: "https://pub.dev" - source: hosted - version: "0.8.8" - image_picker_linux: - dependency: transitive - description: - name: image_picker_linux - sha256: "02cbc21fe1706b97942b575966e5fbbeaac535e76deef70d3a242e4afb857831" - url: "https://pub.dev" - source: hosted - version: "0.2.1" - image_picker_macos: - dependency: transitive - description: - name: image_picker_macos - sha256: cee2aa86c56780c13af2c77b5f2f72973464db204569e1ba2dd744459a065af4 - url: "https://pub.dev" - source: hosted - version: "0.2.1" - image_picker_platform_interface: - dependency: transitive - description: - name: image_picker_platform_interface - sha256: "7c7b96bb9413a9c28229e717e6fd1e3edd1cc5569c1778fcca060ecf729b65ee" - url: "https://pub.dev" - source: hosted - version: "2.8.0" - image_picker_windows: - dependency: transitive - description: - name: image_picker_windows - sha256: c3066601ea42113922232c7b7b3330a2d86f029f685bba99d82c30e799914952 - url: "https://pub.dev" - source: hosted - version: "0.2.1" in_app_purchase: dependency: "direct main" description: @@ -2147,10 +2051,10 @@ packages: description: path: "packages/video_player/video_player" ref: android_video_roation_fix - resolved-ref: a9be78ffe97b9335bcf865c72dae1ba361dad77f + resolved-ref: "0acef25ca43206e02a0758b51d5fd176e3d8c6b8" url: "https://github.com/ente-io/packages.git" source: git - version: "2.6.1" + version: "2.7.0" video_player_android: dependency: transitive description: @@ -2163,18 +2067,18 @@ packages: dependency: transitive description: name: video_player_avfoundation - sha256: "4c274e439f349a0ee5cb3c42978393ede173a443b98f50de6ffe6900eaa19216" + sha256: f5f5b7fe8c865be8a57fe80c2dca130772e1db775b7af4e5c5aa1905069cfc6c url: "https://pub.dev" source: hosted - version: "2.4.6" + version: "2.4.9" video_player_platform_interface: dependency: transitive description: name: video_player_platform_interface - sha256: a8c4dcae2a7a6e7cc1d7f9808294d968eca1993af34a98e95b9bdfa959bec684 + sha256: "1ca9acd7a0fb15fb1a990cb554e6f004465c6f37c99d2285766f08a4b2802988" url: "https://pub.dev" source: hosted - version: "6.1.0" + version: "6.2.0" video_player_web: dependency: transitive description: @@ -2263,6 +2167,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.2.0" + wechat_assets_picker: + dependency: "direct main" + description: + name: wechat_assets_picker + sha256: "18a9ac99281ed033fc3bfd2cf7d39f2ef4b76a7601eafcf4c9de09392c65c713" + url: "https://pub.dev" + source: hosted + version: "8.6.3" widgets_to_image: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 7cdc0dbf7..e82febbcf 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -78,7 +78,6 @@ dependencies: http: ^0.13.4 image: ^3.0.2 image_editor: ^1.3.0 - image_picker: ^1.0.0 in_app_purchase: ^3.0.7 intl: ^0.18.0 json_annotation: ^4.8.0 @@ -137,11 +136,12 @@ dependencies: git: url: https://github.com/ente-io/packages.git ref: android_video_roation_fix - path: packages/video_player/video_player/ + path: packages/video_player/video_player/p video_thumbnail: ^0.5.3 visibility_detector: ^0.3.3 wakelock_plus: ^1.1.1 wallpaper_manager_flutter: ^0.0.2 + wechat_assets_picker: ^8.6.3 widgets_to_image: ^0.0.2 dependency_overrides: @@ -149,6 +149,11 @@ dependency_overrides: # but we need ffi: ^2.0.1 for newer packages. The original tfite_flutter_helper # ffi: ^2.0.1 + video_player: + git: + url: https://github.com/ente-io/packages.git + ref: android_video_roation_fix + path: packages/video_player/video_player/ flutter_intl: enabled: true