[server] Fix Stripe related issues (#1152)
## Description ### Stripe - Settings have been modified to "Cancel" the subscription if all attempts to charge an invoice fails. The previous configuration was to set the subscription to "Past Due". ### Museum - Updated our Stripe workflow to use `PaymentBehaviorAllowIncomplete` in case of SEPA payments - Fixed the issue caused by us spawning unnecessary subscriptions when a customer tried to renew their expired subscription - Removed the email that was being sent out when a Stripe subscription expired. We will have to run our own cron to send a notification and perform necessary clean up. When payments fail, we will still send a notification to intimate the customer that their account is on hold. ### Mobile - Fixed the dialogs and error messages on the payment page ## Tests The following cases were tested for SEPA, Credit Cards, and Credit Cards with 3DS. - [x] Purchase - [x] Success - [x] Failure - [x] Renewal - [x] Success - [x] Failure - [x] Upgrades - [x] Success - [x] Failure - [x] Cancellation - [x] Resumption post recovery ## Note These changes are likely to break in the event of some corner cases we haven't thought of. But this will land us in a state that is better than where we are right now in terms of collecting payments for expired subscriptions and those via SEPA.
This commit is contained in:
commit
0c400db649
14 changed files with 685 additions and 702 deletions
128
mobile/lib/generated/intl/messages_de.dart
generated
128
mobile/lib/generated/intl/messages_de.dart
generated
|
@ -131,90 +131,87 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
static String m37(providerName) =>
|
||||
"Bitte kontaktiere den Support von ${providerName}, falls etwas abgebucht wurde";
|
||||
|
||||
static String m38(reason) =>
|
||||
"Leider ist deine Zahlung aus folgendem Grund fehlgeschlagen: ${reason}";
|
||||
|
||||
static String m39(endDate) =>
|
||||
static String m38(endDate) =>
|
||||
"Kostenlose Testversion gültig bis ${endDate}.\nSie können anschließend ein bezahltes Paket auswählen.";
|
||||
|
||||
static String m40(toEmail) => "Bitte sende uns eine E-Mail an ${toEmail}";
|
||||
static String m39(toEmail) => "Bitte sende uns eine E-Mail an ${toEmail}";
|
||||
|
||||
static String m41(toEmail) => "Bitte sende die Protokolle an ${toEmail}";
|
||||
static String m40(toEmail) => "Bitte sende die Protokolle an ${toEmail}";
|
||||
|
||||
static String m42(storeName) => "Bewerte uns auf ${storeName}";
|
||||
static String m41(storeName) => "Bewerte uns auf ${storeName}";
|
||||
|
||||
static String m43(storageInGB) =>
|
||||
static String m42(storageInGB) =>
|
||||
"3. Ihr beide erhaltet ${storageInGB} GB* kostenlos";
|
||||
|
||||
static String m44(userEmail) =>
|
||||
static String m43(userEmail) =>
|
||||
"${userEmail} wird aus diesem geteilten Album entfernt\n\nAlle von ihnen hinzugefügte Fotos werden ebenfalls aus dem Album entfernt";
|
||||
|
||||
static String m45(endDate) => "Erneuert am ${endDate}";
|
||||
static String m44(endDate) => "Erneuert am ${endDate}";
|
||||
|
||||
static String m46(count) =>
|
||||
static String m45(count) =>
|
||||
"${Intl.plural(count, one: '${count} Ergebnis gefunden', other: '${count} Ergebnisse gefunden')}";
|
||||
|
||||
static String m47(count) => "${count} ausgewählt";
|
||||
static String m46(count) => "${count} ausgewählt";
|
||||
|
||||
static String m48(count, yourCount) =>
|
||||
static String m47(count, yourCount) =>
|
||||
"${count} ausgewählt (${yourCount} von Ihnen)";
|
||||
|
||||
static String m49(verificationID) =>
|
||||
static String m48(verificationID) =>
|
||||
"Hier ist meine Verifizierungs-ID: ${verificationID} für ente.io.";
|
||||
|
||||
static String m50(verificationID) =>
|
||||
static String m49(verificationID) =>
|
||||
"Hey, kannst du bestätigen, dass dies deine ente.io Verifizierungs-ID ist: ${verificationID}";
|
||||
|
||||
static String m51(referralCode, referralStorageInGB) =>
|
||||
static String m50(referralCode, referralStorageInGB) =>
|
||||
"ente Weiterempfehlungs-Code: ${referralCode} \n\nEinlösen unter Einstellungen → Allgemein → Weiterempfehlungen, um ${referralStorageInGB} GB kostenlos zu erhalten, sobald Sie einen kostenpflichtigen Tarif abgeschlossen haben\n\nhttps://ente.io";
|
||||
|
||||
static String m52(numberOfPeople) =>
|
||||
static String m51(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: 'Teile mit bestimmten Personen', one: 'Teilen mit 1 Person', other: 'Teilen mit ${numberOfPeople} Personen')}";
|
||||
|
||||
static String m53(emailIDs) => "Geteilt mit ${emailIDs}";
|
||||
static String m52(emailIDs) => "Geteilt mit ${emailIDs}";
|
||||
|
||||
static String m54(fileType) =>
|
||||
static String m53(fileType) =>
|
||||
"Dieses ${fileType} wird von deinem Gerät gelöscht.";
|
||||
|
||||
static String m55(fileType) =>
|
||||
static String m54(fileType) =>
|
||||
"Dieses ${fileType} existiert auf ente.io und deinem Gerät.";
|
||||
|
||||
static String m56(fileType) =>
|
||||
static String m55(fileType) =>
|
||||
"Dieses ${fileType} wird auf ente.io gelöscht.";
|
||||
|
||||
static String m57(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
static String m56(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
|
||||
static String m58(
|
||||
static String m57(
|
||||
usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) =>
|
||||
"${usedAmount} ${usedStorageUnit} von ${totalAmount} ${totalStorageUnit} verwendet";
|
||||
|
||||
static String m59(id) =>
|
||||
static String m58(id) =>
|
||||
"Ihr ${id} ist bereits mit einem anderen \'ente\'-Konto verknüpft.\nWenn Sie Ihre ${id} mit diesem Konto verwenden möchten, kontaktieren Sie bitte unseren Support\'";
|
||||
|
||||
static String m60(endDate) => "Ihr Abo endet am ${endDate}";
|
||||
static String m59(endDate) => "Ihr Abo endet am ${endDate}";
|
||||
|
||||
static String m61(completed, total) =>
|
||||
static String m60(completed, total) =>
|
||||
"${completed}/${total} Erinnerungsstücke gesichert";
|
||||
|
||||
static String m62(storageAmountInGB) =>
|
||||
static String m61(storageAmountInGB) =>
|
||||
"Diese erhalten auch ${storageAmountInGB} GB";
|
||||
|
||||
static String m63(email) => "Dies ist ${email}s Verifizierungs-ID";
|
||||
static String m62(email) => "Dies ist ${email}s Verifizierungs-ID";
|
||||
|
||||
static String m64(count) =>
|
||||
static String m63(count) =>
|
||||
"${Intl.plural(count, zero: '', one: '1 Tag', other: '${count} Tage')}";
|
||||
|
||||
static String m65(endDate) => "Gültig bis ${endDate}";
|
||||
static String m64(endDate) => "Gültig bis ${endDate}";
|
||||
|
||||
static String m66(email) => "Verifiziere ${email}";
|
||||
static String m65(email) => "Verifiziere ${email}";
|
||||
|
||||
static String m67(email) =>
|
||||
static String m66(email) =>
|
||||
"Wir haben eine E-Mail an <green>${email}</green> gesendet";
|
||||
|
||||
static String m68(count) =>
|
||||
static String m67(count) =>
|
||||
"${Intl.plural(count, one: 'vor einem Jahr', other: 'vor ${count} Jahren')}";
|
||||
|
||||
static String m69(storageSaved) =>
|
||||
static String m68(storageSaved) =>
|
||||
"Du hast ${storageSaved} erfolgreich freigegeben!";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
|
@ -1026,7 +1023,6 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"paymentFailed":
|
||||
MessageLookupByLibrary.simpleMessage("Zahlung fehlgeschlagen"),
|
||||
"paymentFailedTalkToProvider": m37,
|
||||
"paymentFailedWithReason": m38,
|
||||
"pendingItems":
|
||||
MessageLookupByLibrary.simpleMessage("Ausstehende Elemente"),
|
||||
"pendingSync":
|
||||
|
@ -1053,7 +1049,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"pinAlbum": MessageLookupByLibrary.simpleMessage("Album anheften"),
|
||||
"playOnTv": MessageLookupByLibrary.simpleMessage(
|
||||
"Album auf dem Fernseher wiedergeben"),
|
||||
"playStoreFreeTrialValidTill": m39,
|
||||
"playStoreFreeTrialValidTill": m38,
|
||||
"playstoreSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("PlayStore Abo"),
|
||||
"pleaseCheckYourInternetConnectionAndTryAgain":
|
||||
|
@ -1065,12 +1061,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"pleaseContactSupportIfTheProblemPersists":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Bitte wenden Sie sich an den Support, falls das Problem weiterhin besteht"),
|
||||
"pleaseEmailUsAt": m40,
|
||||
"pleaseEmailUsAt": m39,
|
||||
"pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage(
|
||||
"Bitte erteile die nötigen Berechtigungen"),
|
||||
"pleaseLoginAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Bitte logge dich erneut ein"),
|
||||
"pleaseSendTheLogsTo": m41,
|
||||
"pleaseSendTheLogsTo": m40,
|
||||
"pleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Bitte versuche es erneut"),
|
||||
"pleaseVerifyTheCodeYouHaveEntered":
|
||||
|
@ -1106,7 +1102,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"raiseTicket": MessageLookupByLibrary.simpleMessage("Ticket erstellen"),
|
||||
"rateTheApp": MessageLookupByLibrary.simpleMessage("App bewerten"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("Bewerte uns"),
|
||||
"rateUsOnStore": m42,
|
||||
"rateUsOnStore": m41,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Wiederherstellen"),
|
||||
"recoverAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Konto wiederherstellen"),
|
||||
|
@ -1139,7 +1135,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"1. Gib diesen Code an deine Freunde"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||
"2. Sie schließen ein bezahltes Abo ab"),
|
||||
"referralStep3": m43,
|
||||
"referralStep3": m42,
|
||||
"referrals": MessageLookupByLibrary.simpleMessage("Weiterempfehlungen"),
|
||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||
"Einlösungen sind derzeit pausiert"),
|
||||
|
@ -1165,7 +1161,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"removeLink": MessageLookupByLibrary.simpleMessage("Link entfernen"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Teilnehmer entfernen"),
|
||||
"removeParticipantBody": m44,
|
||||
"removeParticipantBody": m43,
|
||||
"removePublicLink":
|
||||
MessageLookupByLibrary.simpleMessage("Öffentlichen Link entfernen"),
|
||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1179,7 +1175,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"renameFile": MessageLookupByLibrary.simpleMessage("Datei umbenennen"),
|
||||
"renewSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Abonnement erneuern"),
|
||||
"renewsOn": m45,
|
||||
"renewsOn": m44,
|
||||
"reportABug": MessageLookupByLibrary.simpleMessage("Fehler melden"),
|
||||
"reportBug": MessageLookupByLibrary.simpleMessage("Fehler melden"),
|
||||
"resendEmail":
|
||||
|
@ -1242,7 +1238,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Gruppiere Fotos, die innerhalb des Radius eines bestimmten Fotos aufgenommen wurden"),
|
||||
"searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage(
|
||||
"Laden Sie Personen ein, damit Sie geteilte Fotos hier einsehen können"),
|
||||
"searchResultCount": m46,
|
||||
"searchResultCount": m45,
|
||||
"security": MessageLookupByLibrary.simpleMessage("Sicherheit"),
|
||||
"selectALocation":
|
||||
MessageLookupByLibrary.simpleMessage("Standort auswählen"),
|
||||
|
@ -1269,8 +1265,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Ausgewählte Elemente werden aus allen Alben gelöscht und in den Papierkorb verschoben."),
|
||||
"selectedPhotos": m47,
|
||||
"selectedPhotosWithYours": m48,
|
||||
"selectedPhotos": m46,
|
||||
"selectedPhotosWithYours": m47,
|
||||
"send": MessageLookupByLibrary.simpleMessage("Absenden"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("E-Mail senden"),
|
||||
"sendInvite": MessageLookupByLibrary.simpleMessage("Einladung senden"),
|
||||
|
@ -1293,16 +1289,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"shareAnAlbumNow":
|
||||
MessageLookupByLibrary.simpleMessage("Teile jetzt ein Album"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("Link teilen"),
|
||||
"shareMyVerificationID": m49,
|
||||
"shareMyVerificationID": m48,
|
||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||
"Teile mit ausgewählten Personen"),
|
||||
"shareTextConfirmOthersVerificationID": m50,
|
||||
"shareTextConfirmOthersVerificationID": m49,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Lade ente herunter, damit wir einfach Fotos und Videos in höchster Qualität teilen können\n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m51,
|
||||
"shareTextReferralCode": m50,
|
||||
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||
"Mit Nicht-Ente-Benutzern teilen"),
|
||||
"shareWithPeopleSectionTitle": m52,
|
||||
"shareWithPeopleSectionTitle": m51,
|
||||
"shareYourFirstAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Teile dein erstes Album"),
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1313,7 +1309,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Neue geteilte Fotos"),
|
||||
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||
"Erhalte Benachrichtigungen, wenn jemand ein Foto zu einem gemeinsam genutzten Album hinzufügt, dem du angehörst"),
|
||||
"sharedWith": m53,
|
||||
"sharedWith": m52,
|
||||
"sharedWithMe": MessageLookupByLibrary.simpleMessage("Mit mir geteilt"),
|
||||
"sharedWithYou":
|
||||
MessageLookupByLibrary.simpleMessage("Mit dir geteilt"),
|
||||
|
@ -1328,11 +1324,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Andere Geräte abmelden"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"Ich stimme den <u-terms>Nutzungsbedingungen</u-terms> und der <u-policy>Datenschutzerklärung</u-policy> zu"),
|
||||
"singleFileDeleteFromDevice": m54,
|
||||
"singleFileDeleteFromDevice": m53,
|
||||
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||
"Es wird aus allen Alben gelöscht."),
|
||||
"singleFileInBothLocalAndRemote": m55,
|
||||
"singleFileInRemoteOnly": m56,
|
||||
"singleFileInBothLocalAndRemote": m54,
|
||||
"singleFileInRemoteOnly": m55,
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Überspringen"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("Social Media"),
|
||||
"someItemsAreInBothEnteAndYourDevice":
|
||||
|
@ -1374,13 +1370,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"storage": MessageLookupByLibrary.simpleMessage("Speicherplatz"),
|
||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Familie"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Sie"),
|
||||
"storageInGB": m57,
|
||||
"storageInGB": m56,
|
||||
"storageLimitExceeded": MessageLookupByLibrary.simpleMessage(
|
||||
"Speichergrenze überschritten"),
|
||||
"storageUsageInfo": m58,
|
||||
"storageUsageInfo": m57,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Stark"),
|
||||
"subAlreadyLinkedErrMessage": m59,
|
||||
"subWillBeCancelledOn": m60,
|
||||
"subAlreadyLinkedErrMessage": m58,
|
||||
"subWillBeCancelledOn": m59,
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("Abonnieren"),
|
||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||
"Sieht aus, als sei dein Abonnement abgelaufen. Bitte abonniere, um das Teilen zu aktivieren."),
|
||||
|
@ -1397,7 +1393,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"suggestFeatures":
|
||||
MessageLookupByLibrary.simpleMessage("Verbesserung vorschlagen"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("Support"),
|
||||
"syncProgress": m61,
|
||||
"syncProgress": m60,
|
||||
"syncStopped":
|
||||
MessageLookupByLibrary.simpleMessage("Synchronisierung angehalten"),
|
||||
"syncing": MessageLookupByLibrary.simpleMessage("Synchronisiere …"),
|
||||
|
@ -1426,7 +1422,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"theseItemsWillBeDeletedFromYourDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Diese Elemente werden von deinem Gerät gelöscht."),
|
||||
"theyAlsoGetXGb": m62,
|
||||
"theyAlsoGetXGb": m61,
|
||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||
"Sie werden aus allen Alben gelöscht."),
|
||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1442,7 +1438,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Diese E-Mail-Adresse wird bereits verwendet"),
|
||||
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
||||
"Dieses Bild hat keine Exif-Daten"),
|
||||
"thisIsPersonVerificationId": m63,
|
||||
"thisIsPersonVerificationId": m62,
|
||||
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
||||
"Dies ist deine Verifizierungs-ID"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
|
@ -1459,7 +1455,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"total": MessageLookupByLibrary.simpleMessage("Gesamt"),
|
||||
"totalSize": MessageLookupByLibrary.simpleMessage("Gesamtgröße"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("Papierkorb"),
|
||||
"trashDaysLeft": m64,
|
||||
"trashDaysLeft": m63,
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Erneut versuchen"),
|
||||
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
||||
"Aktiviere die Sicherung, um automatisch neu hinzugefügte Dateien dieses Ordners auf ente hochzuladen."),
|
||||
|
@ -1514,7 +1510,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Ausgewähltes Foto verwenden"),
|
||||
"usedSpace":
|
||||
MessageLookupByLibrary.simpleMessage("Belegter Speicherplatz"),
|
||||
"validTill": m65,
|
||||
"validTill": m64,
|
||||
"verificationFailedPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Verifizierung fehlgeschlagen, bitte versuchen Sie es erneut"),
|
||||
|
@ -1523,7 +1519,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"verify": MessageLookupByLibrary.simpleMessage("Überprüfen"),
|
||||
"verifyEmail":
|
||||
MessageLookupByLibrary.simpleMessage("E-Mail-Adresse verifizieren"),
|
||||
"verifyEmailID": m66,
|
||||
"verifyEmailID": m65,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Überprüfen"),
|
||||
"verifyPasskey":
|
||||
MessageLookupByLibrary.simpleMessage("Passkey verifizieren"),
|
||||
|
@ -1556,12 +1552,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Wir unterstützen keine Bearbeitung von Fotos und Alben, die du noch nicht besitzt"),
|
||||
"weHaveSendEmailTo": m67,
|
||||
"weHaveSendEmailTo": m66,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Schwach"),
|
||||
"welcomeBack":
|
||||
MessageLookupByLibrary.simpleMessage("Willkommen zurück!"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("Jährlich"),
|
||||
"yearsAgo": m68,
|
||||
"yearsAgo": m67,
|
||||
"yes": MessageLookupByLibrary.simpleMessage("Ja"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Ja, kündigen"),
|
||||
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1591,7 +1587,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Du kannst nicht mit dir selbst teilen"),
|
||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||
"Du hast keine archivierten Elemente."),
|
||||
"youHaveSuccessfullyFreedUp": m69,
|
||||
"youHaveSuccessfullyFreedUp": m68,
|
||||
"yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage(
|
||||
"Dein Benutzerkonto wurde gelöscht"),
|
||||
"yourMap": MessageLookupByLibrary.simpleMessage("Deine Karte"),
|
||||
|
|
130
mobile/lib/generated/intl/messages_en.dart
generated
130
mobile/lib/generated/intl/messages_en.dart
generated
|
@ -129,89 +129,86 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
static String m37(providerName) =>
|
||||
"Please talk to ${providerName} support if you were charged";
|
||||
|
||||
static String m38(reason) =>
|
||||
"Unfortunately your payment failed due to ${reason}";
|
||||
|
||||
static String m39(endDate) =>
|
||||
static String m38(endDate) =>
|
||||
"Free trial valid till ${endDate}.\nYou can choose a paid plan afterwards.";
|
||||
|
||||
static String m40(toEmail) => "Please email us at ${toEmail}";
|
||||
static String m39(toEmail) => "Please email us at ${toEmail}";
|
||||
|
||||
static String m41(toEmail) => "Please send the logs to \n${toEmail}";
|
||||
static String m40(toEmail) => "Please send the logs to \n${toEmail}";
|
||||
|
||||
static String m42(storeName) => "Rate us on ${storeName}";
|
||||
static String m41(storeName) => "Rate us on ${storeName}";
|
||||
|
||||
static String m43(storageInGB) =>
|
||||
static String m42(storageInGB) =>
|
||||
"3. Both of you get ${storageInGB} GB* free";
|
||||
|
||||
static String m44(userEmail) =>
|
||||
static String m43(userEmail) =>
|
||||
"${userEmail} will be removed from this shared album\n\nAny photos added by them will also be removed from the album";
|
||||
|
||||
static String m45(endDate) => "Subscription renews on ${endDate}";
|
||||
static String m44(endDate) => "Subscription renews on ${endDate}";
|
||||
|
||||
static String m46(count) =>
|
||||
static String m45(count) =>
|
||||
"${Intl.plural(count, one: '${count} result found', other: '${count} results found')}";
|
||||
|
||||
static String m47(count) => "${count} selected";
|
||||
static String m46(count) => "${count} selected";
|
||||
|
||||
static String m48(count, yourCount) =>
|
||||
static String m47(count, yourCount) =>
|
||||
"${count} selected (${yourCount} yours)";
|
||||
|
||||
static String m49(verificationID) =>
|
||||
static String m48(verificationID) =>
|
||||
"Here\'s my verification ID: ${verificationID} for ente.io.";
|
||||
|
||||
static String m50(verificationID) =>
|
||||
static String m49(verificationID) =>
|
||||
"Hey, can you confirm that this is your ente.io verification ID: ${verificationID}";
|
||||
|
||||
static String m51(referralCode, referralStorageInGB) =>
|
||||
static String m50(referralCode, referralStorageInGB) =>
|
||||
"ente referral code: ${referralCode} \n\nApply it in Settings → General → Referrals to get ${referralStorageInGB} GB free after you signup for a paid plan\n\nhttps://ente.io";
|
||||
|
||||
static String m52(numberOfPeople) =>
|
||||
static String m51(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: 'Share with specific people', one: 'Shared with 1 person', other: 'Shared with ${numberOfPeople} people')}";
|
||||
|
||||
static String m53(emailIDs) => "Shared with ${emailIDs}";
|
||||
static String m52(emailIDs) => "Shared with ${emailIDs}";
|
||||
|
||||
static String m54(fileType) =>
|
||||
static String m53(fileType) =>
|
||||
"This ${fileType} will be deleted from your device.";
|
||||
|
||||
static String m55(fileType) =>
|
||||
static String m54(fileType) =>
|
||||
"This ${fileType} is in both ente and your device.";
|
||||
|
||||
static String m56(fileType) => "This ${fileType} will be deleted from ente.";
|
||||
static String m55(fileType) => "This ${fileType} will be deleted from ente.";
|
||||
|
||||
static String m57(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
static String m56(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
|
||||
static String m58(
|
||||
static String m57(
|
||||
usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) =>
|
||||
"${usedAmount} ${usedStorageUnit} of ${totalAmount} ${totalStorageUnit} used";
|
||||
|
||||
static String m59(id) =>
|
||||
static String m58(id) =>
|
||||
"Your ${id} is already linked to another ente account.\nIf you would like to use your ${id} with this account, please contact our support\'\'";
|
||||
|
||||
static String m60(endDate) =>
|
||||
static String m59(endDate) =>
|
||||
"Your subscription will be cancelled on ${endDate}";
|
||||
|
||||
static String m61(completed, total) =>
|
||||
static String m60(completed, total) =>
|
||||
"${completed}/${total} memories preserved";
|
||||
|
||||
static String m62(storageAmountInGB) =>
|
||||
static String m61(storageAmountInGB) =>
|
||||
"They also get ${storageAmountInGB} GB";
|
||||
|
||||
static String m63(email) => "This is ${email}\'s Verification ID";
|
||||
static String m62(email) => "This is ${email}\'s Verification ID";
|
||||
|
||||
static String m64(count) =>
|
||||
static String m63(count) =>
|
||||
"${Intl.plural(count, zero: '', one: '1 day', other: '${count} days')}";
|
||||
|
||||
static String m65(endDate) => "Valid till ${endDate}";
|
||||
static String m64(endDate) => "Valid till ${endDate}";
|
||||
|
||||
static String m66(email) => "Verify ${email}";
|
||||
static String m65(email) => "Verify ${email}";
|
||||
|
||||
static String m67(email) => "We have sent a mail to <green>${email}</green>";
|
||||
static String m66(email) => "We have sent a mail to <green>${email}</green>";
|
||||
|
||||
static String m68(count) =>
|
||||
static String m67(count) =>
|
||||
"${Intl.plural(count, one: '${count} year ago', other: '${count} years ago')}";
|
||||
|
||||
static String m69(storageSaved) =>
|
||||
static String m68(storageSaved) =>
|
||||
"You have successfully freed up ${storageSaved}!";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
|
@ -982,8 +979,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"paymentDetails":
|
||||
MessageLookupByLibrary.simpleMessage("Payment details"),
|
||||
"paymentFailed": MessageLookupByLibrary.simpleMessage("Payment failed"),
|
||||
"paymentFailedMessage": MessageLookupByLibrary.simpleMessage(
|
||||
"Unfortunately your payment failed. Please contact support and we\'ll help you out!"),
|
||||
"paymentFailedTalkToProvider": m37,
|
||||
"paymentFailedWithReason": m38,
|
||||
"pendingItems": MessageLookupByLibrary.simpleMessage("Pending items"),
|
||||
"pendingSync": MessageLookupByLibrary.simpleMessage("Pending sync"),
|
||||
"peopleUsingYourCode":
|
||||
|
@ -1007,7 +1005,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Pick center point"),
|
||||
"pinAlbum": MessageLookupByLibrary.simpleMessage("Pin album"),
|
||||
"playOnTv": MessageLookupByLibrary.simpleMessage("Play album on TV"),
|
||||
"playStoreFreeTrialValidTill": m39,
|
||||
"playStoreFreeTrialValidTill": m38,
|
||||
"playstoreSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("PlayStore subscription"),
|
||||
"pleaseCheckYourInternetConnectionAndTryAgain":
|
||||
|
@ -1019,12 +1017,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"pleaseContactSupportIfTheProblemPersists":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Please contact support if the problem persists"),
|
||||
"pleaseEmailUsAt": m40,
|
||||
"pleaseEmailUsAt": m39,
|
||||
"pleaseGrantPermissions":
|
||||
MessageLookupByLibrary.simpleMessage("Please grant permissions"),
|
||||
"pleaseLoginAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Please login again"),
|
||||
"pleaseSendTheLogsTo": m41,
|
||||
"pleaseSendTheLogsTo": m40,
|
||||
"pleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Please try again"),
|
||||
"pleaseVerifyTheCodeYouHaveEntered":
|
||||
|
@ -1059,7 +1057,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"raiseTicket": MessageLookupByLibrary.simpleMessage("Raise ticket"),
|
||||
"rateTheApp": MessageLookupByLibrary.simpleMessage("Rate the app"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("Rate us"),
|
||||
"rateUsOnStore": m42,
|
||||
"rateUsOnStore": m41,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Recover"),
|
||||
"recoverAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Recover account"),
|
||||
|
@ -1090,7 +1088,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"1. Give this code to your friends"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||
"2. They sign up for a paid plan"),
|
||||
"referralStep3": m43,
|
||||
"referralStep3": m42,
|
||||
"referrals": MessageLookupByLibrary.simpleMessage("Referrals"),
|
||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||
"Referrals are currently paused"),
|
||||
|
@ -1114,7 +1112,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"removeLink": MessageLookupByLibrary.simpleMessage("Remove link"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Remove participant"),
|
||||
"removeParticipantBody": m44,
|
||||
"removeParticipantBody": m43,
|
||||
"removePublicLink":
|
||||
MessageLookupByLibrary.simpleMessage("Remove public link"),
|
||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1128,7 +1126,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"renameFile": MessageLookupByLibrary.simpleMessage("Rename file"),
|
||||
"renewSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Renew subscription"),
|
||||
"renewsOn": m45,
|
||||
"renewsOn": m44,
|
||||
"reportABug": MessageLookupByLibrary.simpleMessage("Report a bug"),
|
||||
"reportBug": MessageLookupByLibrary.simpleMessage("Report bug"),
|
||||
"resendEmail": MessageLookupByLibrary.simpleMessage("Resend email"),
|
||||
|
@ -1188,7 +1186,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Group photos that are taken within some radius of a photo"),
|
||||
"searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage(
|
||||
"Invite people, and you\'ll see all photos shared by them here"),
|
||||
"searchResultCount": m46,
|
||||
"searchResultCount": m45,
|
||||
"security": MessageLookupByLibrary.simpleMessage("Security"),
|
||||
"selectALocation":
|
||||
MessageLookupByLibrary.simpleMessage("Select a location"),
|
||||
|
@ -1215,8 +1213,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Selected items will be deleted from all albums and moved to trash."),
|
||||
"selectedPhotos": m47,
|
||||
"selectedPhotosWithYours": m48,
|
||||
"selectedPhotos": m46,
|
||||
"selectedPhotosWithYours": m47,
|
||||
"send": MessageLookupByLibrary.simpleMessage("Send"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("Send email"),
|
||||
"sendInvite": MessageLookupByLibrary.simpleMessage("Send invite"),
|
||||
|
@ -1238,16 +1236,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"shareAnAlbumNow":
|
||||
MessageLookupByLibrary.simpleMessage("Share an album now"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("Share link"),
|
||||
"shareMyVerificationID": m49,
|
||||
"shareMyVerificationID": m48,
|
||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||
"Share only with the people you want"),
|
||||
"shareTextConfirmOthersVerificationID": m50,
|
||||
"shareTextConfirmOthersVerificationID": m49,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Download ente so we can easily share original quality photos and videos\n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m51,
|
||||
"shareTextReferralCode": m50,
|
||||
"shareWithNonenteUsers":
|
||||
MessageLookupByLibrary.simpleMessage("Share with non-ente users"),
|
||||
"shareWithPeopleSectionTitle": m52,
|
||||
"shareWithPeopleSectionTitle": m51,
|
||||
"shareYourFirstAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Share your first album"),
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1258,7 +1256,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("New shared photos"),
|
||||
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||
"Receive notifications when someone adds a photo to a shared album that you\'re a part of"),
|
||||
"sharedWith": m53,
|
||||
"sharedWith": m52,
|
||||
"sharedWithMe": MessageLookupByLibrary.simpleMessage("Shared with me"),
|
||||
"sharedWithYou":
|
||||
MessageLookupByLibrary.simpleMessage("Shared with you"),
|
||||
|
@ -1272,11 +1270,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Sign out other devices"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"I agree to the <u-terms>terms of service</u-terms> and <u-policy>privacy policy</u-policy>"),
|
||||
"singleFileDeleteFromDevice": m54,
|
||||
"singleFileDeleteFromDevice": m53,
|
||||
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||
"It will be deleted from all albums."),
|
||||
"singleFileInBothLocalAndRemote": m55,
|
||||
"singleFileInRemoteOnly": m56,
|
||||
"singleFileInBothLocalAndRemote": m54,
|
||||
"singleFileInRemoteOnly": m55,
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Skip"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("Social"),
|
||||
"someItemsAreInBothEnteAndYourDevice":
|
||||
|
@ -1314,13 +1312,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"storage": MessageLookupByLibrary.simpleMessage("Storage"),
|
||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Family"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("You"),
|
||||
"storageInGB": m57,
|
||||
"storageInGB": m56,
|
||||
"storageLimitExceeded":
|
||||
MessageLookupByLibrary.simpleMessage("Storage limit exceeded"),
|
||||
"storageUsageInfo": m58,
|
||||
"storageUsageInfo": m57,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Strong"),
|
||||
"subAlreadyLinkedErrMessage": m59,
|
||||
"subWillBeCancelledOn": m60,
|
||||
"subAlreadyLinkedErrMessage": m58,
|
||||
"subWillBeCancelledOn": m59,
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("Subscribe"),
|
||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||
"Looks like your subscription has expired. Please subscribe to enable sharing."),
|
||||
|
@ -1337,7 +1335,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"suggestFeatures":
|
||||
MessageLookupByLibrary.simpleMessage("Suggest features"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("Support"),
|
||||
"syncProgress": m61,
|
||||
"syncProgress": m60,
|
||||
"syncStopped": MessageLookupByLibrary.simpleMessage("Sync stopped"),
|
||||
"syncing": MessageLookupByLibrary.simpleMessage("Syncing..."),
|
||||
"systemTheme": MessageLookupByLibrary.simpleMessage("System"),
|
||||
|
@ -1363,7 +1361,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"theseItemsWillBeDeletedFromYourDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"These items will be deleted from your device."),
|
||||
"theyAlsoGetXGb": m62,
|
||||
"theyAlsoGetXGb": m61,
|
||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||
"They will be deleted from all albums."),
|
||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1379,7 +1377,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"This email is already in use"),
|
||||
"thisImageHasNoExifData":
|
||||
MessageLookupByLibrary.simpleMessage("This image has no exif data"),
|
||||
"thisIsPersonVerificationId": m63,
|
||||
"thisIsPersonVerificationId": m62,
|
||||
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
||||
"This is your Verification ID"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
|
@ -1395,7 +1393,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"total": MessageLookupByLibrary.simpleMessage("total"),
|
||||
"totalSize": MessageLookupByLibrary.simpleMessage("Total size"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("Trash"),
|
||||
"trashDaysLeft": m64,
|
||||
"trashDaysLeft": m63,
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Try again"),
|
||||
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
||||
"Turn on backup to automatically upload files added to this device folder to ente."),
|
||||
|
@ -1447,7 +1445,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"useSelectedPhoto":
|
||||
MessageLookupByLibrary.simpleMessage("Use selected photo"),
|
||||
"usedSpace": MessageLookupByLibrary.simpleMessage("Used space"),
|
||||
"validTill": m65,
|
||||
"validTill": m64,
|
||||
"verificationFailedPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Verification failed, please try again"),
|
||||
|
@ -1455,7 +1453,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Verification ID"),
|
||||
"verify": MessageLookupByLibrary.simpleMessage("Verify"),
|
||||
"verifyEmail": MessageLookupByLibrary.simpleMessage("Verify email"),
|
||||
"verifyEmailID": m66,
|
||||
"verifyEmailID": m65,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verify"),
|
||||
"verifyPasskey": MessageLookupByLibrary.simpleMessage("Verify passkey"),
|
||||
"verifyPassword":
|
||||
|
@ -1486,11 +1484,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"We don\'t support editing photos and albums that you don\'t own yet"),
|
||||
"weHaveSendEmailTo": m67,
|
||||
"weHaveSendEmailTo": m66,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Weak"),
|
||||
"welcomeBack": MessageLookupByLibrary.simpleMessage("Welcome back!"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("Yearly"),
|
||||
"yearsAgo": m68,
|
||||
"yearsAgo": m67,
|
||||
"yes": MessageLookupByLibrary.simpleMessage("Yes"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Yes, cancel"),
|
||||
"yesConvertToViewer":
|
||||
|
@ -1520,7 +1518,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"You cannot share with yourself"),
|
||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||
"You don\'t have any archived items."),
|
||||
"youHaveSuccessfullyFreedUp": m69,
|
||||
"youHaveSuccessfullyFreedUp": m68,
|
||||
"yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage(
|
||||
"Your account has been deleted"),
|
||||
"yourMap": MessageLookupByLibrary.simpleMessage("Your map"),
|
||||
|
|
112
mobile/lib/generated/intl/messages_es.dart
generated
112
mobile/lib/generated/intl/messages_es.dart
generated
|
@ -121,79 +121,76 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
static String m37(providerName) =>
|
||||
"Por favor hable con el soporte de ${providerName} si se le cobró";
|
||||
|
||||
static String m38(reason) =>
|
||||
"Lamentablemente tu pago falló debido a ${reason}";
|
||||
|
||||
static String m40(toEmail) =>
|
||||
static String m39(toEmail) =>
|
||||
"Por favor, envíanos un correo electrónico a ${toEmail}";
|
||||
|
||||
static String m41(toEmail) => "Por favor, envíe los registros a ${toEmail}";
|
||||
static String m40(toEmail) => "Por favor, envíe los registros a ${toEmail}";
|
||||
|
||||
static String m42(storeName) => "Califícanos en ${storeName}";
|
||||
static String m41(storeName) => "Califícanos en ${storeName}";
|
||||
|
||||
static String m43(storageInGB) =>
|
||||
static String m42(storageInGB) =>
|
||||
"3. Ambos obtienen ${storageInGB} GB* gratis";
|
||||
|
||||
static String m44(userEmail) =>
|
||||
static String m43(userEmail) =>
|
||||
"${userEmail} será eliminado de este álbum compartido\n\nCualquier foto añadida por ellos también será eliminada del álbum";
|
||||
|
||||
static String m45(endDate) => "Se renueva el ${endDate}";
|
||||
static String m44(endDate) => "Se renueva el ${endDate}";
|
||||
|
||||
static String m47(count) => "${count} seleccionados";
|
||||
static String m46(count) => "${count} seleccionados";
|
||||
|
||||
static String m48(count, yourCount) =>
|
||||
static String m47(count, yourCount) =>
|
||||
"${count} seleccionados (${yourCount} tuyos)";
|
||||
|
||||
static String m49(verificationID) =>
|
||||
static String m48(verificationID) =>
|
||||
"Aquí está mi ID de verificación: ${verificationID} para ente.io.";
|
||||
|
||||
static String m50(verificationID) =>
|
||||
static String m49(verificationID) =>
|
||||
"Hola, ¿puedes confirmar que esta es tu ID de verificación ente.io: ${verificationID}?";
|
||||
|
||||
static String m51(referralCode, referralStorageInGB) =>
|
||||
static String m50(referralCode, referralStorageInGB) =>
|
||||
"ente código de referencia: ${referralCode} \n\nAplicarlo en Ajustes → General → Referencias para obtener ${referralStorageInGB} GB gratis después de registrarse en un plan de pago\n\nhttps://ente.io";
|
||||
|
||||
static String m52(numberOfPeople) =>
|
||||
static String m51(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: 'Compartir con personas específicas', one: 'Compartido con 1 persona', other: 'Compartido con ${numberOfPeople} personas')}";
|
||||
|
||||
static String m53(emailIDs) => "Compartido con ${emailIDs}";
|
||||
static String m52(emailIDs) => "Compartido con ${emailIDs}";
|
||||
|
||||
static String m54(fileType) =>
|
||||
static String m53(fileType) =>
|
||||
"Este ${fileType} se eliminará de tu dispositivo.";
|
||||
|
||||
static String m55(fileType) =>
|
||||
static String m54(fileType) =>
|
||||
"Este ${fileType} está tanto en ente como en tu dispositivo.";
|
||||
|
||||
static String m56(fileType) => "Este ${fileType} se eliminará de ente.";
|
||||
static String m55(fileType) => "Este ${fileType} se eliminará de ente.";
|
||||
|
||||
static String m57(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
static String m56(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
|
||||
static String m58(
|
||||
static String m57(
|
||||
usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) =>
|
||||
"${usedAmount} ${usedStorageUnit} de ${totalAmount} ${totalStorageUnit} usados";
|
||||
|
||||
static String m59(id) =>
|
||||
static String m58(id) =>
|
||||
"Su ${id} ya está vinculado a otra cuenta ente.\nSi desea utilizar su ${id} con esta cuenta, póngase en contacto con nuestro servicio de asistencia\'\'";
|
||||
|
||||
static String m60(endDate) => "Tu suscripción se cancelará el ${endDate}";
|
||||
static String m59(endDate) => "Tu suscripción se cancelará el ${endDate}";
|
||||
|
||||
static String m61(completed, total) =>
|
||||
static String m60(completed, total) =>
|
||||
"${completed}/${total} recuerdos conservados";
|
||||
|
||||
static String m62(storageAmountInGB) =>
|
||||
static String m61(storageAmountInGB) =>
|
||||
"También obtienen ${storageAmountInGB} GB";
|
||||
|
||||
static String m63(email) => "Este es el ID de verificación de ${email}";
|
||||
static String m62(email) => "Este es el ID de verificación de ${email}";
|
||||
|
||||
static String m66(email) => "Verificar ${email}";
|
||||
static String m65(email) => "Verificar ${email}";
|
||||
|
||||
static String m67(email) =>
|
||||
static String m66(email) =>
|
||||
"Hemos enviado un correo a <green>${email}</green>";
|
||||
|
||||
static String m68(count) =>
|
||||
static String m67(count) =>
|
||||
"${Intl.plural(count, one: '${count} hace un año', other: '${count} hace años')}";
|
||||
|
||||
static String m69(storageSaved) => "¡Has liberado ${storageSaved} con éxito!";
|
||||
static String m68(storageSaved) => "¡Has liberado ${storageSaved} con éxito!";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
||||
|
@ -875,7 +872,6 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Detalles de pago"),
|
||||
"paymentFailed": MessageLookupByLibrary.simpleMessage("Pago fallido"),
|
||||
"paymentFailedTalkToProvider": m37,
|
||||
"paymentFailedWithReason": m38,
|
||||
"pendingSync":
|
||||
MessageLookupByLibrary.simpleMessage("Sincronización pendiente"),
|
||||
"peopleUsingYourCode":
|
||||
|
@ -902,12 +898,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"pleaseContactSupportIfTheProblemPersists":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Por favor contacte a soporte técnico si el problema persiste"),
|
||||
"pleaseEmailUsAt": m40,
|
||||
"pleaseEmailUsAt": m39,
|
||||
"pleaseGrantPermissions":
|
||||
MessageLookupByLibrary.simpleMessage("Por favor, concede permiso"),
|
||||
"pleaseLoginAgain": MessageLookupByLibrary.simpleMessage(
|
||||
"Por favor, vuelva a iniciar sesión"),
|
||||
"pleaseSendTheLogsTo": m41,
|
||||
"pleaseSendTheLogsTo": m40,
|
||||
"pleaseTryAgain": MessageLookupByLibrary.simpleMessage(
|
||||
"Por favor, inténtalo nuevamente"),
|
||||
"pleaseVerifyTheCodeYouHaveEntered":
|
||||
|
@ -941,7 +937,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"rateTheApp":
|
||||
MessageLookupByLibrary.simpleMessage("Evalúa la aplicación"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("Califícanos"),
|
||||
"rateUsOnStore": m42,
|
||||
"rateUsOnStore": m41,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Recuperar"),
|
||||
"recoverAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Recuperar cuenta"),
|
||||
|
@ -973,7 +969,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"1. Dale este código a tus amigos"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||
"2. Se inscriben a un plan pagado"),
|
||||
"referralStep3": m43,
|
||||
"referralStep3": m42,
|
||||
"referrals": MessageLookupByLibrary.simpleMessage("Referidos"),
|
||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||
"Las referencias están actualmente en pausa"),
|
||||
|
@ -998,7 +994,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"removeLink": MessageLookupByLibrary.simpleMessage("Eliminar enlace"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Quitar participante"),
|
||||
"removeParticipantBody": m44,
|
||||
"removeParticipantBody": m43,
|
||||
"removePublicLink":
|
||||
MessageLookupByLibrary.simpleMessage("Quitar enlace público"),
|
||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1012,7 +1008,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"renameFile": MessageLookupByLibrary.simpleMessage("Renombrar archivo"),
|
||||
"renewSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Renovar suscripción"),
|
||||
"renewsOn": m45,
|
||||
"renewsOn": m44,
|
||||
"reportABug": MessageLookupByLibrary.simpleMessage("Reportar un error"),
|
||||
"reportBug": MessageLookupByLibrary.simpleMessage("Reportar error"),
|
||||
"resendEmail":
|
||||
|
@ -1074,8 +1070,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Los archivos seleccionados serán eliminados de todos los álbumes y movidos a la papelera."),
|
||||
"selectedPhotos": m47,
|
||||
"selectedPhotosWithYours": m48,
|
||||
"selectedPhotos": m46,
|
||||
"selectedPhotosWithYours": m47,
|
||||
"send": MessageLookupByLibrary.simpleMessage("Enviar"),
|
||||
"sendEmail":
|
||||
MessageLookupByLibrary.simpleMessage("Enviar correo electrónico"),
|
||||
|
@ -1100,32 +1096,32 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"shareAnAlbumNow":
|
||||
MessageLookupByLibrary.simpleMessage("Compartir un álbum ahora"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("Compartir enlace"),
|
||||
"shareMyVerificationID": m49,
|
||||
"shareMyVerificationID": m48,
|
||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||
"Comparte sólo con la gente que quieres"),
|
||||
"shareTextConfirmOthersVerificationID": m50,
|
||||
"shareTextConfirmOthersVerificationID": m49,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Descarga ente para que podamos compartir fácilmente fotos y videos en su calidad original\n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m51,
|
||||
"shareTextReferralCode": m50,
|
||||
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||
"Compartir con usuarios no ente"),
|
||||
"shareWithPeopleSectionTitle": m52,
|
||||
"shareWithPeopleSectionTitle": m51,
|
||||
"shareYourFirstAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Comparte tu primer álbum"),
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Crear álbumes compartidos y colaborativos con otros usuarios ente, incluyendo usuarios en planes gratuitos."),
|
||||
"sharedByMe": MessageLookupByLibrary.simpleMessage("Compartido por mí"),
|
||||
"sharedWith": m53,
|
||||
"sharedWith": m52,
|
||||
"sharedWithMe":
|
||||
MessageLookupByLibrary.simpleMessage("Compartido conmigo"),
|
||||
"sharing": MessageLookupByLibrary.simpleMessage("Compartiendo..."),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"Estoy de acuerdo con los <u-terms>términos del servicio</u-terms> y <u-policy> la política de privacidad</u-policy>"),
|
||||
"singleFileDeleteFromDevice": m54,
|
||||
"singleFileDeleteFromDevice": m53,
|
||||
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||
"Se borrará de todos los álbumes."),
|
||||
"singleFileInBothLocalAndRemote": m55,
|
||||
"singleFileInRemoteOnly": m56,
|
||||
"singleFileInBothLocalAndRemote": m54,
|
||||
"singleFileInRemoteOnly": m55,
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Omitir"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("Social"),
|
||||
"someItemsAreInBothEnteAndYourDevice":
|
||||
|
@ -1160,13 +1156,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"storage": MessageLookupByLibrary.simpleMessage("Almacenamiento"),
|
||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Familia"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Usted"),
|
||||
"storageInGB": m57,
|
||||
"storageInGB": m56,
|
||||
"storageLimitExceeded":
|
||||
MessageLookupByLibrary.simpleMessage("Límite de datos excedido"),
|
||||
"storageUsageInfo": m58,
|
||||
"storageUsageInfo": m57,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Segura"),
|
||||
"subAlreadyLinkedErrMessage": m59,
|
||||
"subWillBeCancelledOn": m60,
|
||||
"subAlreadyLinkedErrMessage": m58,
|
||||
"subWillBeCancelledOn": m59,
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("Suscribirse"),
|
||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||
"Parece que su suscripción ha caducado. Por favor, suscríbase para habilitar el compartir."),
|
||||
|
@ -1179,7 +1175,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"suggestFeatures":
|
||||
MessageLookupByLibrary.simpleMessage("Sugerir una característica"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("Soporte"),
|
||||
"syncProgress": m61,
|
||||
"syncProgress": m60,
|
||||
"syncStopped":
|
||||
MessageLookupByLibrary.simpleMessage("Sincronización detenida"),
|
||||
"syncing": MessageLookupByLibrary.simpleMessage("Sincronizando..."),
|
||||
|
@ -1207,7 +1203,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"theseItemsWillBeDeletedFromYourDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Estos elementos se eliminarán de tu dispositivo."),
|
||||
"theyAlsoGetXGb": m62,
|
||||
"theyAlsoGetXGb": m61,
|
||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||
"Se borrarán de todos los álbumes."),
|
||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1223,7 +1219,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Este correo electrónico ya está en uso"),
|
||||
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
||||
"Esta imagen no tiene datos exif"),
|
||||
"thisIsPersonVerificationId": m63,
|
||||
"thisIsPersonVerificationId": m62,
|
||||
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
||||
"Esta es tu ID de verificación"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
|
@ -1293,7 +1289,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"verify": MessageLookupByLibrary.simpleMessage("Verificar"),
|
||||
"verifyEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"Verificar correo electrónico"),
|
||||
"verifyEmailID": m66,
|
||||
"verifyEmailID": m65,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verificar"),
|
||||
"verifyPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Verificar contraseña"),
|
||||
|
@ -1316,12 +1312,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"No admitimos la edición de fotos y álbunes que aún no son tuyos"),
|
||||
"weHaveSendEmailTo": m67,
|
||||
"weHaveSendEmailTo": m66,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Poco segura"),
|
||||
"welcomeBack":
|
||||
MessageLookupByLibrary.simpleMessage("¡Bienvenido de nuevo!"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("Anualmente"),
|
||||
"yearsAgo": m68,
|
||||
"yearsAgo": m67,
|
||||
"yes": MessageLookupByLibrary.simpleMessage("Sí"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Sí, cancelar"),
|
||||
"yesConvertToViewer":
|
||||
|
@ -1351,7 +1347,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"No puedes compartir contigo mismo"),
|
||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||
"No tienes nada de elementos archivados."),
|
||||
"youHaveSuccessfullyFreedUp": m69,
|
||||
"youHaveSuccessfullyFreedUp": m68,
|
||||
"yourAccountHasBeenDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Su cuenta ha sido eliminada"),
|
||||
"yourMap": MessageLookupByLibrary.simpleMessage("Your map"),
|
||||
|
|
128
mobile/lib/generated/intl/messages_fr.dart
generated
128
mobile/lib/generated/intl/messages_fr.dart
generated
|
@ -126,89 +126,86 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
static String m37(providerName) =>
|
||||
"Veuillez contacter le support ${providerName} si vous avez été facturé";
|
||||
|
||||
static String m38(reason) =>
|
||||
"Malheureusement, votre paiement a échoué pour ${reason}";
|
||||
|
||||
static String m39(endDate) =>
|
||||
static String m38(endDate) =>
|
||||
"Essai gratuit valable jusqu\'à ${endDate}.\nVous pouvez choisir un plan payant par la suite.";
|
||||
|
||||
static String m40(toEmail) => "Merci de nous envoyer un e-mail à ${toEmail}";
|
||||
static String m39(toEmail) => "Merci de nous envoyer un e-mail à ${toEmail}";
|
||||
|
||||
static String m41(toEmail) => "Envoyez les logs à ${toEmail}";
|
||||
static String m40(toEmail) => "Envoyez les logs à ${toEmail}";
|
||||
|
||||
static String m42(storeName) => "Notez-nous sur ${storeName}";
|
||||
static String m41(storeName) => "Notez-nous sur ${storeName}";
|
||||
|
||||
static String m43(storageInGB) =>
|
||||
static String m42(storageInGB) =>
|
||||
"3. Vous recevez tous les deux ${storageInGB} GB* gratuits";
|
||||
|
||||
static String m44(userEmail) =>
|
||||
static String m43(userEmail) =>
|
||||
"${userEmail} sera retiré de cet album partagé\n\nToutes les photos ajoutées par eux seront également retirées de l\'album";
|
||||
|
||||
static String m45(endDate) => "Renouvellement le ${endDate}";
|
||||
static String m44(endDate) => "Renouvellement le ${endDate}";
|
||||
|
||||
static String m46(count) =>
|
||||
static String m45(count) =>
|
||||
"${Intl.plural(count, one: '${count} résultat trouvé', other: '${count} résultats trouvés')}";
|
||||
|
||||
static String m47(count) => "${count} sélectionné(s)";
|
||||
static String m46(count) => "${count} sélectionné(s)";
|
||||
|
||||
static String m48(count, yourCount) =>
|
||||
static String m47(count, yourCount) =>
|
||||
"${count} sélectionné(s) (${yourCount} à vous)";
|
||||
|
||||
static String m49(verificationID) =>
|
||||
static String m48(verificationID) =>
|
||||
"Voici mon ID de vérification : ${verificationID} pour ente.io.";
|
||||
|
||||
static String m50(verificationID) =>
|
||||
static String m49(verificationID) =>
|
||||
"Hé, pouvez-vous confirmer qu\'il s\'agit de votre ID de vérification ente.io : ${verificationID}";
|
||||
|
||||
static String m51(referralCode, referralStorageInGB) =>
|
||||
static String m50(referralCode, referralStorageInGB) =>
|
||||
"code de parrainage ente : ${referralCode} \n\nAppliquez le dans Paramètres → Général → Références pour obtenir ${referralStorageInGB} Go gratuitement après votre inscription à un plan payant\n\nhttps://ente.io";
|
||||
|
||||
static String m52(numberOfPeople) =>
|
||||
static String m51(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: 'Partagez avec des personnes spécifiques', one: 'Partagé avec 1 personne', other: 'Partagé avec ${numberOfPeople} des gens')}";
|
||||
|
||||
static String m53(emailIDs) => "Partagé avec ${emailIDs}";
|
||||
static String m52(emailIDs) => "Partagé avec ${emailIDs}";
|
||||
|
||||
static String m54(fileType) =>
|
||||
static String m53(fileType) =>
|
||||
"Elle ${fileType} sera supprimée de votre appareil.";
|
||||
|
||||
static String m55(fileType) =>
|
||||
static String m54(fileType) =>
|
||||
"Cette ${fileType} est à la fois sur ente et sur votre appareil.";
|
||||
|
||||
static String m56(fileType) => "Ce ${fileType} sera supprimé de ente.";
|
||||
static String m55(fileType) => "Ce ${fileType} sera supprimé de ente.";
|
||||
|
||||
static String m57(storageAmountInGB) => "${storageAmountInGB} Go";
|
||||
static String m56(storageAmountInGB) => "${storageAmountInGB} Go";
|
||||
|
||||
static String m58(
|
||||
static String m57(
|
||||
usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) =>
|
||||
"${usedAmount} ${usedStorageUnit} sur ${totalAmount} ${totalStorageUnit} utilisé";
|
||||
|
||||
static String m59(id) =>
|
||||
static String m58(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 m60(endDate) => "Votre abonnement sera annulé le ${endDate}";
|
||||
static String m59(endDate) => "Votre abonnement sera annulé le ${endDate}";
|
||||
|
||||
static String m61(completed, total) =>
|
||||
static String m60(completed, total) =>
|
||||
"${completed}/${total} souvenirs préservés";
|
||||
|
||||
static String m62(storageAmountInGB) =>
|
||||
static String m61(storageAmountInGB) =>
|
||||
"Ils obtiennent aussi ${storageAmountInGB} Go";
|
||||
|
||||
static String m63(email) => "Ceci est l\'ID de vérification de ${email}";
|
||||
static String m62(email) => "Ceci est l\'ID de vérification de ${email}";
|
||||
|
||||
static String m64(count) =>
|
||||
static String m63(count) =>
|
||||
"${Intl.plural(count, zero: '0 jour', one: '1 jour', other: '${count} jours')}";
|
||||
|
||||
static String m65(endDate) => "Valable jusqu\'au ${endDate}";
|
||||
static String m64(endDate) => "Valable jusqu\'au ${endDate}";
|
||||
|
||||
static String m66(email) => "Vérifier ${email}";
|
||||
static String m65(email) => "Vérifier ${email}";
|
||||
|
||||
static String m67(email) =>
|
||||
static String m66(email) =>
|
||||
"Nous avons envoyé un e-mail à <green>${email}</green>";
|
||||
|
||||
static String m68(count) =>
|
||||
static String m67(count) =>
|
||||
"${Intl.plural(count, one: 'il y a ${count} an', other: 'il y a ${count} ans')}";
|
||||
|
||||
static String m69(storageSaved) =>
|
||||
static String m68(storageSaved) =>
|
||||
"Vous avez libéré ${storageSaved} avec succès !";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
|
@ -1000,7 +997,6 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"paymentFailed":
|
||||
MessageLookupByLibrary.simpleMessage("Échec du paiement"),
|
||||
"paymentFailedTalkToProvider": m37,
|
||||
"paymentFailedWithReason": m38,
|
||||
"pendingSync":
|
||||
MessageLookupByLibrary.simpleMessage("Synchronisation en attente"),
|
||||
"peopleUsingYourCode": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1023,7 +1019,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"pickCenterPoint": MessageLookupByLibrary.simpleMessage(
|
||||
"Sélectionner le point central"),
|
||||
"pinAlbum": MessageLookupByLibrary.simpleMessage("Épingler l\'album"),
|
||||
"playStoreFreeTrialValidTill": m39,
|
||||
"playStoreFreeTrialValidTill": m38,
|
||||
"playstoreSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Abonnement au PlayStore"),
|
||||
"pleaseContactSupportAndWeWillBeHappyToHelp":
|
||||
|
@ -1032,12 +1028,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"pleaseContactSupportIfTheProblemPersists":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Merci de contacter l\'assistance si cette erreur persiste"),
|
||||
"pleaseEmailUsAt": m40,
|
||||
"pleaseEmailUsAt": m39,
|
||||
"pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage(
|
||||
"Veuillez accorder la permission"),
|
||||
"pleaseLoginAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Veuillez vous reconnecter"),
|
||||
"pleaseSendTheLogsTo": m41,
|
||||
"pleaseSendTheLogsTo": m40,
|
||||
"pleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Veuillez réessayer"),
|
||||
"pleaseVerifyTheCodeYouHaveEntered":
|
||||
|
@ -1073,7 +1069,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"rateTheApp":
|
||||
MessageLookupByLibrary.simpleMessage("Évaluer l\'application"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("Évaluez-nous"),
|
||||
"rateUsOnStore": m42,
|
||||
"rateUsOnStore": m41,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Récupérer"),
|
||||
"recoverAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Récupérer un compte"),
|
||||
|
@ -1104,7 +1100,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"1. Donnez ce code à vos amis"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||
"2. Ils s\'inscrivent à une offre payante"),
|
||||
"referralStep3": m43,
|
||||
"referralStep3": m42,
|
||||
"referrals": MessageLookupByLibrary.simpleMessage("Parrainages"),
|
||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||
"Les recommandations sont actuellement en pause"),
|
||||
|
@ -1130,7 +1126,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"removeLink": MessageLookupByLibrary.simpleMessage("Supprimer le lien"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Supprimer le participant"),
|
||||
"removeParticipantBody": m44,
|
||||
"removeParticipantBody": m43,
|
||||
"removePublicLink":
|
||||
MessageLookupByLibrary.simpleMessage("Supprimer le lien public"),
|
||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1146,7 +1142,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Renommer le fichier"),
|
||||
"renewSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Renouveler l’abonnement"),
|
||||
"renewsOn": m45,
|
||||
"renewsOn": m44,
|
||||
"reportABug": MessageLookupByLibrary.simpleMessage("Signaler un bug"),
|
||||
"reportBug": MessageLookupByLibrary.simpleMessage("Signaler un bug"),
|
||||
"resendEmail":
|
||||
|
@ -1211,7 +1207,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Grouper les photos qui sont prises dans un certain angle d\'une photo"),
|
||||
"searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage(
|
||||
"Invitez des gens, et vous verrez ici toutes les photos qu\'ils partagent"),
|
||||
"searchResultCount": m46,
|
||||
"searchResultCount": m45,
|
||||
"security": MessageLookupByLibrary.simpleMessage("Sécurité"),
|
||||
"selectALocation":
|
||||
MessageLookupByLibrary.simpleMessage("Select a location"),
|
||||
|
@ -1240,8 +1236,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Les éléments sélectionnés seront supprimés de tous les albums et déplacés dans la corbeille."),
|
||||
"selectedPhotos": m47,
|
||||
"selectedPhotosWithYours": m48,
|
||||
"selectedPhotos": m46,
|
||||
"selectedPhotosWithYours": m47,
|
||||
"send": MessageLookupByLibrary.simpleMessage("Envoyer"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("Envoyer un e-mail"),
|
||||
"sendInvite":
|
||||
|
@ -1267,16 +1263,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"shareAnAlbumNow": MessageLookupByLibrary.simpleMessage(
|
||||
"Partagez un album maintenant"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("Partager le lien"),
|
||||
"shareMyVerificationID": m49,
|
||||
"shareMyVerificationID": m48,
|
||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||
"Partager uniquement avec les personnes que vous voulez"),
|
||||
"shareTextConfirmOthersVerificationID": m50,
|
||||
"shareTextConfirmOthersVerificationID": m49,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Téléchargez ente pour que nous puissions facilement partager des photos et des vidéos de qualité originale\n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m51,
|
||||
"shareTextReferralCode": m50,
|
||||
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||
"Partager avec des utilisateurs non-ente"),
|
||||
"shareWithPeopleSectionTitle": m52,
|
||||
"shareWithPeopleSectionTitle": m51,
|
||||
"shareYourFirstAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
"Partagez votre premier album"),
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1287,7 +1283,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Nouvelles photos partagées"),
|
||||
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||
"Recevoir des notifications quand quelqu\'un ajoute une photo à un album partagé dont vous faites partie"),
|
||||
"sharedWith": m53,
|
||||
"sharedWith": m52,
|
||||
"sharedWithMe":
|
||||
MessageLookupByLibrary.simpleMessage("Partagés avec moi"),
|
||||
"sharedWithYou":
|
||||
|
@ -1297,11 +1293,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Montrer les souvenirs"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"J\'accepte les <u-terms>conditions d\'utilisation</u-terms> et la <u-policy>politique de confidentialité</u-policy>"),
|
||||
"singleFileDeleteFromDevice": m54,
|
||||
"singleFileDeleteFromDevice": m53,
|
||||
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||
"Elle sera supprimée de tous les albums."),
|
||||
"singleFileInBothLocalAndRemote": m55,
|
||||
"singleFileInRemoteOnly": m56,
|
||||
"singleFileInBothLocalAndRemote": m54,
|
||||
"singleFileInRemoteOnly": m55,
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Ignorer"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("Réseaux Sociaux"),
|
||||
"someItemsAreInBothEnteAndYourDevice":
|
||||
|
@ -1341,14 +1337,14 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"storage": MessageLookupByLibrary.simpleMessage("Stockage"),
|
||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Famille"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Vous"),
|
||||
"storageInGB": m57,
|
||||
"storageInGB": m56,
|
||||
"storageLimitExceeded":
|
||||
MessageLookupByLibrary.simpleMessage("Limite de stockage atteinte"),
|
||||
"storageUsageInfo": m58,
|
||||
"storageUsageInfo": m57,
|
||||
"strongStrength":
|
||||
MessageLookupByLibrary.simpleMessage("Securité forte"),
|
||||
"subAlreadyLinkedErrMessage": m59,
|
||||
"subWillBeCancelledOn": m60,
|
||||
"subAlreadyLinkedErrMessage": m58,
|
||||
"subWillBeCancelledOn": m59,
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("S\'abonner"),
|
||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||
"Il semble que votre abonnement ait expiré. Veuillez vous abonner pour activer le partage."),
|
||||
|
@ -1365,7 +1361,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"suggestFeatures": MessageLookupByLibrary.simpleMessage(
|
||||
"Suggérer des fonctionnalités"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("Support"),
|
||||
"syncProgress": m61,
|
||||
"syncProgress": m60,
|
||||
"syncStopped":
|
||||
MessageLookupByLibrary.simpleMessage("Synchronisation arrêtée ?"),
|
||||
"syncing": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1394,7 +1390,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"theseItemsWillBeDeletedFromYourDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Ces éléments seront supprimés de votre appareil."),
|
||||
"theyAlsoGetXGb": m62,
|
||||
"theyAlsoGetXGb": m61,
|
||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||
"Ils seront supprimés de tous les albums."),
|
||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1410,7 +1406,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Cette adresse mail est déjà utilisé"),
|
||||
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
||||
"Cette image n\'a pas de données exif"),
|
||||
"thisIsPersonVerificationId": m63,
|
||||
"thisIsPersonVerificationId": m62,
|
||||
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
||||
"Ceci est votre ID de vérification"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
|
@ -1426,7 +1422,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"total": MessageLookupByLibrary.simpleMessage("total"),
|
||||
"totalSize": MessageLookupByLibrary.simpleMessage("Taille totale"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("Corbeille"),
|
||||
"trashDaysLeft": m64,
|
||||
"trashDaysLeft": m63,
|
||||
"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."),
|
||||
|
@ -1484,7 +1480,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"useSelectedPhoto": MessageLookupByLibrary.simpleMessage(
|
||||
"Utiliser la photo sélectionnée"),
|
||||
"usedSpace": MessageLookupByLibrary.simpleMessage("Mémoire utilisée"),
|
||||
"validTill": m65,
|
||||
"validTill": m64,
|
||||
"verificationFailedPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"La vérification a échouée, veuillez réessayer"),
|
||||
|
@ -1493,7 +1489,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"verify": MessageLookupByLibrary.simpleMessage("Vérifier"),
|
||||
"verifyEmail":
|
||||
MessageLookupByLibrary.simpleMessage("Vérifier l\'email"),
|
||||
"verifyEmailID": m66,
|
||||
"verifyEmailID": m65,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Vérifier"),
|
||||
"verifyPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Vérifier le mot de passe"),
|
||||
|
@ -1522,11 +1518,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Nous ne prenons pas en charge l\'édition des photos et des albums que vous ne possédez pas encore"),
|
||||
"weHaveSendEmailTo": m67,
|
||||
"weHaveSendEmailTo": m66,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Securité Faible"),
|
||||
"welcomeBack": MessageLookupByLibrary.simpleMessage("Bienvenue !"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("Annuel"),
|
||||
"yearsAgo": m68,
|
||||
"yearsAgo": m67,
|
||||
"yes": MessageLookupByLibrary.simpleMessage("Oui"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Oui, annuler"),
|
||||
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1557,7 +1553,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Vous ne pouvez pas partager avec vous-même"),
|
||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||
"Vous n\'avez aucun élément archivé."),
|
||||
"youHaveSuccessfullyFreedUp": m69,
|
||||
"youHaveSuccessfullyFreedUp": m68,
|
||||
"yourAccountHasBeenDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Votre compte a été supprimé"),
|
||||
"yourMap": MessageLookupByLibrary.simpleMessage("Votre carte"),
|
||||
|
|
124
mobile/lib/generated/intl/messages_it.dart
generated
124
mobile/lib/generated/intl/messages_it.dart
generated
|
@ -124,86 +124,83 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
static String m37(providerName) =>
|
||||
"Si prega di parlare con il supporto di ${providerName} se ti è stato addebitato qualcosa";
|
||||
|
||||
static String m38(reason) =>
|
||||
"Purtroppo il tuo pagamento non è riuscito a causa di ${reason}";
|
||||
|
||||
static String m39(endDate) =>
|
||||
static String m38(endDate) =>
|
||||
"Prova gratuita valida fino al ${endDate}.\nPuoi scegliere un piano a pagamento in seguito.";
|
||||
|
||||
static String m40(toEmail) => "Per favore invia un\'email a ${toEmail}";
|
||||
static String m39(toEmail) => "Per favore invia un\'email a ${toEmail}";
|
||||
|
||||
static String m41(toEmail) => "Invia i log a \n${toEmail}";
|
||||
static String m40(toEmail) => "Invia i log a \n${toEmail}";
|
||||
|
||||
static String m42(storeName) => "Valutaci su ${storeName}";
|
||||
static String m41(storeName) => "Valutaci su ${storeName}";
|
||||
|
||||
static String m43(storageInGB) =>
|
||||
static String m42(storageInGB) =>
|
||||
"3. Ottenete entrambi ${storageInGB} GB* gratis";
|
||||
|
||||
static String m44(userEmail) =>
|
||||
static String m43(userEmail) =>
|
||||
"${userEmail} verrà rimosso da questo album condiviso\n\nQualsiasi foto aggiunta dall\'utente verrà rimossa dall\'album";
|
||||
|
||||
static String m45(endDate) => "Si rinnova il ${endDate}";
|
||||
static String m44(endDate) => "Si rinnova il ${endDate}";
|
||||
|
||||
static String m47(count) => "${count} selezionati";
|
||||
static String m46(count) => "${count} selezionati";
|
||||
|
||||
static String m48(count, yourCount) =>
|
||||
static String m47(count, yourCount) =>
|
||||
"${count} selezionato (${yourCount} tuoi)";
|
||||
|
||||
static String m49(verificationID) =>
|
||||
static String m48(verificationID) =>
|
||||
"Ecco il mio ID di verifica: ${verificationID} per ente.io.";
|
||||
|
||||
static String m50(verificationID) =>
|
||||
static String m49(verificationID) =>
|
||||
"Hey, puoi confermare che questo è il tuo ID di verifica: ${verificationID} su ente.io";
|
||||
|
||||
static String m51(referralCode, referralStorageInGB) =>
|
||||
static String m50(referralCode, referralStorageInGB) =>
|
||||
"ente referral code: ${referralCode} \n\nApplicalo in Impostazioni → Generale → Referral per ottenere ${referralStorageInGB} GB gratis dopo la registrazione di un piano a pagamento\n\nhttps://ente.io";
|
||||
|
||||
static String m52(numberOfPeople) =>
|
||||
static String m51(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: 'Condividi con persone specifiche', one: 'Condividi con una persona', other: 'Condividi con ${numberOfPeople} persone')}";
|
||||
|
||||
static String m53(emailIDs) => "Condiviso con ${emailIDs}";
|
||||
static String m52(emailIDs) => "Condiviso con ${emailIDs}";
|
||||
|
||||
static String m54(fileType) =>
|
||||
static String m53(fileType) =>
|
||||
"Questo ${fileType} verrà eliminato dal tuo dispositivo.";
|
||||
|
||||
static String m55(fileType) =>
|
||||
static String m54(fileType) =>
|
||||
"Questo ${fileType} è sia su ente che sul tuo dispositivo.";
|
||||
|
||||
static String m56(fileType) => "Questo ${fileType} verrà eliminato su ente.";
|
||||
static String m55(fileType) => "Questo ${fileType} verrà eliminato su ente.";
|
||||
|
||||
static String m57(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
static String m56(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
|
||||
static String m58(
|
||||
static String m57(
|
||||
usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) =>
|
||||
"${usedAmount} ${usedStorageUnit} di ${totalAmount} ${totalStorageUnit} utilizzati";
|
||||
|
||||
static String m59(id) =>
|
||||
static String m58(id) =>
|
||||
"Il tuo ${id} è già collegato ad un altro account ente.\nSe desideri utilizzare il tuo ${id} con questo account, contatta il nostro supporto\'\'";
|
||||
|
||||
static String m60(endDate) => "L\'abbonamento verrà cancellato il ${endDate}";
|
||||
static String m59(endDate) => "L\'abbonamento verrà cancellato il ${endDate}";
|
||||
|
||||
static String m61(completed, total) =>
|
||||
static String m60(completed, total) =>
|
||||
"${completed}/${total} ricordi conservati";
|
||||
|
||||
static String m62(storageAmountInGB) =>
|
||||
static String m61(storageAmountInGB) =>
|
||||
"Anche loro riceveranno ${storageAmountInGB} GB";
|
||||
|
||||
static String m63(email) => "Questo è l\'ID di verifica di ${email}";
|
||||
static String m62(email) => "Questo è l\'ID di verifica di ${email}";
|
||||
|
||||
static String m64(count) =>
|
||||
static String m63(count) =>
|
||||
"${Intl.plural(count, zero: '', one: '1 giorno', other: '${count} giorni')}";
|
||||
|
||||
static String m65(endDate) => "Valido fino al ${endDate}";
|
||||
static String m64(endDate) => "Valido fino al ${endDate}";
|
||||
|
||||
static String m66(email) => "Verifica ${email}";
|
||||
static String m65(email) => "Verifica ${email}";
|
||||
|
||||
static String m67(email) =>
|
||||
static String m66(email) =>
|
||||
"Abbiamo inviato una mail a <green>${email}</green>";
|
||||
|
||||
static String m68(count) =>
|
||||
static String m67(count) =>
|
||||
"${Intl.plural(count, one: '${count} anno fa', other: '${count} anni fa')}";
|
||||
|
||||
static String m69(storageSaved) =>
|
||||
static String m68(storageSaved) =>
|
||||
"Hai liberato con successo ${storageSaved}!";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
|
@ -967,7 +964,6 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"paymentFailed":
|
||||
MessageLookupByLibrary.simpleMessage("Pagamento non riuscito"),
|
||||
"paymentFailedTalkToProvider": m37,
|
||||
"paymentFailedWithReason": m38,
|
||||
"pendingSync":
|
||||
MessageLookupByLibrary.simpleMessage("Sincronizzazione in sospeso"),
|
||||
"peopleUsingYourCode": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -987,7 +983,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"pickCenterPoint": MessageLookupByLibrary.simpleMessage(
|
||||
"Selezionare il punto centrale"),
|
||||
"pinAlbum": MessageLookupByLibrary.simpleMessage("Fissa l\'album"),
|
||||
"playStoreFreeTrialValidTill": m39,
|
||||
"playStoreFreeTrialValidTill": m38,
|
||||
"playstoreSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Abbonamento su PlayStore"),
|
||||
"pleaseContactSupportAndWeWillBeHappyToHelp":
|
||||
|
@ -996,12 +992,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"pleaseContactSupportIfTheProblemPersists":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Riprova. Se il problema persiste, ti invitiamo a contattare l\'assistenza"),
|
||||
"pleaseEmailUsAt": m40,
|
||||
"pleaseEmailUsAt": m39,
|
||||
"pleaseGrantPermissions":
|
||||
MessageLookupByLibrary.simpleMessage("Concedi i permessi"),
|
||||
"pleaseLoginAgain": MessageLookupByLibrary.simpleMessage(
|
||||
"Effettua nuovamente l\'accesso"),
|
||||
"pleaseSendTheLogsTo": m41,
|
||||
"pleaseSendTheLogsTo": m40,
|
||||
"pleaseTryAgain": MessageLookupByLibrary.simpleMessage("Riprova"),
|
||||
"pleaseVerifyTheCodeYouHaveEntered":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1035,7 +1031,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"raiseTicket": MessageLookupByLibrary.simpleMessage("Invia ticket"),
|
||||
"rateTheApp": MessageLookupByLibrary.simpleMessage("Valuta l\'app"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("Lascia una recensione"),
|
||||
"rateUsOnStore": m42,
|
||||
"rateUsOnStore": m41,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Recupera"),
|
||||
"recoverAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Recupera account"),
|
||||
|
@ -1067,7 +1063,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"1. Condividi questo codice con i tuoi amici"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||
"2. Si iscrivono per un piano a pagamento"),
|
||||
"referralStep3": m43,
|
||||
"referralStep3": m42,
|
||||
"referrals": MessageLookupByLibrary.simpleMessage("Invita un Amico"),
|
||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||
"I referral code sono attualmente in pausa"),
|
||||
|
@ -1091,7 +1087,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"removeLink": MessageLookupByLibrary.simpleMessage("Elimina link"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Rimuovi partecipante"),
|
||||
"removeParticipantBody": m44,
|
||||
"removeParticipantBody": m43,
|
||||
"removePublicLink":
|
||||
MessageLookupByLibrary.simpleMessage("Rimuovi link pubblico"),
|
||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1105,7 +1101,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"renameFile": MessageLookupByLibrary.simpleMessage("Rinomina file"),
|
||||
"renewSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Rinnova abbonamento"),
|
||||
"renewsOn": m45,
|
||||
"renewsOn": m44,
|
||||
"reportABug": MessageLookupByLibrary.simpleMessage("Segnala un bug"),
|
||||
"reportBug": MessageLookupByLibrary.simpleMessage("Segnala un bug"),
|
||||
"resendEmail": MessageLookupByLibrary.simpleMessage("Rinvia email"),
|
||||
|
@ -1170,8 +1166,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Gli elementi selezionati verranno eliminati da tutti gli album e spostati nel cestino."),
|
||||
"selectedPhotos": m47,
|
||||
"selectedPhotosWithYours": m48,
|
||||
"selectedPhotos": m46,
|
||||
"selectedPhotosWithYours": m47,
|
||||
"send": MessageLookupByLibrary.simpleMessage("Invia"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("Invia email"),
|
||||
"sendInvite": MessageLookupByLibrary.simpleMessage("Invita"),
|
||||
|
@ -1195,16 +1191,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"shareAnAlbumNow":
|
||||
MessageLookupByLibrary.simpleMessage("Condividi un album"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("Condividi link"),
|
||||
"shareMyVerificationID": m49,
|
||||
"shareMyVerificationID": m48,
|
||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||
"Condividi solo con le persone che vuoi"),
|
||||
"shareTextConfirmOthersVerificationID": m50,
|
||||
"shareTextConfirmOthersVerificationID": m49,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Scarica ente in modo da poter facilmente condividere foto e video senza perdita di qualità\n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m51,
|
||||
"shareTextReferralCode": m50,
|
||||
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||
"Condividi con utenti che non hanno un account ente"),
|
||||
"shareWithPeopleSectionTitle": m52,
|
||||
"shareWithPeopleSectionTitle": m51,
|
||||
"shareYourFirstAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
"Condividi il tuo primo album"),
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1215,7 +1211,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Nuove foto condivise"),
|
||||
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||
"Ricevi notifiche quando qualcuno aggiunge una foto a un album condiviso, di cui fai parte"),
|
||||
"sharedWith": m53,
|
||||
"sharedWith": m52,
|
||||
"sharedWithMe":
|
||||
MessageLookupByLibrary.simpleMessage("Condivisi con me"),
|
||||
"sharedWithYou":
|
||||
|
@ -1225,11 +1221,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"showMemories": MessageLookupByLibrary.simpleMessage("Mostra ricordi"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"Accetto i <u-terms>termini di servizio</u-terms> e la <u-policy>politica sulla privacy</u-policy>"),
|
||||
"singleFileDeleteFromDevice": m54,
|
||||
"singleFileDeleteFromDevice": m53,
|
||||
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||
"Verrà eliminato da tutti gli album."),
|
||||
"singleFileInBothLocalAndRemote": m55,
|
||||
"singleFileInRemoteOnly": m56,
|
||||
"singleFileInBothLocalAndRemote": m54,
|
||||
"singleFileInRemoteOnly": m55,
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Salta"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("Social"),
|
||||
"someItemsAreInBothEnteAndYourDevice":
|
||||
|
@ -1270,13 +1266,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"storageBreakupFamily":
|
||||
MessageLookupByLibrary.simpleMessage("Famiglia"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Tu"),
|
||||
"storageInGB": m57,
|
||||
"storageInGB": m56,
|
||||
"storageLimitExceeded": MessageLookupByLibrary.simpleMessage(
|
||||
"Limite d\'archiviazione superato"),
|
||||
"storageUsageInfo": m58,
|
||||
"storageUsageInfo": m57,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Forte"),
|
||||
"subAlreadyLinkedErrMessage": m59,
|
||||
"subWillBeCancelledOn": m60,
|
||||
"subAlreadyLinkedErrMessage": m58,
|
||||
"subWillBeCancelledOn": m59,
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("Iscriviti"),
|
||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||
"Sembra che il tuo abbonamento sia scaduto. Iscriviti per abilitare la condivisione."),
|
||||
|
@ -1293,7 +1289,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"suggestFeatures":
|
||||
MessageLookupByLibrary.simpleMessage("Suggerisci una funzionalità"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("Assistenza"),
|
||||
"syncProgress": m61,
|
||||
"syncProgress": m60,
|
||||
"syncStopped":
|
||||
MessageLookupByLibrary.simpleMessage("Sincronizzazione interrotta"),
|
||||
"syncing": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1322,7 +1318,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"theseItemsWillBeDeletedFromYourDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Questi file verranno eliminati dal tuo dispositivo."),
|
||||
"theyAlsoGetXGb": m62,
|
||||
"theyAlsoGetXGb": m61,
|
||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||
"Verranno eliminati da tutti gli album."),
|
||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1339,7 +1335,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Questo indirizzo email è già registrato"),
|
||||
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
||||
"Questa immagine non ha dati EXIF"),
|
||||
"thisIsPersonVerificationId": m63,
|
||||
"thisIsPersonVerificationId": m62,
|
||||
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
||||
"Questo è il tuo ID di verifica"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
|
@ -1355,7 +1351,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"total": MessageLookupByLibrary.simpleMessage("totale"),
|
||||
"totalSize": MessageLookupByLibrary.simpleMessage("Dimensioni totali"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("Cestino"),
|
||||
"trashDaysLeft": m64,
|
||||
"trashDaysLeft": m63,
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Riprova"),
|
||||
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
||||
"Attiva il backup per caricare automaticamente i file aggiunti in questa cartella del dispositivo su ente."),
|
||||
|
@ -1412,7 +1408,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"useSelectedPhoto":
|
||||
MessageLookupByLibrary.simpleMessage("Usa la foto selezionata"),
|
||||
"usedSpace": MessageLookupByLibrary.simpleMessage("Spazio utilizzato"),
|
||||
"validTill": m65,
|
||||
"validTill": m64,
|
||||
"verificationFailedPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Verifica fallita, per favore prova di nuovo"),
|
||||
|
@ -1420,7 +1416,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("ID di verifica"),
|
||||
"verify": MessageLookupByLibrary.simpleMessage("Verifica"),
|
||||
"verifyEmail": MessageLookupByLibrary.simpleMessage("Verifica email"),
|
||||
"verifyEmailID": m66,
|
||||
"verifyEmailID": m65,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verifica"),
|
||||
"verifyPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Verifica password"),
|
||||
|
@ -1447,11 +1443,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Non puoi modificare foto e album che non possiedi"),
|
||||
"weHaveSendEmailTo": m67,
|
||||
"weHaveSendEmailTo": m66,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Debole"),
|
||||
"welcomeBack": MessageLookupByLibrary.simpleMessage("Bentornato/a!"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("Annuale"),
|
||||
"yearsAgo": m68,
|
||||
"yearsAgo": m67,
|
||||
"yes": MessageLookupByLibrary.simpleMessage("Si"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Sì, cancella"),
|
||||
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1481,7 +1477,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Non puoi condividere con te stesso"),
|
||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||
"Non hai nulla di archiviato."),
|
||||
"youHaveSuccessfullyFreedUp": m69,
|
||||
"youHaveSuccessfullyFreedUp": m68,
|
||||
"yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage(
|
||||
"Il tuo account è stato eliminato"),
|
||||
"yourMap": MessageLookupByLibrary.simpleMessage("Your map"),
|
||||
|
|
128
mobile/lib/generated/intl/messages_nl.dart
generated
128
mobile/lib/generated/intl/messages_nl.dart
generated
|
@ -131,91 +131,88 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
static String m37(providerName) =>
|
||||
"Praat met ${providerName} klantenservice als u in rekening bent gebracht";
|
||||
|
||||
static String m38(reason) =>
|
||||
"Helaas is uw betaling mislukt vanwege ${reason}";
|
||||
|
||||
static String m39(endDate) =>
|
||||
static String m38(endDate) =>
|
||||
"Gratis proefperiode geldig tot ${endDate}.\nU kunt naderhand een betaald abonnement kiezen.";
|
||||
|
||||
static String m40(toEmail) => "Stuur ons een e-mail op ${toEmail}";
|
||||
static String m39(toEmail) => "Stuur ons een e-mail op ${toEmail}";
|
||||
|
||||
static String m41(toEmail) =>
|
||||
static String m40(toEmail) =>
|
||||
"Verstuur de logboeken alstublieft naar ${toEmail}";
|
||||
|
||||
static String m42(storeName) => "Beoordeel ons op ${storeName}";
|
||||
static String m41(storeName) => "Beoordeel ons op ${storeName}";
|
||||
|
||||
static String m43(storageInGB) =>
|
||||
static String m42(storageInGB) =>
|
||||
"Jullie krijgen allebei ${storageInGB} GB* gratis";
|
||||
|
||||
static String m44(userEmail) =>
|
||||
static String m43(userEmail) =>
|
||||
"${userEmail} zal worden verwijderd uit dit gedeelde album\n\nAlle door hen toegevoegde foto\'s worden ook uit het album verwijderd";
|
||||
|
||||
static String m45(endDate) => "Wordt verlengd op ${endDate}";
|
||||
static String m44(endDate) => "Wordt verlengd op ${endDate}";
|
||||
|
||||
static String m46(count) =>
|
||||
static String m45(count) =>
|
||||
"${Intl.plural(count, one: '${count} resultaat gevonden', other: '${count} resultaten gevonden')}";
|
||||
|
||||
static String m47(count) => "${count} geselecteerd";
|
||||
static String m46(count) => "${count} geselecteerd";
|
||||
|
||||
static String m48(count, yourCount) =>
|
||||
static String m47(count, yourCount) =>
|
||||
"${count} geselecteerd (${yourCount} van jou)";
|
||||
|
||||
static String m49(verificationID) =>
|
||||
static String m48(verificationID) =>
|
||||
"Hier is mijn verificatie-ID: ${verificationID} voor ente.io.";
|
||||
|
||||
static String m50(verificationID) =>
|
||||
static String m49(verificationID) =>
|
||||
"Hey, kunt u bevestigen dat dit uw ente.io verificatie-ID is: ${verificationID}";
|
||||
|
||||
static String m51(referralCode, referralStorageInGB) =>
|
||||
static String m50(referralCode, referralStorageInGB) =>
|
||||
"ente verwijzingscode: ${referralCode} \n\nPas het toe bij Instellingen → Algemeen → Verwijzingen om ${referralStorageInGB} GB gratis te krijgen nadat je je hebt aangemeld voor een betaald abonnement\n\nhttps://ente.io";
|
||||
|
||||
static String m52(numberOfPeople) =>
|
||||
static String m51(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: 'Deel met specifieke mensen', one: 'Gedeeld met 1 persoon', other: 'Gedeeld met ${numberOfPeople} mensen')}";
|
||||
|
||||
static String m53(emailIDs) => "Gedeeld met ${emailIDs}";
|
||||
static String m52(emailIDs) => "Gedeeld met ${emailIDs}";
|
||||
|
||||
static String m54(fileType) =>
|
||||
static String m53(fileType) =>
|
||||
"Deze ${fileType} zal worden verwijderd van jouw apparaat.";
|
||||
|
||||
static String m55(fileType) =>
|
||||
static String m54(fileType) =>
|
||||
"Deze ${fileType} staat zowel in ente als op jouw apparaat.";
|
||||
|
||||
static String m56(fileType) =>
|
||||
static String m55(fileType) =>
|
||||
"Deze ${fileType} zal worden verwijderd uit ente.";
|
||||
|
||||
static String m57(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
static String m56(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
|
||||
static String m58(
|
||||
static String m57(
|
||||
usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) =>
|
||||
"${usedAmount} ${usedStorageUnit} van ${totalAmount} ${totalStorageUnit} gebruikt";
|
||||
|
||||
static String m59(id) =>
|
||||
static String m58(id) =>
|
||||
"Uw ${id} is al aan een ander ente account gekoppeld.\nAls u uw ${id} wilt gebruiken met dit account, neem dan contact op met onze klantenservice";
|
||||
|
||||
static String m60(endDate) => "Uw abonnement loopt af op ${endDate}";
|
||||
static String m59(endDate) => "Uw abonnement loopt af op ${endDate}";
|
||||
|
||||
static String m61(completed, total) =>
|
||||
static String m60(completed, total) =>
|
||||
"${completed}/${total} herinneringen bewaard";
|
||||
|
||||
static String m62(storageAmountInGB) =>
|
||||
static String m61(storageAmountInGB) =>
|
||||
"Zij krijgen ook ${storageAmountInGB} GB";
|
||||
|
||||
static String m63(email) => "Dit is de verificatie-ID van ${email}";
|
||||
static String m62(email) => "Dit is de verificatie-ID van ${email}";
|
||||
|
||||
static String m64(count) =>
|
||||
static String m63(count) =>
|
||||
"${Intl.plural(count, zero: '', one: '1 dag', other: '${count} dagen')}";
|
||||
|
||||
static String m65(endDate) => "Geldig tot ${endDate}";
|
||||
static String m64(endDate) => "Geldig tot ${endDate}";
|
||||
|
||||
static String m66(email) => "Verifieer ${email}";
|
||||
static String m65(email) => "Verifieer ${email}";
|
||||
|
||||
static String m67(email) =>
|
||||
static String m66(email) =>
|
||||
"We hebben een e-mail gestuurd naar <green>${email}</green>";
|
||||
|
||||
static String m68(count) =>
|
||||
static String m67(count) =>
|
||||
"${Intl.plural(count, one: '${count} jaar geleden', other: '${count} jaar geleden')}";
|
||||
|
||||
static String m69(storageSaved) =>
|
||||
static String m68(storageSaved) =>
|
||||
"Je hebt ${storageSaved} succesvol vrijgemaakt!";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
|
@ -1020,7 +1017,6 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"paymentFailed":
|
||||
MessageLookupByLibrary.simpleMessage("Betaling mislukt"),
|
||||
"paymentFailedTalkToProvider": m37,
|
||||
"paymentFailedWithReason": m38,
|
||||
"pendingItems":
|
||||
MessageLookupByLibrary.simpleMessage("Bestanden in behandeling"),
|
||||
"pendingSync": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1048,7 +1044,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Album bovenaan vastzetten"),
|
||||
"playOnTv":
|
||||
MessageLookupByLibrary.simpleMessage("Album afspelen op TV"),
|
||||
"playStoreFreeTrialValidTill": m39,
|
||||
"playStoreFreeTrialValidTill": m38,
|
||||
"playstoreSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("PlayStore abonnement"),
|
||||
"pleaseCheckYourInternetConnectionAndTryAgain":
|
||||
|
@ -1060,12 +1056,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"pleaseContactSupportIfTheProblemPersists":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Neem contact op met klantenservice als het probleem aanhoudt"),
|
||||
"pleaseEmailUsAt": m40,
|
||||
"pleaseEmailUsAt": m39,
|
||||
"pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage(
|
||||
"Geef alstublieft toestemming"),
|
||||
"pleaseLoginAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Log opnieuw in"),
|
||||
"pleaseSendTheLogsTo": m41,
|
||||
"pleaseSendTheLogsTo": m40,
|
||||
"pleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Probeer het nog eens"),
|
||||
"pleaseVerifyTheCodeYouHaveEntered":
|
||||
|
@ -1100,7 +1096,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"raiseTicket": MessageLookupByLibrary.simpleMessage("Meld probleem"),
|
||||
"rateTheApp": MessageLookupByLibrary.simpleMessage("Beoordeel de app"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("Beoordeel ons"),
|
||||
"rateUsOnStore": m42,
|
||||
"rateUsOnStore": m41,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Herstellen"),
|
||||
"recoverAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Account herstellen"),
|
||||
|
@ -1131,7 +1127,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"1. Geef deze code aan je vrienden"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||
"2. Ze registreren voor een betaald plan"),
|
||||
"referralStep3": m43,
|
||||
"referralStep3": m42,
|
||||
"referrals": MessageLookupByLibrary.simpleMessage("Referenties"),
|
||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||
"Verwijzingen zijn momenteel gepauzeerd"),
|
||||
|
@ -1157,7 +1153,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"removeLink": MessageLookupByLibrary.simpleMessage("Verwijder link"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Deelnemer verwijderen"),
|
||||
"removeParticipantBody": m44,
|
||||
"removeParticipantBody": m43,
|
||||
"removePublicLink":
|
||||
MessageLookupByLibrary.simpleMessage("Verwijder publieke link"),
|
||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1173,7 +1169,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Bestandsnaam wijzigen"),
|
||||
"renewSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Abonnement verlengen"),
|
||||
"renewsOn": m45,
|
||||
"renewsOn": m44,
|
||||
"reportABug": MessageLookupByLibrary.simpleMessage("Een fout melden"),
|
||||
"reportBug": MessageLookupByLibrary.simpleMessage("Fout melden"),
|
||||
"resendEmail":
|
||||
|
@ -1235,7 +1231,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Foto\'s groeperen die in een bepaalde straal van een foto worden genomen"),
|
||||
"searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage(
|
||||
"Nodig mensen uit, en je ziet alle foto\'s die door hen worden gedeeld hier"),
|
||||
"searchResultCount": m46,
|
||||
"searchResultCount": m45,
|
||||
"security": MessageLookupByLibrary.simpleMessage("Beveiliging"),
|
||||
"selectALocation":
|
||||
MessageLookupByLibrary.simpleMessage("Selecteer een locatie"),
|
||||
|
@ -1262,8 +1258,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Geselecteerde bestanden worden verwijderd uit alle albums en verplaatst naar de prullenbak."),
|
||||
"selectedPhotos": m47,
|
||||
"selectedPhotosWithYours": m48,
|
||||
"selectedPhotos": m46,
|
||||
"selectedPhotosWithYours": m47,
|
||||
"send": MessageLookupByLibrary.simpleMessage("Verzenden"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("E-mail versturen"),
|
||||
"sendInvite":
|
||||
|
@ -1287,16 +1283,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"shareAnAlbumNow":
|
||||
MessageLookupByLibrary.simpleMessage("Deel nu een album"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("Link delen"),
|
||||
"shareMyVerificationID": m49,
|
||||
"shareMyVerificationID": m48,
|
||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||
"Deel alleen met de mensen die u wilt"),
|
||||
"shareTextConfirmOthersVerificationID": m50,
|
||||
"shareTextConfirmOthersVerificationID": m49,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Download ente zodat we gemakkelijk foto\'s en video\'s van originele kwaliteit kunnen delen\n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m51,
|
||||
"shareTextReferralCode": m50,
|
||||
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||
"Delen met niet-ente gebruikers"),
|
||||
"shareWithPeopleSectionTitle": m52,
|
||||
"shareWithPeopleSectionTitle": m51,
|
||||
"shareYourFirstAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Deel jouw eerste album"),
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1307,7 +1303,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Nieuwe gedeelde foto\'s"),
|
||||
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||
"Ontvang meldingen wanneer iemand een foto toevoegt aan een gedeeld album waar je deel van uitmaakt"),
|
||||
"sharedWith": m53,
|
||||
"sharedWith": m52,
|
||||
"sharedWithMe": MessageLookupByLibrary.simpleMessage("Gedeeld met mij"),
|
||||
"sharedWithYou":
|
||||
MessageLookupByLibrary.simpleMessage("Gedeeld met jou"),
|
||||
|
@ -1322,11 +1318,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Log uit op andere apparaten"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"Ik ga akkoord met de <u-terms>gebruiksvoorwaarden</u-terms> en <u-policy>privacybeleid</u-policy>"),
|
||||
"singleFileDeleteFromDevice": m54,
|
||||
"singleFileDeleteFromDevice": m53,
|
||||
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||
"Het wordt uit alle albums verwijderd."),
|
||||
"singleFileInBothLocalAndRemote": m55,
|
||||
"singleFileInRemoteOnly": m56,
|
||||
"singleFileInBothLocalAndRemote": m54,
|
||||
"singleFileInRemoteOnly": m55,
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Overslaan"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("Sociale media"),
|
||||
"someItemsAreInBothEnteAndYourDevice": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1364,13 +1360,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"storage": MessageLookupByLibrary.simpleMessage("Opslagruimte"),
|
||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Familie"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Jij"),
|
||||
"storageInGB": m57,
|
||||
"storageInGB": m56,
|
||||
"storageLimitExceeded":
|
||||
MessageLookupByLibrary.simpleMessage("Opslaglimiet overschreden"),
|
||||
"storageUsageInfo": m58,
|
||||
"storageUsageInfo": m57,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Sterk"),
|
||||
"subAlreadyLinkedErrMessage": m59,
|
||||
"subWillBeCancelledOn": m60,
|
||||
"subAlreadyLinkedErrMessage": m58,
|
||||
"subWillBeCancelledOn": m59,
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("Abonneer"),
|
||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||
"Het lijkt erop dat je abonnement is verlopen. Abonneer om delen mogelijk te maken."),
|
||||
|
@ -1387,7 +1383,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"suggestFeatures":
|
||||
MessageLookupByLibrary.simpleMessage("Features voorstellen"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("Ondersteuning"),
|
||||
"syncProgress": m61,
|
||||
"syncProgress": m60,
|
||||
"syncStopped":
|
||||
MessageLookupByLibrary.simpleMessage("Synchronisatie gestopt"),
|
||||
"syncing": MessageLookupByLibrary.simpleMessage("Synchroniseren..."),
|
||||
|
@ -1415,7 +1411,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"theseItemsWillBeDeletedFromYourDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Deze bestanden zullen worden verwijderd van uw apparaat."),
|
||||
"theyAlsoGetXGb": m62,
|
||||
"theyAlsoGetXGb": m61,
|
||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||
"Ze zullen uit alle albums worden verwijderd."),
|
||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1431,7 +1427,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Dit e-mailadres is al in gebruik"),
|
||||
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
||||
"Deze foto heeft geen exif gegevens"),
|
||||
"thisIsPersonVerificationId": m63,
|
||||
"thisIsPersonVerificationId": m62,
|
||||
"thisIsYourVerificationId":
|
||||
MessageLookupByLibrary.simpleMessage("Dit is uw verificatie-ID"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
|
@ -1448,7 +1444,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"total": MessageLookupByLibrary.simpleMessage("totaal"),
|
||||
"totalSize": MessageLookupByLibrary.simpleMessage("Totale grootte"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("Prullenbak"),
|
||||
"trashDaysLeft": m64,
|
||||
"trashDaysLeft": m63,
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Probeer opnieuw"),
|
||||
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
||||
"Schakel back-up in om bestanden die toegevoegd zijn aan deze map op dit apparaat automatisch te uploaden."),
|
||||
|
@ -1504,7 +1500,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"useSelectedPhoto":
|
||||
MessageLookupByLibrary.simpleMessage("Gebruik geselecteerde foto"),
|
||||
"usedSpace": MessageLookupByLibrary.simpleMessage("Gebruikte ruimte"),
|
||||
"validTill": m65,
|
||||
"validTill": m64,
|
||||
"verificationFailedPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Verificatie mislukt, probeer het opnieuw"),
|
||||
|
@ -1512,7 +1508,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Verificatie ID"),
|
||||
"verify": MessageLookupByLibrary.simpleMessage("Verifiëren"),
|
||||
"verifyEmail": MessageLookupByLibrary.simpleMessage("Bevestig e-mail"),
|
||||
"verifyEmailID": m66,
|
||||
"verifyEmailID": m65,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verifiëren"),
|
||||
"verifyPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Bevestig wachtwoord"),
|
||||
|
@ -1541,11 +1537,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"We ondersteunen het bewerken van foto\'s en albums waar je niet de eigenaar van bent nog niet"),
|
||||
"weHaveSendEmailTo": m67,
|
||||
"weHaveSendEmailTo": m66,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Zwak"),
|
||||
"welcomeBack": MessageLookupByLibrary.simpleMessage("Welkom terug!"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("Jaarlijks"),
|
||||
"yearsAgo": m68,
|
||||
"yearsAgo": m67,
|
||||
"yes": MessageLookupByLibrary.simpleMessage("Ja"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Ja, opzeggen"),
|
||||
"yesConvertToViewer":
|
||||
|
@ -1575,7 +1571,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Je kunt niet met jezelf delen"),
|
||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||
"U heeft geen gearchiveerde bestanden."),
|
||||
"youHaveSuccessfullyFreedUp": m69,
|
||||
"youHaveSuccessfullyFreedUp": m68,
|
||||
"yourAccountHasBeenDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Je account is verwijderd"),
|
||||
"yourMap": MessageLookupByLibrary.simpleMessage("Jouw kaart"),
|
||||
|
|
128
mobile/lib/generated/intl/messages_pt.dart
generated
128
mobile/lib/generated/intl/messages_pt.dart
generated
|
@ -130,88 +130,85 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
static String m37(providerName) =>
|
||||
"Por favor, fale com o suporte ${providerName} se você foi cobrado";
|
||||
|
||||
static String m38(reason) =>
|
||||
"Infelizmente o seu pagamento falhou devido a ${reason}";
|
||||
|
||||
static String m39(endDate) =>
|
||||
static String m38(endDate) =>
|
||||
"Teste gratuito válido até ${endDate}.\nVocê pode escolher um plano pago depois.";
|
||||
|
||||
static String m40(toEmail) =>
|
||||
static String m39(toEmail) =>
|
||||
"Por favor, envie-nos um e-mail para ${toEmail}";
|
||||
|
||||
static String m41(toEmail) => "Por favor, envie os logs para \n${toEmail}";
|
||||
static String m40(toEmail) => "Por favor, envie os logs para \n${toEmail}";
|
||||
|
||||
static String m42(storeName) => "Avalie-nos em ${storeName}";
|
||||
static String m41(storeName) => "Avalie-nos em ${storeName}";
|
||||
|
||||
static String m43(storageInGB) => "3. Ambos ganham ${storageInGB} GB* grátis";
|
||||
static String m42(storageInGB) => "3. Ambos ganham ${storageInGB} GB* grátis";
|
||||
|
||||
static String m44(userEmail) =>
|
||||
static String m43(userEmail) =>
|
||||
"${userEmail} será removido deste álbum compartilhado\n\nQuaisquer fotos adicionadas por eles também serão removidas do álbum";
|
||||
|
||||
static String m45(endDate) => "Renovação de assinatura em ${endDate}";
|
||||
static String m44(endDate) => "Renovação de assinatura em ${endDate}";
|
||||
|
||||
static String m46(count) =>
|
||||
static String m45(count) =>
|
||||
"${Intl.plural(count, one: '${count} resultado encontrado', other: '${count} resultado encontrado')}";
|
||||
|
||||
static String m47(count) => "${count} Selecionados";
|
||||
static String m46(count) => "${count} Selecionados";
|
||||
|
||||
static String m48(count, yourCount) =>
|
||||
static String m47(count, yourCount) =>
|
||||
"${count} Selecionado (${yourCount} seus)";
|
||||
|
||||
static String m49(verificationID) =>
|
||||
static String m48(verificationID) =>
|
||||
"Aqui está meu ID de verificação para o Ente.io: ${verificationID}";
|
||||
|
||||
static String m50(verificationID) =>
|
||||
static String m49(verificationID) =>
|
||||
"Ei, você pode confirmar que este é seu ID de verificação do Ente.io? ${verificationID}";
|
||||
|
||||
static String m51(referralCode, referralStorageInGB) =>
|
||||
static String m50(referralCode, referralStorageInGB) =>
|
||||
"Código de referência do ente: ${referralCode} \n\nAplique em Configurações → Geral → Indicações para obter ${referralStorageInGB} GB gratuitamente após a sua inscrição em um plano pago\n\nhttps://ente.io";
|
||||
|
||||
static String m52(numberOfPeople) =>
|
||||
static String m51(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: 'Compartilhe com pessoas específicas', one: 'Compartilhado com 1 pessoa', other: 'Compartilhado com ${numberOfPeople} pessoas')}";
|
||||
|
||||
static String m53(emailIDs) => "Compartilhado com ${emailIDs}";
|
||||
static String m52(emailIDs) => "Compartilhado com ${emailIDs}";
|
||||
|
||||
static String m54(fileType) =>
|
||||
static String m53(fileType) =>
|
||||
"Este ${fileType} será excluído do seu dispositivo.";
|
||||
|
||||
static String m55(fileType) =>
|
||||
static String m54(fileType) =>
|
||||
"Este ${fileType} está em ente e no seu dispositivo.";
|
||||
|
||||
static String m56(fileType) => "Este ${fileType} será excluído do ente.";
|
||||
static String m55(fileType) => "Este ${fileType} será excluído do ente.";
|
||||
|
||||
static String m57(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
static String m56(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
|
||||
static String m58(
|
||||
static String m57(
|
||||
usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) =>
|
||||
"${usedAmount} ${usedStorageUnit} de ${totalAmount} ${totalStorageUnit} usado";
|
||||
|
||||
static String m59(id) =>
|
||||
static String m58(id) =>
|
||||
"Seu ${id} já está vinculado a outra conta ente.\nSe você gostaria de usar seu ${id} com esta conta, por favor contate nosso suporte\'\'";
|
||||
|
||||
static String m60(endDate) => "Sua assinatura será cancelada em ${endDate}";
|
||||
static String m59(endDate) => "Sua assinatura será cancelada em ${endDate}";
|
||||
|
||||
static String m61(completed, total) =>
|
||||
static String m60(completed, total) =>
|
||||
"${completed}/${total} memórias preservadas";
|
||||
|
||||
static String m62(storageAmountInGB) =>
|
||||
static String m61(storageAmountInGB) =>
|
||||
"Eles também recebem ${storageAmountInGB} GB";
|
||||
|
||||
static String m63(email) => "Este é o ID de verificação de ${email}";
|
||||
static String m62(email) => "Este é o ID de verificação de ${email}";
|
||||
|
||||
static String m64(count) =>
|
||||
static String m63(count) =>
|
||||
"${Intl.plural(count, zero: '', one: '1 dia', other: '${count} dias')}";
|
||||
|
||||
static String m65(endDate) => "Válido até ${endDate}";
|
||||
static String m64(endDate) => "Válido até ${endDate}";
|
||||
|
||||
static String m66(email) => "Verificar ${email}";
|
||||
static String m65(email) => "Verificar ${email}";
|
||||
|
||||
static String m67(email) => "Enviamos um e-mail à <green>${email}</green>";
|
||||
static String m66(email) => "Enviamos um e-mail à <green>${email}</green>";
|
||||
|
||||
static String m68(count) =>
|
||||
static String m67(count) =>
|
||||
"${Intl.plural(count, one: '${count} anos atrás', other: '${count} anos atrás')}";
|
||||
|
||||
static String m69(storageSaved) =>
|
||||
static String m68(storageSaved) =>
|
||||
"Você liberou ${storageSaved} com sucesso!";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
|
@ -1015,7 +1012,6 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"paymentFailed":
|
||||
MessageLookupByLibrary.simpleMessage("Falha no pagamento"),
|
||||
"paymentFailedTalkToProvider": m37,
|
||||
"paymentFailedWithReason": m38,
|
||||
"pendingItems": MessageLookupByLibrary.simpleMessage("Itens pendentes"),
|
||||
"pendingSync":
|
||||
MessageLookupByLibrary.simpleMessage("Sincronização pendente"),
|
||||
|
@ -1041,7 +1037,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"pinAlbum": MessageLookupByLibrary.simpleMessage("Fixar álbum"),
|
||||
"playOnTv":
|
||||
MessageLookupByLibrary.simpleMessage("Reproduzir álbum na TV"),
|
||||
"playStoreFreeTrialValidTill": m39,
|
||||
"playStoreFreeTrialValidTill": m38,
|
||||
"playstoreSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Assinatura da PlayStore"),
|
||||
"pleaseCheckYourInternetConnectionAndTryAgain":
|
||||
|
@ -1053,12 +1049,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"pleaseContactSupportIfTheProblemPersists":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Por favor, contate o suporte se o problema persistir"),
|
||||
"pleaseEmailUsAt": m40,
|
||||
"pleaseEmailUsAt": m39,
|
||||
"pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage(
|
||||
"Por favor, conceda as permissões"),
|
||||
"pleaseLoginAgain": MessageLookupByLibrary.simpleMessage(
|
||||
"Por favor, faça login novamente"),
|
||||
"pleaseSendTheLogsTo": m41,
|
||||
"pleaseSendTheLogsTo": m40,
|
||||
"pleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Por favor, tente novamente"),
|
||||
"pleaseVerifyTheCodeYouHaveEntered":
|
||||
|
@ -1095,7 +1091,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"rateTheApp":
|
||||
MessageLookupByLibrary.simpleMessage("Avalie o aplicativo"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("Avalie-nos"),
|
||||
"rateUsOnStore": m42,
|
||||
"rateUsOnStore": m41,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Recuperar"),
|
||||
"recoverAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Recuperar conta"),
|
||||
|
@ -1127,7 +1123,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Envie esse código aos seus amigos"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||
"2. Eles se inscreveram para um plano pago"),
|
||||
"referralStep3": m43,
|
||||
"referralStep3": m42,
|
||||
"referrals": MessageLookupByLibrary.simpleMessage("Indicações"),
|
||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||
"Referências estão atualmente pausadas"),
|
||||
|
@ -1151,7 +1147,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"removeLink": MessageLookupByLibrary.simpleMessage("Remover link"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Remover participante"),
|
||||
"removeParticipantBody": m44,
|
||||
"removeParticipantBody": m43,
|
||||
"removePublicLink":
|
||||
MessageLookupByLibrary.simpleMessage("Remover link público"),
|
||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1165,7 +1161,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"renameFile": MessageLookupByLibrary.simpleMessage("Renomear arquivo"),
|
||||
"renewSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Renovar assinatura"),
|
||||
"renewsOn": m45,
|
||||
"renewsOn": m44,
|
||||
"reportABug":
|
||||
MessageLookupByLibrary.simpleMessage("Reportar um problema"),
|
||||
"reportBug":
|
||||
|
@ -1230,7 +1226,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Fotos de grupo que estão sendo tiradas em algum raio da foto"),
|
||||
"searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage(
|
||||
"Convide pessoas e você verá todas as fotos compartilhadas por elas aqui"),
|
||||
"searchResultCount": m46,
|
||||
"searchResultCount": m45,
|
||||
"security": MessageLookupByLibrary.simpleMessage("Segurança"),
|
||||
"selectALocation":
|
||||
MessageLookupByLibrary.simpleMessage("Selecionar um local"),
|
||||
|
@ -1258,8 +1254,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Os itens selecionados serão excluídos de todos os álbuns e movidos para o lixo."),
|
||||
"selectedPhotos": m47,
|
||||
"selectedPhotosWithYours": m48,
|
||||
"selectedPhotos": m46,
|
||||
"selectedPhotosWithYours": m47,
|
||||
"send": MessageLookupByLibrary.simpleMessage("Enviar"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("Enviar e-mail"),
|
||||
"sendInvite": MessageLookupByLibrary.simpleMessage("Enviar convite"),
|
||||
|
@ -1283,16 +1279,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"shareAnAlbumNow":
|
||||
MessageLookupByLibrary.simpleMessage("Compartilhar um álbum agora"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("Compartilhar link"),
|
||||
"shareMyVerificationID": m49,
|
||||
"shareMyVerificationID": m48,
|
||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||
"Compartilhar apenas com as pessoas que você quiser"),
|
||||
"shareTextConfirmOthersVerificationID": m50,
|
||||
"shareTextConfirmOthersVerificationID": m49,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Baixe o Ente para podermos compartilhar facilmente fotos e vídeos de alta qualidade\n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m51,
|
||||
"shareTextReferralCode": m50,
|
||||
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||
"Compartilhar com usuários não-Ente"),
|
||||
"shareWithPeopleSectionTitle": m52,
|
||||
"shareWithPeopleSectionTitle": m51,
|
||||
"shareYourFirstAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
"Compartilhar seu primeiro álbum"),
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1305,7 +1301,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Novas fotos compartilhadas"),
|
||||
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||
"Receber notificações quando alguém adicionar uma foto em um álbum compartilhado que você faz parte"),
|
||||
"sharedWith": m53,
|
||||
"sharedWith": m52,
|
||||
"sharedWithMe":
|
||||
MessageLookupByLibrary.simpleMessage("Compartilhado comigo"),
|
||||
"sharedWithYou":
|
||||
|
@ -1321,11 +1317,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Terminar sessão em outros dispositivos"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"Eu concordo com os <u-terms>termos de serviço</u-terms> e a <u-policy>política de privacidade</u-policy>"),
|
||||
"singleFileDeleteFromDevice": m54,
|
||||
"singleFileDeleteFromDevice": m53,
|
||||
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||
"Ele será excluído de todos os álbuns."),
|
||||
"singleFileInBothLocalAndRemote": m55,
|
||||
"singleFileInRemoteOnly": m56,
|
||||
"singleFileInBothLocalAndRemote": m54,
|
||||
"singleFileInRemoteOnly": m55,
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Pular"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("Redes sociais"),
|
||||
"someItemsAreInBothEnteAndYourDevice":
|
||||
|
@ -1366,13 +1362,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"storage": MessageLookupByLibrary.simpleMessage("Armazenamento"),
|
||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Família"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Você"),
|
||||
"storageInGB": m57,
|
||||
"storageInGB": m56,
|
||||
"storageLimitExceeded": MessageLookupByLibrary.simpleMessage(
|
||||
"Limite de armazenamento excedido"),
|
||||
"storageUsageInfo": m58,
|
||||
"storageUsageInfo": m57,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Forte"),
|
||||
"subAlreadyLinkedErrMessage": m59,
|
||||
"subWillBeCancelledOn": m60,
|
||||
"subAlreadyLinkedErrMessage": m58,
|
||||
"subWillBeCancelledOn": m59,
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("Assinar"),
|
||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||
"Parece que sua assinatura expirou. Por favor inscreva-se para ativar o compartilhamento."),
|
||||
|
@ -1389,7 +1385,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"suggestFeatures":
|
||||
MessageLookupByLibrary.simpleMessage("Sugerir funcionalidades"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("Suporte"),
|
||||
"syncProgress": m61,
|
||||
"syncProgress": m60,
|
||||
"syncStopped":
|
||||
MessageLookupByLibrary.simpleMessage("Sincronização interrompida"),
|
||||
"syncing": MessageLookupByLibrary.simpleMessage("Sincronizando..."),
|
||||
|
@ -1416,7 +1412,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"theseItemsWillBeDeletedFromYourDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Estes itens serão excluídos do seu dispositivo."),
|
||||
"theyAlsoGetXGb": m62,
|
||||
"theyAlsoGetXGb": m61,
|
||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||
"Ele será excluído de todos os álbuns."),
|
||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1432,7 +1428,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Este e-mail já está em uso"),
|
||||
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
||||
"Esta imagem não tem dados exif"),
|
||||
"thisIsPersonVerificationId": m63,
|
||||
"thisIsPersonVerificationId": m62,
|
||||
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
||||
"Este é o seu ID de verificação"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
|
@ -1448,7 +1444,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"total": MessageLookupByLibrary.simpleMessage("total"),
|
||||
"totalSize": MessageLookupByLibrary.simpleMessage("Tamanho total"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("Lixeira"),
|
||||
"trashDaysLeft": m64,
|
||||
"trashDaysLeft": m63,
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Tente novamente"),
|
||||
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
||||
"Ative o backup para enviar automaticamente arquivos adicionados a esta pasta do dispositivo para o ente."),
|
||||
|
@ -1501,7 +1497,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"useSelectedPhoto":
|
||||
MessageLookupByLibrary.simpleMessage("Utilizar foto selecionada"),
|
||||
"usedSpace": MessageLookupByLibrary.simpleMessage("Espaço em uso"),
|
||||
"validTill": m65,
|
||||
"validTill": m64,
|
||||
"verificationFailedPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Falha na verificação, por favor, tente novamente"),
|
||||
|
@ -1509,7 +1505,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("ID de Verificação"),
|
||||
"verify": MessageLookupByLibrary.simpleMessage("Verificar"),
|
||||
"verifyEmail": MessageLookupByLibrary.simpleMessage("Verificar email"),
|
||||
"verifyEmailID": m66,
|
||||
"verifyEmailID": m65,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verificar"),
|
||||
"verifyPasskey":
|
||||
MessageLookupByLibrary.simpleMessage("Verificar chave de acesso"),
|
||||
|
@ -1542,12 +1538,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Não suportamos a edição de fotos e álbuns que você ainda não possui"),
|
||||
"weHaveSendEmailTo": m67,
|
||||
"weHaveSendEmailTo": m66,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Fraca"),
|
||||
"welcomeBack":
|
||||
MessageLookupByLibrary.simpleMessage("Bem-vindo de volta!"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("Anual"),
|
||||
"yearsAgo": m68,
|
||||
"yearsAgo": m67,
|
||||
"yes": MessageLookupByLibrary.simpleMessage("Sim"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Sim, cancelar"),
|
||||
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1578,7 +1574,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Você não pode compartilhar consigo mesmo"),
|
||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||
"Você não tem nenhum item arquivado."),
|
||||
"youHaveSuccessfullyFreedUp": m69,
|
||||
"youHaveSuccessfullyFreedUp": m68,
|
||||
"yourAccountHasBeenDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Sua conta foi excluída"),
|
||||
"yourMap": MessageLookupByLibrary.simpleMessage("Seu mapa"),
|
||||
|
|
127
mobile/lib/generated/intl/messages_zh.dart
generated
127
mobile/lib/generated/intl/messages_zh.dart
generated
|
@ -122,79 +122,77 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
|
||||
static String m37(providerName) => "如果您被收取费用,请用英语与 ${providerName} 的客服聊天";
|
||||
|
||||
static String m38(reason) => "很抱歉,您的支付因 ${reason} 而失败";
|
||||
static String m38(endDate) => "免费试用有效期至 ${endDate}。\n之后您可以选择付费计划。";
|
||||
|
||||
static String m39(endDate) => "免费试用有效期至 ${endDate}。\n之后您可以选择付费计划。";
|
||||
static String m39(toEmail) => "请给我们发送电子邮件至 ${toEmail}";
|
||||
|
||||
static String m40(toEmail) => "请给我们发送电子邮件至 ${toEmail}";
|
||||
static String m40(toEmail) => "请将日志发送至 \n${toEmail}";
|
||||
|
||||
static String m41(toEmail) => "请将日志发送至 \n${toEmail}";
|
||||
static String m41(storeName) => "在 ${storeName} 上给我们评分";
|
||||
|
||||
static String m42(storeName) => "在 ${storeName} 上给我们评分";
|
||||
static String m42(storageInGB) => "3. 你和朋友都将免费获得 ${storageInGB} GB*";
|
||||
|
||||
static String m43(storageInGB) => "3. 你和朋友都将免费获得 ${storageInGB} GB*";
|
||||
|
||||
static String m44(userEmail) =>
|
||||
static String m43(userEmail) =>
|
||||
"${userEmail} 将从这个共享相册中删除\n\nTA们添加的任何照片也将从相册中删除";
|
||||
|
||||
static String m45(endDate) => "在 ${endDate} 前续费";
|
||||
static String m44(endDate) => "在 ${endDate} 前续费";
|
||||
|
||||
static String m46(count) =>
|
||||
static String m45(count) =>
|
||||
"${Intl.plural(count, other: '已找到 ${count} 个结果')}";
|
||||
|
||||
static String m47(count) => "已选择 ${count} 个";
|
||||
static String m46(count) => "已选择 ${count} 个";
|
||||
|
||||
static String m48(count, yourCount) => "选择了 ${count} 个 (您的 ${yourCount} 个)";
|
||||
static String m47(count, yourCount) => "选择了 ${count} 个 (您的 ${yourCount} 个)";
|
||||
|
||||
static String m49(verificationID) => "这是我的ente.io 的验证 ID: ${verificationID}。";
|
||||
static String m48(verificationID) => "这是我的ente.io 的验证 ID: ${verificationID}。";
|
||||
|
||||
static String m50(verificationID) =>
|
||||
static String m49(verificationID) =>
|
||||
"嘿,你能确认这是你的 ente.io 验证 ID吗:${verificationID}";
|
||||
|
||||
static String m51(referralCode, referralStorageInGB) =>
|
||||
static String m50(referralCode, referralStorageInGB) =>
|
||||
"ente推荐码: ${referralCode} \n\n注册付费计划后在设置 → 常规 → 推荐中应用它以免费获得 ${referralStorageInGB} GB空间\n\nhttps://ente.io";
|
||||
|
||||
static String m52(numberOfPeople) =>
|
||||
static String m51(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: '与特定人员共享', one: '与 1 人共享', other: '与 ${numberOfPeople} 人共享')}";
|
||||
|
||||
static String m53(emailIDs) => "与 ${emailIDs} 共享";
|
||||
static String m52(emailIDs) => "与 ${emailIDs} 共享";
|
||||
|
||||
static String m54(fileType) => "此 ${fileType} 将从您的设备中删除。";
|
||||
static String m53(fileType) => "此 ${fileType} 将从您的设备中删除。";
|
||||
|
||||
static String m55(fileType) => "此 ${fileType} 同时在ente和您的设备中。";
|
||||
static String m54(fileType) => "此 ${fileType} 同时在ente和您的设备中。";
|
||||
|
||||
static String m56(fileType) => "此 ${fileType} 将从ente中删除。";
|
||||
static String m55(fileType) => "此 ${fileType} 将从ente中删除。";
|
||||
|
||||
static String m57(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
static String m56(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
|
||||
static String m58(
|
||||
static String m57(
|
||||
usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) =>
|
||||
"已使用 ${usedAmount} ${usedStorageUnit} / ${totalAmount} ${totalStorageUnit}";
|
||||
|
||||
static String m59(id) =>
|
||||
static String m58(id) =>
|
||||
"您的 ${id} 已经链接到另一个ente账户。\n如果您想要通过此账户使用您的 ${id} ,请联系我们的客服\'\'";
|
||||
|
||||
static String m60(endDate) => "您的订阅将于 ${endDate} 取消";
|
||||
static String m59(endDate) => "您的订阅将于 ${endDate} 取消";
|
||||
|
||||
static String m61(completed, total) => "已保存的回忆 ${completed}/共 ${total}";
|
||||
static String m60(completed, total) => "已保存的回忆 ${completed}/共 ${total}";
|
||||
|
||||
static String m62(storageAmountInGB) => "他们也会获得 ${storageAmountInGB} GB";
|
||||
static String m61(storageAmountInGB) => "他们也会获得 ${storageAmountInGB} GB";
|
||||
|
||||
static String m63(email) => "这是 ${email} 的验证ID";
|
||||
static String m62(email) => "这是 ${email} 的验证ID";
|
||||
|
||||
static String m64(count) =>
|
||||
static String m63(count) =>
|
||||
"${Intl.plural(count, zero: '', one: '1天', other: '${count} 天')}";
|
||||
|
||||
static String m65(endDate) => "有效期至 ${endDate}";
|
||||
static String m64(endDate) => "有效期至 ${endDate}";
|
||||
|
||||
static String m66(email) => "验证 ${email}";
|
||||
static String m65(email) => "验证 ${email}";
|
||||
|
||||
static String m67(email) => "我们已经发送邮件到 <green>${email}</green>";
|
||||
static String m66(email) => "我们已经发送邮件到 <green>${email}</green>";
|
||||
|
||||
static String m68(count) =>
|
||||
static String m67(count) =>
|
||||
"${Intl.plural(count, one: '${count} 年前', other: '${count} 年前')}";
|
||||
|
||||
static String m69(storageSaved) => "您已成功释放了 ${storageSaved}!";
|
||||
static String m68(storageSaved) => "您已成功释放了 ${storageSaved}!";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
||||
|
@ -838,7 +836,6 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"paymentDetails": MessageLookupByLibrary.simpleMessage("付款明细"),
|
||||
"paymentFailed": MessageLookupByLibrary.simpleMessage("支付失败"),
|
||||
"paymentFailedTalkToProvider": m37,
|
||||
"paymentFailedWithReason": m38,
|
||||
"pendingItems": MessageLookupByLibrary.simpleMessage("待处理项目"),
|
||||
"pendingSync": MessageLookupByLibrary.simpleMessage("正在等待同步"),
|
||||
"peopleUsingYourCode": MessageLookupByLibrary.simpleMessage("使用您的代码的人"),
|
||||
|
@ -856,7 +853,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"pickCenterPoint": MessageLookupByLibrary.simpleMessage("选择中心点"),
|
||||
"pinAlbum": MessageLookupByLibrary.simpleMessage("置顶相册"),
|
||||
"playOnTv": MessageLookupByLibrary.simpleMessage("在电视上播放相册"),
|
||||
"playStoreFreeTrialValidTill": m39,
|
||||
"playStoreFreeTrialValidTill": m38,
|
||||
"playstoreSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("PlayStore 订阅"),
|
||||
"pleaseCheckYourInternetConnectionAndTryAgain":
|
||||
|
@ -866,10 +863,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"请用英语联系 support@ente.io ,我们将乐意提供帮助!"),
|
||||
"pleaseContactSupportIfTheProblemPersists":
|
||||
MessageLookupByLibrary.simpleMessage("如果问题仍然存在,请联系支持"),
|
||||
"pleaseEmailUsAt": m40,
|
||||
"pleaseEmailUsAt": m39,
|
||||
"pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage("请授予权限"),
|
||||
"pleaseLoginAgain": MessageLookupByLibrary.simpleMessage("请重新登录"),
|
||||
"pleaseSendTheLogsTo": m41,
|
||||
"pleaseSendTheLogsTo": m40,
|
||||
"pleaseTryAgain": MessageLookupByLibrary.simpleMessage("请重试"),
|
||||
"pleaseVerifyTheCodeYouHaveEntered":
|
||||
MessageLookupByLibrary.simpleMessage("请验证您输入的代码"),
|
||||
|
@ -895,7 +892,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"raiseTicket": MessageLookupByLibrary.simpleMessage("提升工单"),
|
||||
"rateTheApp": MessageLookupByLibrary.simpleMessage("为此应用评分"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("给我们评分"),
|
||||
"rateUsOnStore": m42,
|
||||
"rateUsOnStore": m41,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("恢复"),
|
||||
"recoverAccount": MessageLookupByLibrary.simpleMessage("恢复账户"),
|
||||
"recoverButton": MessageLookupByLibrary.simpleMessage("恢复"),
|
||||
|
@ -920,7 +917,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("把我们推荐给你的朋友然后获得延长一倍的订阅计划"),
|
||||
"referralStep1": MessageLookupByLibrary.simpleMessage("1. 将此代码提供给您的朋友"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage("2. 他们注册一个付费计划"),
|
||||
"referralStep3": m43,
|
||||
"referralStep3": m42,
|
||||
"referrals": MessageLookupByLibrary.simpleMessage("推荐人"),
|
||||
"referralsAreCurrentlyPaused":
|
||||
MessageLookupByLibrary.simpleMessage("推荐已暂停"),
|
||||
|
@ -939,7 +936,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"removeFromFavorite": MessageLookupByLibrary.simpleMessage("从收藏中移除"),
|
||||
"removeLink": MessageLookupByLibrary.simpleMessage("移除链接"),
|
||||
"removeParticipant": MessageLookupByLibrary.simpleMessage("移除参与者"),
|
||||
"removeParticipantBody": m44,
|
||||
"removeParticipantBody": m43,
|
||||
"removePublicLink": MessageLookupByLibrary.simpleMessage("删除公开链接"),
|
||||
"removeShareItemsWarning":
|
||||
MessageLookupByLibrary.simpleMessage("您要删除的某些项目是由其他人添加的,您将无法访问它们"),
|
||||
|
@ -950,7 +947,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"renameAlbum": MessageLookupByLibrary.simpleMessage("重命名相册"),
|
||||
"renameFile": MessageLookupByLibrary.simpleMessage("重命名文件"),
|
||||
"renewSubscription": MessageLookupByLibrary.simpleMessage("续费订阅"),
|
||||
"renewsOn": m45,
|
||||
"renewsOn": m44,
|
||||
"reportABug": MessageLookupByLibrary.simpleMessage("报告错误"),
|
||||
"reportBug": MessageLookupByLibrary.simpleMessage("报告错误"),
|
||||
"resendEmail": MessageLookupByLibrary.simpleMessage("重新发送电子邮件"),
|
||||
|
@ -997,7 +994,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("在照片的一定半径内拍摄的几组照片"),
|
||||
"searchPeopleEmptySection":
|
||||
MessageLookupByLibrary.simpleMessage("邀请他人,您将在此看到他们分享的所有照片"),
|
||||
"searchResultCount": m46,
|
||||
"searchResultCount": m45,
|
||||
"security": MessageLookupByLibrary.simpleMessage("安全"),
|
||||
"selectALocation": MessageLookupByLibrary.simpleMessage("选择一个位置"),
|
||||
"selectALocationFirst":
|
||||
|
@ -1017,8 +1014,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("所选文件夹将被加密和备份"),
|
||||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||
MessageLookupByLibrary.simpleMessage("所选项目将从所有相册中删除并移动到回收站。"),
|
||||
"selectedPhotos": m47,
|
||||
"selectedPhotosWithYours": m48,
|
||||
"selectedPhotos": m46,
|
||||
"selectedPhotosWithYours": m47,
|
||||
"send": MessageLookupByLibrary.simpleMessage("发送"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("发送电子邮件"),
|
||||
"sendInvite": MessageLookupByLibrary.simpleMessage("发送邀请"),
|
||||
|
@ -1037,16 +1034,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("打开相册并点击右上角的分享按钮进行分享"),
|
||||
"shareAnAlbumNow": MessageLookupByLibrary.simpleMessage("立即分享相册"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("分享链接"),
|
||||
"shareMyVerificationID": m49,
|
||||
"shareMyVerificationID": m48,
|
||||
"shareOnlyWithThePeopleYouWant":
|
||||
MessageLookupByLibrary.simpleMessage("仅与您想要的人分享"),
|
||||
"shareTextConfirmOthersVerificationID": m50,
|
||||
"shareTextConfirmOthersVerificationID": m49,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"下载 ente,以便我们轻松分享原始质量的照片和视频\n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m51,
|
||||
"shareTextReferralCode": m50,
|
||||
"shareWithNonenteUsers":
|
||||
MessageLookupByLibrary.simpleMessage("与非ente 用户分享"),
|
||||
"shareWithPeopleSectionTitle": m52,
|
||||
"shareWithPeopleSectionTitle": m51,
|
||||
"shareYourFirstAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("分享您的第一个相册"),
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1057,7 +1054,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("新共享的照片"),
|
||||
"sharedPhotoNotificationsExplanation":
|
||||
MessageLookupByLibrary.simpleMessage("当有人将照片添加到您所属的共享相册时收到通知"),
|
||||
"sharedWith": m53,
|
||||
"sharedWith": m52,
|
||||
"sharedWithMe": MessageLookupByLibrary.simpleMessage("与我共享"),
|
||||
"sharedWithYou": MessageLookupByLibrary.simpleMessage("已与您共享"),
|
||||
"sharing": MessageLookupByLibrary.simpleMessage("正在分享..."),
|
||||
|
@ -1069,11 +1066,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"signOutOtherDevices": MessageLookupByLibrary.simpleMessage("登出其他设备"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"我同意 <u-terms>服务条款</u-terms> 和 <u-policy>隐私政策</u-policy>"),
|
||||
"singleFileDeleteFromDevice": m54,
|
||||
"singleFileDeleteFromDevice": m53,
|
||||
"singleFileDeleteHighlight":
|
||||
MessageLookupByLibrary.simpleMessage("它将从所有相册中删除。"),
|
||||
"singleFileInBothLocalAndRemote": m55,
|
||||
"singleFileInRemoteOnly": m56,
|
||||
"singleFileInBothLocalAndRemote": m54,
|
||||
"singleFileInRemoteOnly": m55,
|
||||
"skip": MessageLookupByLibrary.simpleMessage("跳过"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("社交"),
|
||||
"someItemsAreInBothEnteAndYourDevice":
|
||||
|
@ -1104,12 +1101,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"storage": MessageLookupByLibrary.simpleMessage("存储空间"),
|
||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("家庭"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("您"),
|
||||
"storageInGB": m57,
|
||||
"storageInGB": m56,
|
||||
"storageLimitExceeded": MessageLookupByLibrary.simpleMessage("已超出存储限制"),
|
||||
"storageUsageInfo": m58,
|
||||
"storageUsageInfo": m57,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("强"),
|
||||
"subAlreadyLinkedErrMessage": m59,
|
||||
"subWillBeCancelledOn": m60,
|
||||
"subAlreadyLinkedErrMessage": m58,
|
||||
"subWillBeCancelledOn": m59,
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("订阅"),
|
||||
"subscribeToEnableSharing":
|
||||
MessageLookupByLibrary.simpleMessage("您的订阅似乎已过期。请订阅以启用分享。"),
|
||||
|
@ -1122,7 +1119,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"successfullyUnhid": MessageLookupByLibrary.simpleMessage("已成功取消隐藏"),
|
||||
"suggestFeatures": MessageLookupByLibrary.simpleMessage("建议新功能"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("支持"),
|
||||
"syncProgress": m61,
|
||||
"syncProgress": m60,
|
||||
"syncStopped": MessageLookupByLibrary.simpleMessage("同步已停止"),
|
||||
"syncing": MessageLookupByLibrary.simpleMessage("正在同步···"),
|
||||
"systemTheme": MessageLookupByLibrary.simpleMessage("适应系统"),
|
||||
|
@ -1145,7 +1142,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"theme": MessageLookupByLibrary.simpleMessage("主题"),
|
||||
"theseItemsWillBeDeletedFromYourDevice":
|
||||
MessageLookupByLibrary.simpleMessage("这些项目将从您的设备中删除。"),
|
||||
"theyAlsoGetXGb": m62,
|
||||
"theyAlsoGetXGb": m61,
|
||||
"theyWillBeDeletedFromAllAlbums":
|
||||
MessageLookupByLibrary.simpleMessage("他们将从所有相册中删除。"),
|
||||
"thisActionCannotBeUndone":
|
||||
|
@ -1159,7 +1156,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("这个邮箱地址已经被使用"),
|
||||
"thisImageHasNoExifData":
|
||||
MessageLookupByLibrary.simpleMessage("此图像没有Exif 数据"),
|
||||
"thisIsPersonVerificationId": m63,
|
||||
"thisIsPersonVerificationId": m62,
|
||||
"thisIsYourVerificationId":
|
||||
MessageLookupByLibrary.simpleMessage("这是您的验证 ID"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
|
@ -1173,7 +1170,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"total": MessageLookupByLibrary.simpleMessage("总计"),
|
||||
"totalSize": MessageLookupByLibrary.simpleMessage("总大小"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("回收站"),
|
||||
"trashDaysLeft": m64,
|
||||
"trashDaysLeft": m63,
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("请再试一次"),
|
||||
"turnOnBackupForAutoUpload":
|
||||
MessageLookupByLibrary.simpleMessage("打开备份以自动上传添加到此设备文件夹的文件。"),
|
||||
|
@ -1216,13 +1213,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"useRecoveryKey": MessageLookupByLibrary.simpleMessage("使用恢复密钥"),
|
||||
"useSelectedPhoto": MessageLookupByLibrary.simpleMessage("使用所选照片"),
|
||||
"usedSpace": MessageLookupByLibrary.simpleMessage("已用空间"),
|
||||
"validTill": m65,
|
||||
"validTill": m64,
|
||||
"verificationFailedPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("验证失败,请重试"),
|
||||
"verificationId": MessageLookupByLibrary.simpleMessage("验证 ID"),
|
||||
"verify": MessageLookupByLibrary.simpleMessage("验证"),
|
||||
"verifyEmail": MessageLookupByLibrary.simpleMessage("验证电子邮件"),
|
||||
"verifyEmailID": m66,
|
||||
"verifyEmailID": m65,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("验证"),
|
||||
"verifyPasskey": MessageLookupByLibrary.simpleMessage("验证通行密钥"),
|
||||
"verifyPassword": MessageLookupByLibrary.simpleMessage("验证密码"),
|
||||
|
@ -1246,11 +1243,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"weAreOpenSource": MessageLookupByLibrary.simpleMessage("我们是开源的 !"),
|
||||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||
MessageLookupByLibrary.simpleMessage("我们不支持编辑您尚未拥有的照片和相册"),
|
||||
"weHaveSendEmailTo": m67,
|
||||
"weHaveSendEmailTo": m66,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("弱"),
|
||||
"welcomeBack": MessageLookupByLibrary.simpleMessage("欢迎回来!"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("每年"),
|
||||
"yearsAgo": m68,
|
||||
"yearsAgo": m67,
|
||||
"yes": MessageLookupByLibrary.simpleMessage("是"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("是的,取消"),
|
||||
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage("是的,转换为查看者"),
|
||||
|
@ -1276,7 +1273,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("莫开玩笑,您不能与自己分享"),
|
||||
"youDontHaveAnyArchivedItems":
|
||||
MessageLookupByLibrary.simpleMessage("您没有任何存档的项目。"),
|
||||
"youHaveSuccessfullyFreedUp": m69,
|
||||
"youHaveSuccessfullyFreedUp": m68,
|
||||
"yourAccountHasBeenDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("您的账户已删除"),
|
||||
"yourMap": MessageLookupByLibrary.simpleMessage("您的地图"),
|
||||
|
|
10
mobile/lib/generated/l10n.dart
generated
10
mobile/lib/generated/l10n.dart
generated
|
@ -4465,13 +4465,13 @@ class S {
|
|||
);
|
||||
}
|
||||
|
||||
/// `Unfortunately your payment failed due to {reason}`
|
||||
String paymentFailedWithReason(Object reason) {
|
||||
/// `Unfortunately your payment failed. Please contact support and we'll help you out!`
|
||||
String get paymentFailedMessage {
|
||||
return Intl.message(
|
||||
'Unfortunately your payment failed due to $reason',
|
||||
name: 'paymentFailedWithReason',
|
||||
'Unfortunately your payment failed. Please contact support and we\'ll help you out!',
|
||||
name: 'paymentFailedMessage',
|
||||
desc: '',
|
||||
args: [reason],
|
||||
args: [],
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -640,7 +640,7 @@
|
|||
"thankYou": "Thank you",
|
||||
"failedToVerifyPaymentStatus": "Failed to verify payment status",
|
||||
"pleaseWaitForSometimeBeforeRetrying": "Please wait for sometime before retrying",
|
||||
"paymentFailedWithReason": "Unfortunately your payment failed due to {reason}",
|
||||
"paymentFailedMessage": "Unfortunately your payment failed. Please contact support and we'll help you out!",
|
||||
"youAreOnAFamilyPlan": "You are on a family plan!",
|
||||
"contactFamilyAdmin": "Please contact <green>{familyAdminEmail}</green> to manage your subscription",
|
||||
"leaveFamily": "Leave family",
|
||||
|
|
|
@ -5,14 +5,15 @@ import 'package:flutter/foundation.dart';
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
import "package:photos/core/constants.dart";
|
||||
import 'package:photos/ente_theme_data.dart';
|
||||
import "package:photos/generated/l10n.dart";
|
||||
import 'package:photos/models/subscription.dart';
|
||||
import 'package:photos/services/billing_service.dart';
|
||||
import 'package:photos/services/user_service.dart';
|
||||
import 'package:photos/ui/common/loading_widget.dart';
|
||||
import 'package:photos/ui/common/progress_dialog.dart';
|
||||
import 'package:photos/utils/dialog_util.dart';
|
||||
import "package:photos/utils/email_util.dart";
|
||||
|
||||
class PaymentWebPage extends StatefulWidget {
|
||||
final String? planId;
|
||||
|
@ -30,7 +31,6 @@ class _PaymentWebPageState extends State<PaymentWebPage> {
|
|||
final UserService userService = UserService.instance;
|
||||
final BillingService billingService = BillingService.instance;
|
||||
final String basePaymentUrl = kWebPaymentBaseEndpoint;
|
||||
late ProgressDialog _dialog;
|
||||
InAppWebViewController? webView;
|
||||
double progress = 0;
|
||||
Uri? initPaymentUrl;
|
||||
|
@ -49,11 +49,6 @@ class _PaymentWebPageState extends State<PaymentWebPage> {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
_dialog = createProgressDialog(
|
||||
context,
|
||||
S.of(context).pleaseWait,
|
||||
isDismissible: true,
|
||||
);
|
||||
if (initPaymentUrl == null) {
|
||||
return const EnteLoadingWidget();
|
||||
}
|
||||
|
@ -93,27 +88,20 @@ class _PaymentWebPageState extends State<PaymentWebPage> {
|
|||
return NavigationActionPolicy.ALLOW;
|
||||
},
|
||||
onConsoleMessage: (controller, consoleMessage) {
|
||||
_logger.info(consoleMessage);
|
||||
_logger.info("onConsoleMessage $consoleMessage");
|
||||
},
|
||||
onLoadStart: (controller, navigationAction) async {
|
||||
if (!_dialog.isShowing()) {
|
||||
await _dialog.show();
|
||||
}
|
||||
_logger.info("onLoadStart $navigationAction");
|
||||
},
|
||||
onLoadError: (controller, navigationAction, code, msg) async {
|
||||
if (_dialog.isShowing()) {
|
||||
await _dialog.hide();
|
||||
}
|
||||
_logger.severe("onLoadError $navigationAction $code $msg");
|
||||
},
|
||||
onLoadHttpError:
|
||||
(controller, navigationAction, code, msg) async {
|
||||
_logger.info("onHttpError with $code and msg = $msg");
|
||||
},
|
||||
onLoadStop: (controller, navigationAction) async {
|
||||
_logger.info("loadStart" + navigationAction.toString());
|
||||
if (_dialog.isShowing()) {
|
||||
await _dialog.hide();
|
||||
}
|
||||
_logger.info("onLoadStop $navigationAction");
|
||||
},
|
||||
),
|
||||
),
|
||||
|
@ -125,7 +113,6 @@ class _PaymentWebPageState extends State<PaymentWebPage> {
|
|||
|
||||
@override
|
||||
void dispose() {
|
||||
_dialog.hide();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
|
@ -207,12 +194,17 @@ class _PaymentWebPageState extends State<PaymentWebPage> {
|
|||
barrierDismissible: false,
|
||||
builder: (context) => AlertDialog(
|
||||
title: Text(S.of(context).paymentFailed),
|
||||
content: Text(S.of(context).paymentFailedWithReason(reason)),
|
||||
content: Text(S.of(context).paymentFailedMessage),
|
||||
actions: <Widget>[
|
||||
TextButton(
|
||||
child: Text(S.of(context).ok),
|
||||
onPressed: () {
|
||||
child: Text(S.of(context).contactSupport),
|
||||
onPressed: () async {
|
||||
Navigator.of(context).pop('dialog');
|
||||
await sendEmail(
|
||||
context,
|
||||
to: supportEmail,
|
||||
subject: "Billing issue",
|
||||
);
|
||||
},
|
||||
),
|
||||
],
|
||||
|
@ -224,7 +216,6 @@ class _PaymentWebPageState extends State<PaymentWebPage> {
|
|||
// return true if verifySubscription didn't throw any exceptions
|
||||
Future<void> _handlePaymentSuccess(Map<String, String> queryParams) async {
|
||||
final checkoutSessionID = queryParams['session_id'] ?? '';
|
||||
await _dialog.show();
|
||||
try {
|
||||
// ignore: unused_local_variable
|
||||
final response = await billingService.verifySubscription(
|
||||
|
@ -232,7 +223,6 @@ class _PaymentWebPageState extends State<PaymentWebPage> {
|
|||
checkoutSessionID,
|
||||
paymentProvider: stripe,
|
||||
);
|
||||
await _dialog.hide();
|
||||
final content = widget.actionType == 'buy'
|
||||
? S.of(context).yourPurchaseWasSuccessful
|
||||
: S.of(context).yourSubscriptionWasUpdatedSuccessfully;
|
||||
|
@ -242,7 +232,6 @@ class _PaymentWebPageState extends State<PaymentWebPage> {
|
|||
);
|
||||
} catch (error) {
|
||||
_logger.severe(error);
|
||||
await _dialog.hide();
|
||||
await _showExitPageDialog(
|
||||
title: S.of(context).failedToVerifyPaymentStatus,
|
||||
content: S.of(context).pleaseWaitForSometimeBeforeRetrying,
|
||||
|
|
|
@ -42,7 +42,7 @@ const (
|
|||
OnHoldTemplate = "on_hold.html"
|
||||
|
||||
// AccountOnHoldEmailSubject is the subject of account on hold email
|
||||
AccountOnHoldEmailSubject = "ente account on hold"
|
||||
AccountOnHoldEmailSubject = "Ente account on hold"
|
||||
|
||||
// Template for the email we send out when the user's subscription ends,
|
||||
// either because the user cancelled their subscription, or because it
|
||||
|
|
|
@ -215,11 +215,11 @@
|
|||
has informed us that
|
||||
they were
|
||||
unable to renew your
|
||||
ente subscription.
|
||||
subscription.
|
||||
Please update your
|
||||
payment method
|
||||
within
|
||||
{{.PaymentProvider}}
|
||||
the app
|
||||
so that your
|
||||
subscription can be
|
||||
renewed.</div>
|
||||
|
@ -234,7 +234,7 @@
|
|||
from
|
||||
{{.PaymentProvider}}
|
||||
within the next
|
||||
30 days, our systems
|
||||
31 days, our systems
|
||||
may remove your
|
||||
account and all
|
||||
associated data with
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
"database/sql"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"github.com/ente-io/museum/pkg/controller/commonbilling"
|
||||
"net/http"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/ente-io/museum/pkg/controller/commonbilling"
|
||||
|
||||
"github.com/ente-io/museum/pkg/controller/discord"
|
||||
"github.com/ente-io/museum/pkg/controller/offer"
|
||||
|
@ -24,7 +25,6 @@ import (
|
|||
"github.com/spf13/viper"
|
||||
"github.com/stripe/stripe-go/v72"
|
||||
"github.com/stripe/stripe-go/v72/client"
|
||||
"github.com/stripe/stripe-go/v72/invoice"
|
||||
"github.com/stripe/stripe-go/v72/webhook"
|
||||
"golang.org/x/text/currency"
|
||||
)
|
||||
|
@ -43,12 +43,7 @@ type StripeController struct {
|
|||
CommonBillCtrl *commonbilling.Controller
|
||||
}
|
||||
|
||||
// A flag we set on Stripe subscriptions to indicate that we should skip on
|
||||
// sending out the email when the subscription has been cancelled.
|
||||
//
|
||||
// This is needed e.g. if this cancellation was as part of a user initiated
|
||||
// account deletion.
|
||||
const SkipMailKey = "skip_mail"
|
||||
const BufferPeriodOnPaymentFailureInDays = 7
|
||||
|
||||
// Return a new instance of StripeController
|
||||
func NewStripeController(plans ente.BillingPlansPerAccount, stripeClients ente.StripeClientPerAccount, billingRepo *repo.BillingRepository, fileRepo *repo.FileRepository, userRepo *repo.UserRepository, storageBonusRepo *storagebonus.Repository, discordController *discord.DiscordController, emailNotificationController *emailCtrl.EmailNotificationController, offerController *offer.OfferController, commonBillCtrl *commonbilling.Controller) *StripeController {
|
||||
|
@ -85,12 +80,15 @@ func (c *StripeController) GetCheckoutSession(productID string, userID int64, re
|
|||
return "", stacktrace.Propagate(ente.ErrBadRequest, "")
|
||||
}
|
||||
}
|
||||
if subscription.PaymentProvider == ente.Stripe && !subscription.Attributes.IsCancelled {
|
||||
// user had bought a stripe subscription earlier,
|
||||
err := c.cancelExistingStripeSubscription(subscription, userID)
|
||||
if hasStripeSubscription {
|
||||
client := c.StripeClients[subscription.Attributes.StripeAccountCountry]
|
||||
stripeSubscription, err := client.Subscriptions.Get(subscription.OriginalTransactionID, nil)
|
||||
if err != nil {
|
||||
return "", stacktrace.Propagate(err, "")
|
||||
}
|
||||
if stripeSubscription.Status != stripe.SubscriptionStatusCanceled {
|
||||
return "", stacktrace.Propagate(ente.ErrBadRequest, "")
|
||||
}
|
||||
}
|
||||
stripeSuccessURL := redirectRootURL + viper.GetString("stripe.path.success")
|
||||
stripeCancelURL := redirectRootURL + viper.GetString("stripe.path.cancel")
|
||||
|
@ -160,7 +158,7 @@ func (c *StripeController) HandleUSNotification(payload []byte, header string) e
|
|||
if err != nil {
|
||||
return stacktrace.Propagate(err, "")
|
||||
}
|
||||
return c.handleWebhookEvent(event)
|
||||
return c.handleWebhookEvent(event, ente.StripeUS)
|
||||
}
|
||||
|
||||
func (c *StripeController) HandleINNotification(payload []byte, header string) error {
|
||||
|
@ -168,10 +166,10 @@ func (c *StripeController) HandleINNotification(payload []byte, header string) e
|
|||
if err != nil {
|
||||
return stacktrace.Propagate(err, "")
|
||||
}
|
||||
return c.handleWebhookEvent(event)
|
||||
return c.handleWebhookEvent(event, ente.StripeIN)
|
||||
}
|
||||
|
||||
func (c *StripeController) handleWebhookEvent(event stripe.Event) error {
|
||||
func (c *StripeController) handleWebhookEvent(event stripe.Event, country ente.StripeAccountCountry) error {
|
||||
// The event body would already have been logged by the upper layers by the
|
||||
// time we get here, so we can only handle the events that we care about. In
|
||||
// case we receive an unexpected event, we do log an error though.
|
||||
|
@ -180,7 +178,7 @@ func (c *StripeController) handleWebhookEvent(event stripe.Event) error {
|
|||
log.Error("Received an unexpected webhook from stripe:", event.Type)
|
||||
return nil
|
||||
}
|
||||
eventLog, err := handler(event)
|
||||
eventLog, err := handler(event, country)
|
||||
if err != nil {
|
||||
return stacktrace.Propagate(err, "")
|
||||
}
|
||||
|
@ -196,16 +194,16 @@ func (c *StripeController) handleWebhookEvent(event stripe.Event) error {
|
|||
return stacktrace.Propagate(err, "")
|
||||
}
|
||||
|
||||
func (c *StripeController) findHandlerForEvent(event stripe.Event) func(event stripe.Event) (ente.StripeEventLog, error) {
|
||||
func (c *StripeController) findHandlerForEvent(event stripe.Event) func(event stripe.Event, country ente.StripeAccountCountry) (ente.StripeEventLog, error) {
|
||||
switch event.Type {
|
||||
case "checkout.session.completed":
|
||||
return c.handleCheckoutSessionCompleted
|
||||
case "customer.subscription.deleted":
|
||||
return c.handleCustomerSubscriptionDeleted
|
||||
case "customer.subscription.updated":
|
||||
return c.handleCustomerSubscriptionUpdated
|
||||
case "invoice.paid":
|
||||
return c.handleInvoicePaid
|
||||
case "payment_intent.payment_failed":
|
||||
return c.handlePaymentIntentFailed
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
|
@ -213,7 +211,7 @@ func (c *StripeController) findHandlerForEvent(event stripe.Event) func(event st
|
|||
|
||||
// Payment is successful and the subscription is created.
|
||||
// You should provision the subscription.
|
||||
func (c *StripeController) handleCheckoutSessionCompleted(event stripe.Event) (ente.StripeEventLog, error) {
|
||||
func (c *StripeController) handleCheckoutSessionCompleted(event stripe.Event, country ente.StripeAccountCountry) (ente.StripeEventLog, error) {
|
||||
var session stripe.CheckoutSession
|
||||
json.Unmarshal(event.Data.Raw, &session)
|
||||
if session.ClientReferenceID != "" { // via payments.ente.io, where we inserted the userID
|
||||
|
@ -268,66 +266,12 @@ func (c *StripeController) handleCheckoutSessionCompleted(event stripe.Event) (e
|
|||
return ente.StripeEventLog{}, nil
|
||||
}
|
||||
|
||||
// Occurs whenever a customer's subscription ends.
|
||||
func (c *StripeController) handleCustomerSubscriptionDeleted(event stripe.Event) (ente.StripeEventLog, error) {
|
||||
var stripeSubscription stripe.Subscription
|
||||
json.Unmarshal(event.Data.Raw, &stripeSubscription)
|
||||
currentSubscription, err := c.BillingRepo.GetSubscriptionForTransaction(stripeSubscription.ID, ente.Stripe)
|
||||
if err != nil {
|
||||
// Ignore webhooks received before user has been created
|
||||
//
|
||||
// This would happen when we get webhook events out of order, e.g. we
|
||||
// get a "customer.subscription.updated" before
|
||||
// "checkout.session.completed", and the customer has not yet been
|
||||
// created in our database.
|
||||
if errors.Is(err, sql.ErrNoRows) {
|
||||
log.Warn("Webhook is reporting an event for un-verified subscription stripeSubscriptionID:", stripeSubscription.ID)
|
||||
return ente.StripeEventLog{}, nil
|
||||
}
|
||||
return ente.StripeEventLog{}, stacktrace.Propagate(err, "")
|
||||
}
|
||||
userID := currentSubscription.UserID
|
||||
user, err := c.UserRepo.Get(userID)
|
||||
if err != nil {
|
||||
if errors.Is(err, ente.ErrUserDeleted) {
|
||||
// no-op user has already been deleted
|
||||
return ente.StripeEventLog{UserID: userID, StripeSubscription: stripeSubscription, Event: event}, nil
|
||||
}
|
||||
return ente.StripeEventLog{}, stacktrace.Propagate(err, "")
|
||||
}
|
||||
|
||||
err = c.BillingRepo.UpdateSubscriptionCancellationStatus(userID, true)
|
||||
if err != nil {
|
||||
return ente.StripeEventLog{}, stacktrace.Propagate(err, "")
|
||||
}
|
||||
|
||||
skipMail := stripeSubscription.Metadata[SkipMailKey]
|
||||
// Send a cancellation notification email for folks who are either on
|
||||
// individual plan or admin of a family plan.
|
||||
if skipMail != "true" &&
|
||||
(user.FamilyAdminID == nil || *user.FamilyAdminID == userID) {
|
||||
storage, surpErr := c.StorageBonusRepo.GetPaidAddonSurplusStorage(context.Background(), userID)
|
||||
if surpErr != nil {
|
||||
return ente.StripeEventLog{}, stacktrace.Propagate(surpErr, "")
|
||||
}
|
||||
if storage == nil || *storage <= 0 {
|
||||
err = email.SendTemplatedEmail([]string{user.Email}, "ente", "support@ente.io",
|
||||
ente.SubscriptionEndedEmailSubject, ente.SubscriptionEndedEmailTemplate,
|
||||
map[string]interface{}{}, nil)
|
||||
if err != nil {
|
||||
return ente.StripeEventLog{}, stacktrace.Propagate(err, "")
|
||||
}
|
||||
} else {
|
||||
log.WithField("storage", storage).Info("User has surplus storage, not sending email")
|
||||
}
|
||||
}
|
||||
// TODO: Add cron to delete files of users with expired subscriptions
|
||||
return ente.StripeEventLog{UserID: userID, StripeSubscription: stripeSubscription, Event: event}, nil
|
||||
}
|
||||
|
||||
// Occurs whenever a subscription changes (e.g., switching from one plan to
|
||||
// another, or changing the status from trial to active).
|
||||
func (c *StripeController) handleCustomerSubscriptionUpdated(event stripe.Event) (ente.StripeEventLog, error) {
|
||||
// Stripe fires this when a subscription starts or changes. For example,
|
||||
// renewing a subscription, adding a coupon, applying a discount, adding an
|
||||
// invoice item, and changing plans all trigger this event. In our case, we use
|
||||
// this only to track plan changes and renewal failures resulting in
|
||||
// subscriptions going past due.
|
||||
func (c *StripeController) handleCustomerSubscriptionUpdated(event stripe.Event, country ente.StripeAccountCountry) (ente.StripeEventLog, error) {
|
||||
var stripeSubscription stripe.Subscription
|
||||
json.Unmarshal(event.Data.Raw, &stripeSubscription)
|
||||
currentSubscription, err := c.BillingRepo.GetSubscriptionForTransaction(stripeSubscription.ID, ente.Stripe)
|
||||
|
@ -339,41 +283,40 @@ func (c *StripeController) handleCustomerSubscriptionUpdated(event stripe.Event)
|
|||
}
|
||||
return ente.StripeEventLog{}, stacktrace.Propagate(err, "")
|
||||
}
|
||||
|
||||
userID := currentSubscription.UserID
|
||||
switch stripeSubscription.Status {
|
||||
case stripe.SubscriptionStatusPastDue:
|
||||
user, err := c.UserRepo.Get(userID)
|
||||
newSubscription, err := c.getEnteSubscriptionFromStripeSubscription(userID, stripeSubscription)
|
||||
if err != nil {
|
||||
return ente.StripeEventLog{}, stacktrace.Propagate(err, "")
|
||||
}
|
||||
// If the customer has changed the plan, we update state in the database. If
|
||||
// the plan has not changed, we will ignore this webhook and rely on other
|
||||
// events to update the state
|
||||
if currentSubscription.ProductID != newSubscription.ProductID {
|
||||
c.BillingRepo.ReplaceSubscription(currentSubscription.ID, newSubscription)
|
||||
}
|
||||
|
||||
fullStripeSub, err := c.getStripeSubscriptionWithPaymentMethod(currentSubscription)
|
||||
if err != nil {
|
||||
return ente.StripeEventLog{}, stacktrace.Propagate(err, "")
|
||||
}
|
||||
isSEPA := isSEPASubscription(fullStripeSub)
|
||||
|
||||
if stripeSubscription.Status == stripe.SubscriptionStatusPastDue && !isSEPA {
|
||||
// Unfortunately, customer.subscription.updated is only fired for SEPA
|
||||
// payments in case of updation failures (not for purchase or renewal
|
||||
// failures). So for consistency (and to avoid duplicate mails), we
|
||||
// trigger on-hold emails for SEPA within handlePaymentIntentFailed.
|
||||
err = c.sendAccountOnHoldEmail(userID)
|
||||
if err != nil {
|
||||
return ente.StripeEventLog{}, stacktrace.Propagate(err, "")
|
||||
}
|
||||
err = email.SendTemplatedEmail([]string{user.Email}, "ente", "support@ente.io",
|
||||
ente.AccountOnHoldEmailSubject, ente.OnHoldTemplate, map[string]interface{}{
|
||||
"PaymentProvider": "Stripe",
|
||||
}, nil)
|
||||
if err != nil {
|
||||
return ente.StripeEventLog{}, stacktrace.Propagate(err, "")
|
||||
}
|
||||
case stripe.SubscriptionStatusActive:
|
||||
newSubscription, err := c.getEnteSubscriptionFromStripeSubscription(userID, stripeSubscription)
|
||||
if err != nil {
|
||||
return ente.StripeEventLog{}, stacktrace.Propagate(err, "")
|
||||
}
|
||||
if currentSubscription.ProductID == newSubscription.ProductID {
|
||||
// Webhook is reporting an outdated update that was already verified
|
||||
// no-op
|
||||
log.Warn("Webhook is reporting an outdated purchase that was already verified stripeSubscriptionID:", stripeSubscription.ID)
|
||||
return ente.StripeEventLog{UserID: userID, StripeSubscription: stripeSubscription, Event: event}, nil
|
||||
}
|
||||
if newSubscription.ProductID != currentSubscription.ProductID {
|
||||
c.BillingRepo.ReplaceSubscription(currentSubscription.ID, newSubscription)
|
||||
}
|
||||
}
|
||||
|
||||
return ente.StripeEventLog{UserID: userID, StripeSubscription: stripeSubscription, Event: event}, nil
|
||||
}
|
||||
|
||||
// Continue to provision the subscription as payments continue to be made.
|
||||
func (c *StripeController) handleInvoicePaid(event stripe.Event) (ente.StripeEventLog, error) {
|
||||
func (c *StripeController) handleInvoicePaid(event stripe.Event, country ente.StripeAccountCountry) (ente.StripeEventLog, error) {
|
||||
var invoice stripe.Invoice
|
||||
json.Unmarshal(event.Data.Raw, &invoice)
|
||||
stripeSubscriptionID := invoice.Subscription.ID
|
||||
|
@ -409,6 +352,68 @@ func (c *StripeController) handleInvoicePaid(event stripe.Event) (ente.StripeEve
|
|||
return ente.StripeEventLog{UserID: userID, StripeSubscription: *stripeSubscription, Event: event}, nil
|
||||
}
|
||||
|
||||
// Event used to ONLY handle failures to SEPA payments, since we set
|
||||
// SubscriptionPaymentBehaviorAllowIncomplete only for SEPA. Other payment modes
|
||||
// will fail and will be handled synchronously
|
||||
func (c *StripeController) handlePaymentIntentFailed(event stripe.Event, country ente.StripeAccountCountry) (ente.StripeEventLog, error) {
|
||||
var paymentIntent stripe.PaymentIntent
|
||||
json.Unmarshal(event.Data.Raw, &paymentIntent)
|
||||
isSEPA := paymentIntent.LastPaymentError.PaymentMethod.Type == stripe.PaymentMethodTypeSepaDebit
|
||||
if !isSEPA {
|
||||
// Ignore events for other payment methods, since they will be handled
|
||||
// synchronously
|
||||
log.Info("Ignoring payment intent failed event for non-SEPA payment method")
|
||||
return ente.StripeEventLog{}, nil
|
||||
}
|
||||
|
||||
client := c.StripeClients[country]
|
||||
invoiceID := paymentIntent.Invoice.ID
|
||||
invoice, err := client.Invoices.Get(invoiceID, nil)
|
||||
if err != nil {
|
||||
return ente.StripeEventLog{}, stacktrace.Propagate(err, "")
|
||||
}
|
||||
stripeSubscriptionID := invoice.Subscription.ID
|
||||
|
||||
currentSubscription, err := c.BillingRepo.GetSubscriptionForTransaction(stripeSubscriptionID, ente.Stripe)
|
||||
if err != nil {
|
||||
if errors.Is(err, sql.ErrNoRows) {
|
||||
// See: Ignore webhooks received before user has been created
|
||||
log.Warn("Webhook is reporting an event for un-verified subscription stripeSubscriptionID:", stripeSubscriptionID)
|
||||
}
|
||||
return ente.StripeEventLog{}, stacktrace.Propagate(err, "")
|
||||
}
|
||||
userID := currentSubscription.UserID
|
||||
|
||||
stripeSubscription, err := client.Subscriptions.Get(stripeSubscriptionID, nil)
|
||||
if err != nil {
|
||||
return ente.StripeEventLog{}, stacktrace.Propagate(err, "")
|
||||
}
|
||||
|
||||
productID := stripeSubscription.Items.Data[0].Price.ID
|
||||
// If the current subscription is not the same as the one in the webhook,
|
||||
// then ignore
|
||||
fmt.Printf("productID: %s, currentSubscription.ProductID: %s\n", productID, currentSubscription.ProductID)
|
||||
if currentSubscription.ProductID != productID {
|
||||
// no-op
|
||||
log.Warn("Webhook is reporting un-verified subscription update", stripeSubscription.ID, "invoiceID:", invoiceID)
|
||||
return ente.StripeEventLog{UserID: userID, StripeSubscription: *stripeSubscription, Event: event}, nil
|
||||
}
|
||||
// If the current subscription is the same as the one in the webhook, then
|
||||
// we need to expire the subscription, and send an email to the user.
|
||||
newExpiryTime := time.Now().UnixMicro()
|
||||
err = c.BillingRepo.UpdateSubscriptionExpiryTime(
|
||||
currentSubscription.ID, newExpiryTime)
|
||||
if err != nil {
|
||||
return ente.StripeEventLog{}, stacktrace.Propagate(err, "")
|
||||
}
|
||||
err = c.sendAccountOnHoldEmail(userID)
|
||||
if err != nil {
|
||||
return ente.StripeEventLog{}, stacktrace.Propagate(err, "")
|
||||
}
|
||||
|
||||
return ente.StripeEventLog{UserID: userID, StripeSubscription: *stripeSubscription, Event: event}, nil
|
||||
}
|
||||
|
||||
func (c *StripeController) UpdateSubscription(stripeID string, userID int64) (ente.SubscriptionUpdateResponse, error) {
|
||||
subscription, err := c.BillingRepo.GetUserSubscription(userID)
|
||||
if err != nil {
|
||||
|
@ -432,11 +437,17 @@ func (c *StripeController) UpdateSubscription(stripeID string, userID int64) (en
|
|||
log.Info("Usage is good")
|
||||
|
||||
}
|
||||
client := c.StripeClients[subscription.Attributes.StripeAccountCountry]
|
||||
stripeSubscription, err := client.Subscriptions.Get(subscription.OriginalTransactionID, nil)
|
||||
stripeSubscription, err := c.getStripeSubscriptionWithPaymentMethod(subscription)
|
||||
if err != nil {
|
||||
return ente.SubscriptionUpdateResponse{}, stacktrace.Propagate(err, "")
|
||||
}
|
||||
isSEPA := isSEPASubscription(stripeSubscription)
|
||||
var paymentBehavior stripe.SubscriptionPaymentBehavior
|
||||
if isSEPA {
|
||||
paymentBehavior = stripe.SubscriptionPaymentBehaviorAllowIncomplete
|
||||
} else {
|
||||
paymentBehavior = stripe.SubscriptionPaymentBehaviorPendingIfIncomplete
|
||||
}
|
||||
params := stripe.SubscriptionParams{
|
||||
ProrationBehavior: stripe.String(string(stripe.SubscriptionProrationBehaviorAlwaysInvoice)),
|
||||
Items: []*stripe.SubscriptionItemsParams{
|
||||
|
@ -445,9 +456,10 @@ func (c *StripeController) UpdateSubscription(stripeID string, userID int64) (en
|
|||
Price: stripe.String(stripeID),
|
||||
},
|
||||
},
|
||||
PaymentBehavior: stripe.String(string(stripe.SubscriptionPaymentBehaviorPendingIfIncomplete)),
|
||||
PaymentBehavior: stripe.String(string(paymentBehavior)),
|
||||
}
|
||||
params.AddExpand("latest_invoice.payment_intent")
|
||||
client := c.StripeClients[subscription.Attributes.StripeAccountCountry]
|
||||
newStripeSubscription, err := client.Subscriptions.Update(subscription.OriginalTransactionID, ¶ms)
|
||||
if err != nil {
|
||||
stripeError := err.(*stripe.Error)
|
||||
|
@ -458,19 +470,31 @@ func (c *StripeController) UpdateSubscription(stripeID string, userID int64) (en
|
|||
return ente.SubscriptionUpdateResponse{}, stacktrace.Propagate(err, "")
|
||||
}
|
||||
}
|
||||
if newStripeSubscription.PendingUpdate != nil {
|
||||
switch newStripeSubscription.LatestInvoice.PaymentIntent.Status {
|
||||
case stripe.PaymentIntentStatusRequiresAction:
|
||||
return ente.SubscriptionUpdateResponse{Status: "requires_action", ClientSecret: newStripeSubscription.LatestInvoice.PaymentIntent.ClientSecret}, nil
|
||||
case stripe.PaymentIntentStatusRequiresPaymentMethod:
|
||||
inv := newStripeSubscription.LatestInvoice
|
||||
invoice.VoidInvoice(inv.ID, nil)
|
||||
return ente.SubscriptionUpdateResponse{Status: "requires_payment_method"}, nil
|
||||
if isSEPA {
|
||||
if newStripeSubscription.Status == stripe.SubscriptionStatusPastDue {
|
||||
if newStripeSubscription.LatestInvoice.PaymentIntent.Status == stripe.PaymentIntentStatusRequiresAction {
|
||||
return ente.SubscriptionUpdateResponse{Status: "requires_action", ClientSecret: newStripeSubscription.LatestInvoice.PaymentIntent.ClientSecret}, nil
|
||||
} else if newStripeSubscription.LatestInvoice.PaymentIntent.Status == stripe.PaymentIntentStatusRequiresPaymentMethod {
|
||||
return ente.SubscriptionUpdateResponse{Status: "requires_payment_method"}, nil
|
||||
} else if newStripeSubscription.LatestInvoice.PaymentIntent.Status == stripe.PaymentIntentStatusProcessing {
|
||||
return ente.SubscriptionUpdateResponse{Status: "success"}, nil
|
||||
}
|
||||
return ente.SubscriptionUpdateResponse{}, stacktrace.Propagate(ente.ErrBadRequest, "")
|
||||
}
|
||||
} else {
|
||||
if newStripeSubscription.PendingUpdate != nil {
|
||||
switch newStripeSubscription.LatestInvoice.PaymentIntent.Status {
|
||||
case stripe.PaymentIntentStatusRequiresAction:
|
||||
return ente.SubscriptionUpdateResponse{Status: "requires_action", ClientSecret: newStripeSubscription.LatestInvoice.PaymentIntent.ClientSecret}, nil
|
||||
case stripe.PaymentIntentStatusRequiresPaymentMethod:
|
||||
inv := newStripeSubscription.LatestInvoice
|
||||
client.Invoices.VoidInvoice(inv.ID, nil)
|
||||
return ente.SubscriptionUpdateResponse{Status: "requires_payment_method"}, nil
|
||||
}
|
||||
return ente.SubscriptionUpdateResponse{}, stacktrace.Propagate(ente.ErrBadRequest, "")
|
||||
}
|
||||
return ente.SubscriptionUpdateResponse{}, stacktrace.Propagate(ente.ErrBadRequest, "")
|
||||
}
|
||||
return ente.SubscriptionUpdateResponse{Status: "success"}, nil
|
||||
|
||||
}
|
||||
|
||||
func (c *StripeController) UpdateSubscriptionCancellationStatus(userID int64, status bool) (ente.Subscription, error) {
|
||||
|
@ -525,6 +549,29 @@ func (c *StripeController) GetStripeCustomerPortal(userID int64, redirectRootURL
|
|||
return ps.URL, nil
|
||||
}
|
||||
|
||||
func (c *StripeController) getStripeSubscriptionWithPaymentMethod(subscription ente.Subscription) (stripe.Subscription, error) {
|
||||
client := c.StripeClients[subscription.Attributes.StripeAccountCountry]
|
||||
params := &stripe.SubscriptionParams{}
|
||||
params.AddExpand("default_payment_method")
|
||||
stripeSubscription, err := client.Subscriptions.Get(subscription.OriginalTransactionID, params)
|
||||
if err != nil {
|
||||
return stripe.Subscription{}, stacktrace.Propagate(err, "")
|
||||
}
|
||||
return *stripeSubscription, nil
|
||||
}
|
||||
|
||||
func (c *StripeController) sendAccountOnHoldEmail(userID int64) error {
|
||||
user, err := c.UserRepo.Get(userID)
|
||||
if err != nil {
|
||||
return stacktrace.Propagate(err, "")
|
||||
}
|
||||
err = email.SendTemplatedEmail([]string{user.Email}, "ente", "support@ente.io",
|
||||
ente.AccountOnHoldEmailSubject, ente.OnHoldTemplate, map[string]interface{}{
|
||||
"PaymentProvider": "Stripe",
|
||||
}, nil)
|
||||
return err
|
||||
}
|
||||
|
||||
func (c *StripeController) getStripeSubscriptionFromSession(userID int64, checkoutSessionID string) (stripe.Subscription, error) {
|
||||
subscription, err := c.BillingRepo.GetUserSubscription(userID)
|
||||
if err != nil {
|
||||
|
@ -624,9 +671,7 @@ func (c *StripeController) CancelSubAndDeleteCustomer(subscription ente.Subscrip
|
|||
if !subscription.Attributes.IsCancelled {
|
||||
prorateRefund := true
|
||||
logger.Info("cancelling sub with prorated refund")
|
||||
updateParams := &stripe.SubscriptionParams{}
|
||||
updateParams.AddMetadata(SkipMailKey, "true")
|
||||
_, err := client.Subscriptions.Update(subscription.OriginalTransactionID, updateParams)
|
||||
_, err := client.Subscriptions.Update(subscription.OriginalTransactionID, nil)
|
||||
if err != nil {
|
||||
stripeError := err.(*stripe.Error)
|
||||
errorMsg := fmt.Sprintf("subscription updation failed during account deletion: %s, %s", stripeError.Msg, stripeError.Code)
|
||||
|
@ -677,34 +722,12 @@ func (c *StripeController) CancelSubAndDeleteCustomer(subscription ente.Subscrip
|
|||
return nil
|
||||
}
|
||||
|
||||
// cancel the earlier past_due subscription
|
||||
// and add skip mail metadata entry to avoid sending account deletion mail while re-subscription
|
||||
func (c *StripeController) cancelExistingStripeSubscription(subscription ente.Subscription, userID int64) error {
|
||||
updateParams := &stripe.SubscriptionParams{}
|
||||
updateParams.AddMetadata(SkipMailKey, "true")
|
||||
client := c.StripeClients[subscription.Attributes.StripeAccountCountry]
|
||||
_, err := client.Subscriptions.Update(subscription.OriginalTransactionID, updateParams)
|
||||
if err != nil {
|
||||
stripeError := err.(*stripe.Error)
|
||||
log.Warn(fmt.Sprintf("subscription updation failed msg= %s for userID=%d", stripeError.Msg, userID))
|
||||
// ignore if subscription doesn't exist, already deleted
|
||||
if stripeError.HTTPStatusCode != 404 {
|
||||
return stacktrace.Propagate(err, "")
|
||||
}
|
||||
func isSEPASubscription(stripeSubscription stripe.Subscription) bool {
|
||||
isSEPA := false
|
||||
if stripeSubscription.DefaultPaymentMethod != nil {
|
||||
isSEPA = stripeSubscription.DefaultPaymentMethod.Type == stripe.PaymentMethodTypeSepaDebit
|
||||
} else {
|
||||
_, err = client.Subscriptions.Cancel(subscription.OriginalTransactionID, nil)
|
||||
if err != nil {
|
||||
stripeError := err.(*stripe.Error)
|
||||
log.Warn(fmt.Sprintf("subscription cancel failed msg= %s for userID=%d", stripeError.Msg, userID))
|
||||
// ignore if subscription doesn't exist, already deleted
|
||||
if stripeError.HTTPStatusCode != 404 {
|
||||
return stacktrace.Propagate(err, "")
|
||||
}
|
||||
}
|
||||
err = c.BillingRepo.UpdateSubscriptionCancellationStatus(userID, true)
|
||||
if err != nil {
|
||||
return stacktrace.Propagate(err, "")
|
||||
}
|
||||
log.Info("No default payment method found")
|
||||
}
|
||||
return nil
|
||||
return isSEPA
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue