Merge branch 'main' into load_model_perf_improvement
This commit is contained in:
commit
7966c6bbc8
38
.github/workflows/server-publish.yml
vendored
Normal file
38
.github/workflows/server-publish.yml
vendored
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
name: "Publish (server)"
|
||||||
|
|
||||||
|
on:
|
||||||
|
# Run manually, providing it the commit.
|
||||||
|
#
|
||||||
|
# To obtain the commit from the currently deployed museum, do:
|
||||||
|
# curl -s https://api.ente.io/ping | jq -r '.id'
|
||||||
|
#
|
||||||
|
# See server/docs/publish.md for more details.
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
commit:
|
||||||
|
description: "Commit to publish the image from"
|
||||||
|
type: string
|
||||||
|
required: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
publish:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
ref: ${{ inputs.commit }}
|
||||||
|
|
||||||
|
- name: Build and push
|
||||||
|
uses: mr-smithers-excellent/docker-build-push@v6
|
||||||
|
with:
|
||||||
|
dockerfile: server/Dockerfile
|
||||||
|
directory: server
|
||||||
|
# Resultant package name will be ghcr.io/ente-io/server
|
||||||
|
image: server
|
||||||
|
registry: ghcr.io
|
||||||
|
enableBuildKit: true
|
||||||
|
buildArgs: GIT_COMMIT=${{ inputs.commit }}
|
||||||
|
tags: ${{ inputs.commit }}, latest
|
||||||
|
username: ${{ github.actor }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
8
.github/workflows/server-release.yml
vendored
8
.github/workflows/server-release.yml
vendored
|
@ -7,11 +7,11 @@ jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- name: Checkout code
|
||||||
name: Check out code
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- uses: mr-smithers-excellent/docker-build-push@v6
|
- name: Build and push
|
||||||
name: Build & Push
|
uses: mr-smithers-excellent/docker-build-push@v6
|
||||||
with:
|
with:
|
||||||
dockerfile: server/Dockerfile
|
dockerfile: server/Dockerfile
|
||||||
directory: server
|
directory: server
|
||||||
|
|
BIN
docs/docs/photos/migration/export/continuous-sync.webp
Normal file
BIN
docs/docs/photos/migration/export/continuous-sync.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
|
@ -29,8 +29,15 @@ videos you have uploaded to Ente.
|
||||||
|
|
||||||
![Ente - Rexport](export-4.png)
|
![Ente - Rexport](export-4.png)
|
||||||
|
|
||||||
In case your download gets interrupted, Ente will resume from where it left off.
|
6. In case your download gets interrupted, Ente will resume from where it left
|
||||||
Simply select **export data** again and click on **resync**.
|
off. Simply select **export data** again and click on **resync**.
|
||||||
|
|
||||||
|
7. **Sync continuously** : You can utilize Continuous Sync to eliminate manual
|
||||||
|
exports each time new photos are added to Ente. This feature automatically
|
||||||
|
detects new files and runs exports accordingly, It also ensures that exported
|
||||||
|
data reflects the latest album states with new files, moves, and deletions.
|
||||||
|
|
||||||
|
![Ente - Continuous sync](continuous-sync.webp)
|
||||||
|
|
||||||
If you run into any issues during your data export, please reach out to
|
If you run into any issues during your data export, please reach out to
|
||||||
[support@ente.io](mailto:support@ente.io) and we will be happy to help you!
|
[support@ente.io](mailto:support@ente.io) and we will be happy to help you!
|
||||||
|
|
|
@ -24,6 +24,11 @@ cd ente/server
|
||||||
docker compose up --build
|
docker compose up --build
|
||||||
```
|
```
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
>
|
||||||
|
> You can also use a pre-built Docker image from `ghcr.io/ente-io/server` ([More
|
||||||
|
> info](https://github.com/ente-io/ente/blob/main/server/docs/docker.md))
|
||||||
|
|
||||||
Then in a separate terminal, you can run (e.g) the web client
|
Then in a separate terminal, you can run (e.g) the web client
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
@ -42,7 +47,7 @@ For the mobile apps, you don't even need to build, and can install normal Ente
|
||||||
apps and configure them to use your
|
apps and configure them to use your
|
||||||
[custom self-hosted server](guides/custom-server/).
|
[custom self-hosted server](guides/custom-server/).
|
||||||
|
|
||||||
> If you want to build from source, see the instructions
|
> If you want to build the mobile apps from source, see the instructions
|
||||||
> [here](guides/mobile-build).
|
> [here](guides/mobile-build).
|
||||||
|
|
||||||
## Next steps
|
## Next steps
|
||||||
|
|
|
@ -4,7 +4,7 @@ ente 是一个简单的应用程序来备份和分享您的照片和视频。
|
||||||
|
|
||||||
我们在Android、iOS、web 和桌面上有开源应用, 和您的照片将以端到端加密方式 (e2ee) 无缝同步。
|
我们在Android、iOS、web 和桌面上有开源应用, 和您的照片将以端到端加密方式 (e2ee) 无缝同步。
|
||||||
|
|
||||||
ente也使分享相册给自己的爱人、亲人变得轻而易举,即使他们可能并不使用ente。 您可以分享可公开查看的链接,使他们可以查看您的相册,并通过添加照片来协作而不需要注册账户或下载app。 ente也使分享相册给自己的爱人、亲人变得轻而易举,即使他们可能并不使用ente。 您可以分享可公开查看的链接,使他们可以查看您的相册,并通过添加照片来协作而不需要注册账户或下载app。 权限
|
ente也使分享相册给自己的爱人、亲人变得轻而易举,即使他们可能并不使用ente。 您可以分享可公开查看的链接,使他们可以查看您的相册,并通过添加照片来协作而不需要注册账户或下载app。 您可以共享公开可见的链接,他们可以在其中查看您的相册并通过向其中添加照片进行协作,即使没有账户或应用程序也是如此。
|
||||||
|
|
||||||
您的加密数据已复制到三个不同的地点,包括巴黎的一个安全屋。 我们认真对待子孙后代,并确保您的回忆比您长寿。 我们认真对待子孙后代,并确保您的回忆比您长寿。
|
您的加密数据已复制到三个不同的地点,包括巴黎的一个安全屋。 我们认真对待子孙后代,并确保您的回忆比您长寿。 我们认真对待子孙后代,并确保您的回忆比您长寿。
|
||||||
|
|
||||||
|
|
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) =>
|
static String m37(providerName) =>
|
||||||
"Bitte kontaktiere den Support von ${providerName}, falls etwas abgebucht wurde";
|
"Bitte kontaktiere den Support von ${providerName}, falls etwas abgebucht wurde";
|
||||||
|
|
||||||
static String m38(reason) =>
|
static String m38(endDate) =>
|
||||||
"Leider ist deine Zahlung aus folgendem Grund fehlgeschlagen: ${reason}";
|
|
||||||
|
|
||||||
static String m39(endDate) =>
|
|
||||||
"Kostenlose Testversion gültig bis ${endDate}.\nSie können anschließend ein bezahltes Paket auswählen.";
|
"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";
|
"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";
|
"${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')}";
|
"${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)";
|
"${count} ausgewählt (${yourCount} von Ihnen)";
|
||||||
|
|
||||||
static String m49(verificationID) =>
|
static String m48(verificationID) =>
|
||||||
"Hier ist meine Verifizierungs-ID: ${verificationID} für ente.io.";
|
"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}";
|
"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";
|
"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')}";
|
"${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.";
|
"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.";
|
"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.";
|
"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, totalAmount, totalStorageUnit) =>
|
||||||
"${usedAmount} ${usedStorageUnit} von ${totalAmount} ${totalStorageUnit} verwendet";
|
"${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\'";
|
"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";
|
"${completed}/${total} Erinnerungsstücke gesichert";
|
||||||
|
|
||||||
static String m62(storageAmountInGB) =>
|
static String m61(storageAmountInGB) =>
|
||||||
"Diese erhalten auch ${storageAmountInGB} GB";
|
"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')}";
|
"${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";
|
"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')}";
|
"${Intl.plural(count, one: 'vor einem Jahr', other: 'vor ${count} Jahren')}";
|
||||||
|
|
||||||
static String m69(storageSaved) =>
|
static String m68(storageSaved) =>
|
||||||
"Du hast ${storageSaved} erfolgreich freigegeben!";
|
"Du hast ${storageSaved} erfolgreich freigegeben!";
|
||||||
|
|
||||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||||
|
@ -1026,7 +1023,6 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"paymentFailed":
|
"paymentFailed":
|
||||||
MessageLookupByLibrary.simpleMessage("Zahlung fehlgeschlagen"),
|
MessageLookupByLibrary.simpleMessage("Zahlung fehlgeschlagen"),
|
||||||
"paymentFailedTalkToProvider": m37,
|
"paymentFailedTalkToProvider": m37,
|
||||||
"paymentFailedWithReason": m38,
|
|
||||||
"pendingItems":
|
"pendingItems":
|
||||||
MessageLookupByLibrary.simpleMessage("Ausstehende Elemente"),
|
MessageLookupByLibrary.simpleMessage("Ausstehende Elemente"),
|
||||||
"pendingSync":
|
"pendingSync":
|
||||||
|
@ -1053,7 +1049,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"pinAlbum": MessageLookupByLibrary.simpleMessage("Album anheften"),
|
"pinAlbum": MessageLookupByLibrary.simpleMessage("Album anheften"),
|
||||||
"playOnTv": MessageLookupByLibrary.simpleMessage(
|
"playOnTv": MessageLookupByLibrary.simpleMessage(
|
||||||
"Album auf dem Fernseher wiedergeben"),
|
"Album auf dem Fernseher wiedergeben"),
|
||||||
"playStoreFreeTrialValidTill": m39,
|
"playStoreFreeTrialValidTill": m38,
|
||||||
"playstoreSubscription":
|
"playstoreSubscription":
|
||||||
MessageLookupByLibrary.simpleMessage("PlayStore Abo"),
|
MessageLookupByLibrary.simpleMessage("PlayStore Abo"),
|
||||||
"pleaseCheckYourInternetConnectionAndTryAgain":
|
"pleaseCheckYourInternetConnectionAndTryAgain":
|
||||||
|
@ -1065,12 +1061,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"pleaseContactSupportIfTheProblemPersists":
|
"pleaseContactSupportIfTheProblemPersists":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Bitte wenden Sie sich an den Support, falls das Problem weiterhin besteht"),
|
"Bitte wenden Sie sich an den Support, falls das Problem weiterhin besteht"),
|
||||||
"pleaseEmailUsAt": m40,
|
"pleaseEmailUsAt": m39,
|
||||||
"pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage(
|
"pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage(
|
||||||
"Bitte erteile die nötigen Berechtigungen"),
|
"Bitte erteile die nötigen Berechtigungen"),
|
||||||
"pleaseLoginAgain":
|
"pleaseLoginAgain":
|
||||||
MessageLookupByLibrary.simpleMessage("Bitte logge dich erneut ein"),
|
MessageLookupByLibrary.simpleMessage("Bitte logge dich erneut ein"),
|
||||||
"pleaseSendTheLogsTo": m41,
|
"pleaseSendTheLogsTo": m40,
|
||||||
"pleaseTryAgain":
|
"pleaseTryAgain":
|
||||||
MessageLookupByLibrary.simpleMessage("Bitte versuche es erneut"),
|
MessageLookupByLibrary.simpleMessage("Bitte versuche es erneut"),
|
||||||
"pleaseVerifyTheCodeYouHaveEntered":
|
"pleaseVerifyTheCodeYouHaveEntered":
|
||||||
|
@ -1106,7 +1102,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"raiseTicket": MessageLookupByLibrary.simpleMessage("Ticket erstellen"),
|
"raiseTicket": MessageLookupByLibrary.simpleMessage("Ticket erstellen"),
|
||||||
"rateTheApp": MessageLookupByLibrary.simpleMessage("App bewerten"),
|
"rateTheApp": MessageLookupByLibrary.simpleMessage("App bewerten"),
|
||||||
"rateUs": MessageLookupByLibrary.simpleMessage("Bewerte uns"),
|
"rateUs": MessageLookupByLibrary.simpleMessage("Bewerte uns"),
|
||||||
"rateUsOnStore": m42,
|
"rateUsOnStore": m41,
|
||||||
"recover": MessageLookupByLibrary.simpleMessage("Wiederherstellen"),
|
"recover": MessageLookupByLibrary.simpleMessage("Wiederherstellen"),
|
||||||
"recoverAccount":
|
"recoverAccount":
|
||||||
MessageLookupByLibrary.simpleMessage("Konto wiederherstellen"),
|
MessageLookupByLibrary.simpleMessage("Konto wiederherstellen"),
|
||||||
|
@ -1139,7 +1135,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"1. Gib diesen Code an deine Freunde"),
|
"1. Gib diesen Code an deine Freunde"),
|
||||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||||
"2. Sie schließen ein bezahltes Abo ab"),
|
"2. Sie schließen ein bezahltes Abo ab"),
|
||||||
"referralStep3": m43,
|
"referralStep3": m42,
|
||||||
"referrals": MessageLookupByLibrary.simpleMessage("Weiterempfehlungen"),
|
"referrals": MessageLookupByLibrary.simpleMessage("Weiterempfehlungen"),
|
||||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||||
"Einlösungen sind derzeit pausiert"),
|
"Einlösungen sind derzeit pausiert"),
|
||||||
|
@ -1165,7 +1161,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"removeLink": MessageLookupByLibrary.simpleMessage("Link entfernen"),
|
"removeLink": MessageLookupByLibrary.simpleMessage("Link entfernen"),
|
||||||
"removeParticipant":
|
"removeParticipant":
|
||||||
MessageLookupByLibrary.simpleMessage("Teilnehmer entfernen"),
|
MessageLookupByLibrary.simpleMessage("Teilnehmer entfernen"),
|
||||||
"removeParticipantBody": m44,
|
"removeParticipantBody": m43,
|
||||||
"removePublicLink":
|
"removePublicLink":
|
||||||
MessageLookupByLibrary.simpleMessage("Öffentlichen Link entfernen"),
|
MessageLookupByLibrary.simpleMessage("Öffentlichen Link entfernen"),
|
||||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1179,7 +1175,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"renameFile": MessageLookupByLibrary.simpleMessage("Datei umbenennen"),
|
"renameFile": MessageLookupByLibrary.simpleMessage("Datei umbenennen"),
|
||||||
"renewSubscription":
|
"renewSubscription":
|
||||||
MessageLookupByLibrary.simpleMessage("Abonnement erneuern"),
|
MessageLookupByLibrary.simpleMessage("Abonnement erneuern"),
|
||||||
"renewsOn": m45,
|
"renewsOn": m44,
|
||||||
"reportABug": MessageLookupByLibrary.simpleMessage("Fehler melden"),
|
"reportABug": MessageLookupByLibrary.simpleMessage("Fehler melden"),
|
||||||
"reportBug": MessageLookupByLibrary.simpleMessage("Fehler melden"),
|
"reportBug": MessageLookupByLibrary.simpleMessage("Fehler melden"),
|
||||||
"resendEmail":
|
"resendEmail":
|
||||||
|
@ -1242,7 +1238,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"Gruppiere Fotos, die innerhalb des Radius eines bestimmten Fotos aufgenommen wurden"),
|
"Gruppiere Fotos, die innerhalb des Radius eines bestimmten Fotos aufgenommen wurden"),
|
||||||
"searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage(
|
"searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage(
|
||||||
"Laden Sie Personen ein, damit Sie geteilte Fotos hier einsehen können"),
|
"Laden Sie Personen ein, damit Sie geteilte Fotos hier einsehen können"),
|
||||||
"searchResultCount": m46,
|
"searchResultCount": m45,
|
||||||
"security": MessageLookupByLibrary.simpleMessage("Sicherheit"),
|
"security": MessageLookupByLibrary.simpleMessage("Sicherheit"),
|
||||||
"selectALocation":
|
"selectALocation":
|
||||||
MessageLookupByLibrary.simpleMessage("Standort auswählen"),
|
MessageLookupByLibrary.simpleMessage("Standort auswählen"),
|
||||||
|
@ -1269,8 +1265,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Ausgewählte Elemente werden aus allen Alben gelöscht und in den Papierkorb verschoben."),
|
"Ausgewählte Elemente werden aus allen Alben gelöscht und in den Papierkorb verschoben."),
|
||||||
"selectedPhotos": m47,
|
"selectedPhotos": m46,
|
||||||
"selectedPhotosWithYours": m48,
|
"selectedPhotosWithYours": m47,
|
||||||
"send": MessageLookupByLibrary.simpleMessage("Absenden"),
|
"send": MessageLookupByLibrary.simpleMessage("Absenden"),
|
||||||
"sendEmail": MessageLookupByLibrary.simpleMessage("E-Mail senden"),
|
"sendEmail": MessageLookupByLibrary.simpleMessage("E-Mail senden"),
|
||||||
"sendInvite": MessageLookupByLibrary.simpleMessage("Einladung senden"),
|
"sendInvite": MessageLookupByLibrary.simpleMessage("Einladung senden"),
|
||||||
|
@ -1293,16 +1289,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"shareAnAlbumNow":
|
"shareAnAlbumNow":
|
||||||
MessageLookupByLibrary.simpleMessage("Teile jetzt ein Album"),
|
MessageLookupByLibrary.simpleMessage("Teile jetzt ein Album"),
|
||||||
"shareLink": MessageLookupByLibrary.simpleMessage("Link teilen"),
|
"shareLink": MessageLookupByLibrary.simpleMessage("Link teilen"),
|
||||||
"shareMyVerificationID": m49,
|
"shareMyVerificationID": m48,
|
||||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||||
"Teile mit ausgewählten Personen"),
|
"Teile mit ausgewählten Personen"),
|
||||||
"shareTextConfirmOthersVerificationID": m50,
|
"shareTextConfirmOthersVerificationID": m49,
|
||||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||||
"Lade ente herunter, damit wir einfach Fotos und Videos in höchster Qualität teilen können\n\nhttps://ente.io"),
|
"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(
|
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||||
"Mit Nicht-Ente-Benutzern teilen"),
|
"Mit Nicht-Ente-Benutzern teilen"),
|
||||||
"shareWithPeopleSectionTitle": m52,
|
"shareWithPeopleSectionTitle": m51,
|
||||||
"shareYourFirstAlbum":
|
"shareYourFirstAlbum":
|
||||||
MessageLookupByLibrary.simpleMessage("Teile dein erstes Album"),
|
MessageLookupByLibrary.simpleMessage("Teile dein erstes Album"),
|
||||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1313,7 +1309,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("Neue geteilte Fotos"),
|
MessageLookupByLibrary.simpleMessage("Neue geteilte Fotos"),
|
||||||
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||||
"Erhalte Benachrichtigungen, wenn jemand ein Foto zu einem gemeinsam genutzten Album hinzufügt, dem du angehörst"),
|
"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"),
|
"sharedWithMe": MessageLookupByLibrary.simpleMessage("Mit mir geteilt"),
|
||||||
"sharedWithYou":
|
"sharedWithYou":
|
||||||
MessageLookupByLibrary.simpleMessage("Mit dir geteilt"),
|
MessageLookupByLibrary.simpleMessage("Mit dir geteilt"),
|
||||||
|
@ -1328,11 +1324,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("Andere Geräte abmelden"),
|
MessageLookupByLibrary.simpleMessage("Andere Geräte abmelden"),
|
||||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||||
"Ich stimme den <u-terms>Nutzungsbedingungen</u-terms> und der <u-policy>Datenschutzerklärung</u-policy> zu"),
|
"Ich stimme den <u-terms>Nutzungsbedingungen</u-terms> und der <u-policy>Datenschutzerklärung</u-policy> zu"),
|
||||||
"singleFileDeleteFromDevice": m54,
|
"singleFileDeleteFromDevice": m53,
|
||||||
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||||
"Es wird aus allen Alben gelöscht."),
|
"Es wird aus allen Alben gelöscht."),
|
||||||
"singleFileInBothLocalAndRemote": m55,
|
"singleFileInBothLocalAndRemote": m54,
|
||||||
"singleFileInRemoteOnly": m56,
|
"singleFileInRemoteOnly": m55,
|
||||||
"skip": MessageLookupByLibrary.simpleMessage("Überspringen"),
|
"skip": MessageLookupByLibrary.simpleMessage("Überspringen"),
|
||||||
"social": MessageLookupByLibrary.simpleMessage("Social Media"),
|
"social": MessageLookupByLibrary.simpleMessage("Social Media"),
|
||||||
"someItemsAreInBothEnteAndYourDevice":
|
"someItemsAreInBothEnteAndYourDevice":
|
||||||
|
@ -1374,13 +1370,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"storage": MessageLookupByLibrary.simpleMessage("Speicherplatz"),
|
"storage": MessageLookupByLibrary.simpleMessage("Speicherplatz"),
|
||||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Familie"),
|
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Familie"),
|
||||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Sie"),
|
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Sie"),
|
||||||
"storageInGB": m57,
|
"storageInGB": m56,
|
||||||
"storageLimitExceeded": MessageLookupByLibrary.simpleMessage(
|
"storageLimitExceeded": MessageLookupByLibrary.simpleMessage(
|
||||||
"Speichergrenze überschritten"),
|
"Speichergrenze überschritten"),
|
||||||
"storageUsageInfo": m58,
|
"storageUsageInfo": m57,
|
||||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Stark"),
|
"strongStrength": MessageLookupByLibrary.simpleMessage("Stark"),
|
||||||
"subAlreadyLinkedErrMessage": m59,
|
"subAlreadyLinkedErrMessage": m58,
|
||||||
"subWillBeCancelledOn": m60,
|
"subWillBeCancelledOn": m59,
|
||||||
"subscribe": MessageLookupByLibrary.simpleMessage("Abonnieren"),
|
"subscribe": MessageLookupByLibrary.simpleMessage("Abonnieren"),
|
||||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||||
"Sieht aus, als sei dein Abonnement abgelaufen. Bitte abonniere, um das Teilen zu aktivieren."),
|
"Sieht aus, als sei dein Abonnement abgelaufen. Bitte abonniere, um das Teilen zu aktivieren."),
|
||||||
|
@ -1397,7 +1393,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"suggestFeatures":
|
"suggestFeatures":
|
||||||
MessageLookupByLibrary.simpleMessage("Verbesserung vorschlagen"),
|
MessageLookupByLibrary.simpleMessage("Verbesserung vorschlagen"),
|
||||||
"support": MessageLookupByLibrary.simpleMessage("Support"),
|
"support": MessageLookupByLibrary.simpleMessage("Support"),
|
||||||
"syncProgress": m61,
|
"syncProgress": m60,
|
||||||
"syncStopped":
|
"syncStopped":
|
||||||
MessageLookupByLibrary.simpleMessage("Synchronisierung angehalten"),
|
MessageLookupByLibrary.simpleMessage("Synchronisierung angehalten"),
|
||||||
"syncing": MessageLookupByLibrary.simpleMessage("Synchronisiere …"),
|
"syncing": MessageLookupByLibrary.simpleMessage("Synchronisiere …"),
|
||||||
|
@ -1426,7 +1422,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"theseItemsWillBeDeletedFromYourDevice":
|
"theseItemsWillBeDeletedFromYourDevice":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Diese Elemente werden von deinem Gerät gelöscht."),
|
"Diese Elemente werden von deinem Gerät gelöscht."),
|
||||||
"theyAlsoGetXGb": m62,
|
"theyAlsoGetXGb": m61,
|
||||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||||
"Sie werden aus allen Alben gelöscht."),
|
"Sie werden aus allen Alben gelöscht."),
|
||||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1442,7 +1438,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"Diese E-Mail-Adresse wird bereits verwendet"),
|
"Diese E-Mail-Adresse wird bereits verwendet"),
|
||||||
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
||||||
"Dieses Bild hat keine Exif-Daten"),
|
"Dieses Bild hat keine Exif-Daten"),
|
||||||
"thisIsPersonVerificationId": m63,
|
"thisIsPersonVerificationId": m62,
|
||||||
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
||||||
"Dies ist deine Verifizierungs-ID"),
|
"Dies ist deine Verifizierungs-ID"),
|
||||||
"thisWillLogYouOutOfTheFollowingDevice":
|
"thisWillLogYouOutOfTheFollowingDevice":
|
||||||
|
@ -1459,7 +1455,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"total": MessageLookupByLibrary.simpleMessage("Gesamt"),
|
"total": MessageLookupByLibrary.simpleMessage("Gesamt"),
|
||||||
"totalSize": MessageLookupByLibrary.simpleMessage("Gesamtgröße"),
|
"totalSize": MessageLookupByLibrary.simpleMessage("Gesamtgröße"),
|
||||||
"trash": MessageLookupByLibrary.simpleMessage("Papierkorb"),
|
"trash": MessageLookupByLibrary.simpleMessage("Papierkorb"),
|
||||||
"trashDaysLeft": m64,
|
"trashDaysLeft": m63,
|
||||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Erneut versuchen"),
|
"tryAgain": MessageLookupByLibrary.simpleMessage("Erneut versuchen"),
|
||||||
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
||||||
"Aktiviere die Sicherung, um automatisch neu hinzugefügte Dateien dieses Ordners auf ente hochzuladen."),
|
"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"),
|
MessageLookupByLibrary.simpleMessage("Ausgewähltes Foto verwenden"),
|
||||||
"usedSpace":
|
"usedSpace":
|
||||||
MessageLookupByLibrary.simpleMessage("Belegter Speicherplatz"),
|
MessageLookupByLibrary.simpleMessage("Belegter Speicherplatz"),
|
||||||
"validTill": m65,
|
"validTill": m64,
|
||||||
"verificationFailedPleaseTryAgain":
|
"verificationFailedPleaseTryAgain":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Verifizierung fehlgeschlagen, bitte versuchen Sie es erneut"),
|
"Verifizierung fehlgeschlagen, bitte versuchen Sie es erneut"),
|
||||||
|
@ -1523,7 +1519,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"verify": MessageLookupByLibrary.simpleMessage("Überprüfen"),
|
"verify": MessageLookupByLibrary.simpleMessage("Überprüfen"),
|
||||||
"verifyEmail":
|
"verifyEmail":
|
||||||
MessageLookupByLibrary.simpleMessage("E-Mail-Adresse verifizieren"),
|
MessageLookupByLibrary.simpleMessage("E-Mail-Adresse verifizieren"),
|
||||||
"verifyEmailID": m66,
|
"verifyEmailID": m65,
|
||||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Überprüfen"),
|
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Überprüfen"),
|
||||||
"verifyPasskey":
|
"verifyPasskey":
|
||||||
MessageLookupByLibrary.simpleMessage("Passkey verifizieren"),
|
MessageLookupByLibrary.simpleMessage("Passkey verifizieren"),
|
||||||
|
@ -1556,12 +1552,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Wir unterstützen keine Bearbeitung von Fotos und Alben, die du noch nicht besitzt"),
|
"Wir unterstützen keine Bearbeitung von Fotos und Alben, die du noch nicht besitzt"),
|
||||||
"weHaveSendEmailTo": m67,
|
"weHaveSendEmailTo": m66,
|
||||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Schwach"),
|
"weakStrength": MessageLookupByLibrary.simpleMessage("Schwach"),
|
||||||
"welcomeBack":
|
"welcomeBack":
|
||||||
MessageLookupByLibrary.simpleMessage("Willkommen zurück!"),
|
MessageLookupByLibrary.simpleMessage("Willkommen zurück!"),
|
||||||
"yearly": MessageLookupByLibrary.simpleMessage("Jährlich"),
|
"yearly": MessageLookupByLibrary.simpleMessage("Jährlich"),
|
||||||
"yearsAgo": m68,
|
"yearsAgo": m67,
|
||||||
"yes": MessageLookupByLibrary.simpleMessage("Ja"),
|
"yes": MessageLookupByLibrary.simpleMessage("Ja"),
|
||||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Ja, kündigen"),
|
"yesCancel": MessageLookupByLibrary.simpleMessage("Ja, kündigen"),
|
||||||
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage(
|
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1591,7 +1587,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"Du kannst nicht mit dir selbst teilen"),
|
"Du kannst nicht mit dir selbst teilen"),
|
||||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||||
"Du hast keine archivierten Elemente."),
|
"Du hast keine archivierten Elemente."),
|
||||||
"youHaveSuccessfullyFreedUp": m69,
|
"youHaveSuccessfullyFreedUp": m68,
|
||||||
"yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage(
|
"yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage(
|
||||||
"Dein Benutzerkonto wurde gelöscht"),
|
"Dein Benutzerkonto wurde gelöscht"),
|
||||||
"yourMap": MessageLookupByLibrary.simpleMessage("Deine Karte"),
|
"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) =>
|
static String m37(providerName) =>
|
||||||
"Please talk to ${providerName} support if you were charged";
|
"Please talk to ${providerName} support if you were charged";
|
||||||
|
|
||||||
static String m38(reason) =>
|
static String m38(endDate) =>
|
||||||
"Unfortunately your payment failed due to ${reason}";
|
|
||||||
|
|
||||||
static String m39(endDate) =>
|
|
||||||
"Free trial valid till ${endDate}.\nYou can choose a paid plan afterwards.";
|
"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";
|
"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";
|
"${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')}";
|
"${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)";
|
"${count} selected (${yourCount} yours)";
|
||||||
|
|
||||||
static String m49(verificationID) =>
|
static String m48(verificationID) =>
|
||||||
"Here\'s my verification ID: ${verificationID} for ente.io.";
|
"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}";
|
"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";
|
"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')}";
|
"${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.";
|
"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.";
|
"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, totalAmount, totalStorageUnit) =>
|
||||||
"${usedAmount} ${usedStorageUnit} of ${totalAmount} ${totalStorageUnit} used";
|
"${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\'\'";
|
"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}";
|
"Your subscription will be cancelled on ${endDate}";
|
||||||
|
|
||||||
static String m61(completed, total) =>
|
static String m60(completed, total) =>
|
||||||
"${completed}/${total} memories preserved";
|
"${completed}/${total} memories preserved";
|
||||||
|
|
||||||
static String m62(storageAmountInGB) =>
|
static String m61(storageAmountInGB) =>
|
||||||
"They also get ${storageAmountInGB} GB";
|
"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')}";
|
"${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')}";
|
"${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}!";
|
"You have successfully freed up ${storageSaved}!";
|
||||||
|
|
||||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||||
|
@ -982,8 +979,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"paymentDetails":
|
"paymentDetails":
|
||||||
MessageLookupByLibrary.simpleMessage("Payment details"),
|
MessageLookupByLibrary.simpleMessage("Payment details"),
|
||||||
"paymentFailed": MessageLookupByLibrary.simpleMessage("Payment failed"),
|
"paymentFailed": MessageLookupByLibrary.simpleMessage("Payment failed"),
|
||||||
|
"paymentFailedMessage": MessageLookupByLibrary.simpleMessage(
|
||||||
|
"Unfortunately your payment failed. Please contact support and we\'ll help you out!"),
|
||||||
"paymentFailedTalkToProvider": m37,
|
"paymentFailedTalkToProvider": m37,
|
||||||
"paymentFailedWithReason": m38,
|
|
||||||
"pendingItems": MessageLookupByLibrary.simpleMessage("Pending items"),
|
"pendingItems": MessageLookupByLibrary.simpleMessage("Pending items"),
|
||||||
"pendingSync": MessageLookupByLibrary.simpleMessage("Pending sync"),
|
"pendingSync": MessageLookupByLibrary.simpleMessage("Pending sync"),
|
||||||
"peopleUsingYourCode":
|
"peopleUsingYourCode":
|
||||||
|
@ -1007,7 +1005,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("Pick center point"),
|
MessageLookupByLibrary.simpleMessage("Pick center point"),
|
||||||
"pinAlbum": MessageLookupByLibrary.simpleMessage("Pin album"),
|
"pinAlbum": MessageLookupByLibrary.simpleMessage("Pin album"),
|
||||||
"playOnTv": MessageLookupByLibrary.simpleMessage("Play album on TV"),
|
"playOnTv": MessageLookupByLibrary.simpleMessage("Play album on TV"),
|
||||||
"playStoreFreeTrialValidTill": m39,
|
"playStoreFreeTrialValidTill": m38,
|
||||||
"playstoreSubscription":
|
"playstoreSubscription":
|
||||||
MessageLookupByLibrary.simpleMessage("PlayStore subscription"),
|
MessageLookupByLibrary.simpleMessage("PlayStore subscription"),
|
||||||
"pleaseCheckYourInternetConnectionAndTryAgain":
|
"pleaseCheckYourInternetConnectionAndTryAgain":
|
||||||
|
@ -1019,12 +1017,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"pleaseContactSupportIfTheProblemPersists":
|
"pleaseContactSupportIfTheProblemPersists":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Please contact support if the problem persists"),
|
"Please contact support if the problem persists"),
|
||||||
"pleaseEmailUsAt": m40,
|
"pleaseEmailUsAt": m39,
|
||||||
"pleaseGrantPermissions":
|
"pleaseGrantPermissions":
|
||||||
MessageLookupByLibrary.simpleMessage("Please grant permissions"),
|
MessageLookupByLibrary.simpleMessage("Please grant permissions"),
|
||||||
"pleaseLoginAgain":
|
"pleaseLoginAgain":
|
||||||
MessageLookupByLibrary.simpleMessage("Please login again"),
|
MessageLookupByLibrary.simpleMessage("Please login again"),
|
||||||
"pleaseSendTheLogsTo": m41,
|
"pleaseSendTheLogsTo": m40,
|
||||||
"pleaseTryAgain":
|
"pleaseTryAgain":
|
||||||
MessageLookupByLibrary.simpleMessage("Please try again"),
|
MessageLookupByLibrary.simpleMessage("Please try again"),
|
||||||
"pleaseVerifyTheCodeYouHaveEntered":
|
"pleaseVerifyTheCodeYouHaveEntered":
|
||||||
|
@ -1059,7 +1057,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"raiseTicket": MessageLookupByLibrary.simpleMessage("Raise ticket"),
|
"raiseTicket": MessageLookupByLibrary.simpleMessage("Raise ticket"),
|
||||||
"rateTheApp": MessageLookupByLibrary.simpleMessage("Rate the app"),
|
"rateTheApp": MessageLookupByLibrary.simpleMessage("Rate the app"),
|
||||||
"rateUs": MessageLookupByLibrary.simpleMessage("Rate us"),
|
"rateUs": MessageLookupByLibrary.simpleMessage("Rate us"),
|
||||||
"rateUsOnStore": m42,
|
"rateUsOnStore": m41,
|
||||||
"recover": MessageLookupByLibrary.simpleMessage("Recover"),
|
"recover": MessageLookupByLibrary.simpleMessage("Recover"),
|
||||||
"recoverAccount":
|
"recoverAccount":
|
||||||
MessageLookupByLibrary.simpleMessage("Recover account"),
|
MessageLookupByLibrary.simpleMessage("Recover account"),
|
||||||
|
@ -1090,7 +1088,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"1. Give this code to your friends"),
|
"1. Give this code to your friends"),
|
||||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||||
"2. They sign up for a paid plan"),
|
"2. They sign up for a paid plan"),
|
||||||
"referralStep3": m43,
|
"referralStep3": m42,
|
||||||
"referrals": MessageLookupByLibrary.simpleMessage("Referrals"),
|
"referrals": MessageLookupByLibrary.simpleMessage("Referrals"),
|
||||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||||
"Referrals are currently paused"),
|
"Referrals are currently paused"),
|
||||||
|
@ -1114,7 +1112,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"removeLink": MessageLookupByLibrary.simpleMessage("Remove link"),
|
"removeLink": MessageLookupByLibrary.simpleMessage("Remove link"),
|
||||||
"removeParticipant":
|
"removeParticipant":
|
||||||
MessageLookupByLibrary.simpleMessage("Remove participant"),
|
MessageLookupByLibrary.simpleMessage("Remove participant"),
|
||||||
"removeParticipantBody": m44,
|
"removeParticipantBody": m43,
|
||||||
"removePublicLink":
|
"removePublicLink":
|
||||||
MessageLookupByLibrary.simpleMessage("Remove public link"),
|
MessageLookupByLibrary.simpleMessage("Remove public link"),
|
||||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1128,7 +1126,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"renameFile": MessageLookupByLibrary.simpleMessage("Rename file"),
|
"renameFile": MessageLookupByLibrary.simpleMessage("Rename file"),
|
||||||
"renewSubscription":
|
"renewSubscription":
|
||||||
MessageLookupByLibrary.simpleMessage("Renew subscription"),
|
MessageLookupByLibrary.simpleMessage("Renew subscription"),
|
||||||
"renewsOn": m45,
|
"renewsOn": m44,
|
||||||
"reportABug": MessageLookupByLibrary.simpleMessage("Report a bug"),
|
"reportABug": MessageLookupByLibrary.simpleMessage("Report a bug"),
|
||||||
"reportBug": MessageLookupByLibrary.simpleMessage("Report bug"),
|
"reportBug": MessageLookupByLibrary.simpleMessage("Report bug"),
|
||||||
"resendEmail": MessageLookupByLibrary.simpleMessage("Resend email"),
|
"resendEmail": MessageLookupByLibrary.simpleMessage("Resend email"),
|
||||||
|
@ -1188,7 +1186,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"Group photos that are taken within some radius of a photo"),
|
"Group photos that are taken within some radius of a photo"),
|
||||||
"searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage(
|
"searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage(
|
||||||
"Invite people, and you\'ll see all photos shared by them here"),
|
"Invite people, and you\'ll see all photos shared by them here"),
|
||||||
"searchResultCount": m46,
|
"searchResultCount": m45,
|
||||||
"security": MessageLookupByLibrary.simpleMessage("Security"),
|
"security": MessageLookupByLibrary.simpleMessage("Security"),
|
||||||
"selectALocation":
|
"selectALocation":
|
||||||
MessageLookupByLibrary.simpleMessage("Select a location"),
|
MessageLookupByLibrary.simpleMessage("Select a location"),
|
||||||
|
@ -1215,8 +1213,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Selected items will be deleted from all albums and moved to trash."),
|
"Selected items will be deleted from all albums and moved to trash."),
|
||||||
"selectedPhotos": m47,
|
"selectedPhotos": m46,
|
||||||
"selectedPhotosWithYours": m48,
|
"selectedPhotosWithYours": m47,
|
||||||
"send": MessageLookupByLibrary.simpleMessage("Send"),
|
"send": MessageLookupByLibrary.simpleMessage("Send"),
|
||||||
"sendEmail": MessageLookupByLibrary.simpleMessage("Send email"),
|
"sendEmail": MessageLookupByLibrary.simpleMessage("Send email"),
|
||||||
"sendInvite": MessageLookupByLibrary.simpleMessage("Send invite"),
|
"sendInvite": MessageLookupByLibrary.simpleMessage("Send invite"),
|
||||||
|
@ -1238,16 +1236,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"shareAnAlbumNow":
|
"shareAnAlbumNow":
|
||||||
MessageLookupByLibrary.simpleMessage("Share an album now"),
|
MessageLookupByLibrary.simpleMessage("Share an album now"),
|
||||||
"shareLink": MessageLookupByLibrary.simpleMessage("Share link"),
|
"shareLink": MessageLookupByLibrary.simpleMessage("Share link"),
|
||||||
"shareMyVerificationID": m49,
|
"shareMyVerificationID": m48,
|
||||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||||
"Share only with the people you want"),
|
"Share only with the people you want"),
|
||||||
"shareTextConfirmOthersVerificationID": m50,
|
"shareTextConfirmOthersVerificationID": m49,
|
||||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||||
"Download ente so we can easily share original quality photos and videos\n\nhttps://ente.io"),
|
"Download ente so we can easily share original quality photos and videos\n\nhttps://ente.io"),
|
||||||
"shareTextReferralCode": m51,
|
"shareTextReferralCode": m50,
|
||||||
"shareWithNonenteUsers":
|
"shareWithNonenteUsers":
|
||||||
MessageLookupByLibrary.simpleMessage("Share with non-ente users"),
|
MessageLookupByLibrary.simpleMessage("Share with non-ente users"),
|
||||||
"shareWithPeopleSectionTitle": m52,
|
"shareWithPeopleSectionTitle": m51,
|
||||||
"shareYourFirstAlbum":
|
"shareYourFirstAlbum":
|
||||||
MessageLookupByLibrary.simpleMessage("Share your first album"),
|
MessageLookupByLibrary.simpleMessage("Share your first album"),
|
||||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1258,7 +1256,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("New shared photos"),
|
MessageLookupByLibrary.simpleMessage("New shared photos"),
|
||||||
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||||
"Receive notifications when someone adds a photo to a shared album that you\'re a part of"),
|
"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"),
|
"sharedWithMe": MessageLookupByLibrary.simpleMessage("Shared with me"),
|
||||||
"sharedWithYou":
|
"sharedWithYou":
|
||||||
MessageLookupByLibrary.simpleMessage("Shared with you"),
|
MessageLookupByLibrary.simpleMessage("Shared with you"),
|
||||||
|
@ -1272,11 +1270,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("Sign out other devices"),
|
MessageLookupByLibrary.simpleMessage("Sign out other devices"),
|
||||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||||
"I agree to the <u-terms>terms of service</u-terms> and <u-policy>privacy policy</u-policy>"),
|
"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(
|
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||||
"It will be deleted from all albums."),
|
"It will be deleted from all albums."),
|
||||||
"singleFileInBothLocalAndRemote": m55,
|
"singleFileInBothLocalAndRemote": m54,
|
||||||
"singleFileInRemoteOnly": m56,
|
"singleFileInRemoteOnly": m55,
|
||||||
"skip": MessageLookupByLibrary.simpleMessage("Skip"),
|
"skip": MessageLookupByLibrary.simpleMessage("Skip"),
|
||||||
"social": MessageLookupByLibrary.simpleMessage("Social"),
|
"social": MessageLookupByLibrary.simpleMessage("Social"),
|
||||||
"someItemsAreInBothEnteAndYourDevice":
|
"someItemsAreInBothEnteAndYourDevice":
|
||||||
|
@ -1314,13 +1312,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"storage": MessageLookupByLibrary.simpleMessage("Storage"),
|
"storage": MessageLookupByLibrary.simpleMessage("Storage"),
|
||||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Family"),
|
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Family"),
|
||||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("You"),
|
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("You"),
|
||||||
"storageInGB": m57,
|
"storageInGB": m56,
|
||||||
"storageLimitExceeded":
|
"storageLimitExceeded":
|
||||||
MessageLookupByLibrary.simpleMessage("Storage limit exceeded"),
|
MessageLookupByLibrary.simpleMessage("Storage limit exceeded"),
|
||||||
"storageUsageInfo": m58,
|
"storageUsageInfo": m57,
|
||||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Strong"),
|
"strongStrength": MessageLookupByLibrary.simpleMessage("Strong"),
|
||||||
"subAlreadyLinkedErrMessage": m59,
|
"subAlreadyLinkedErrMessage": m58,
|
||||||
"subWillBeCancelledOn": m60,
|
"subWillBeCancelledOn": m59,
|
||||||
"subscribe": MessageLookupByLibrary.simpleMessage("Subscribe"),
|
"subscribe": MessageLookupByLibrary.simpleMessage("Subscribe"),
|
||||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||||
"Looks like your subscription has expired. Please subscribe to enable sharing."),
|
"Looks like your subscription has expired. Please subscribe to enable sharing."),
|
||||||
|
@ -1337,7 +1335,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"suggestFeatures":
|
"suggestFeatures":
|
||||||
MessageLookupByLibrary.simpleMessage("Suggest features"),
|
MessageLookupByLibrary.simpleMessage("Suggest features"),
|
||||||
"support": MessageLookupByLibrary.simpleMessage("Support"),
|
"support": MessageLookupByLibrary.simpleMessage("Support"),
|
||||||
"syncProgress": m61,
|
"syncProgress": m60,
|
||||||
"syncStopped": MessageLookupByLibrary.simpleMessage("Sync stopped"),
|
"syncStopped": MessageLookupByLibrary.simpleMessage("Sync stopped"),
|
||||||
"syncing": MessageLookupByLibrary.simpleMessage("Syncing..."),
|
"syncing": MessageLookupByLibrary.simpleMessage("Syncing..."),
|
||||||
"systemTheme": MessageLookupByLibrary.simpleMessage("System"),
|
"systemTheme": MessageLookupByLibrary.simpleMessage("System"),
|
||||||
|
@ -1363,7 +1361,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"theseItemsWillBeDeletedFromYourDevice":
|
"theseItemsWillBeDeletedFromYourDevice":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"These items will be deleted from your device."),
|
"These items will be deleted from your device."),
|
||||||
"theyAlsoGetXGb": m62,
|
"theyAlsoGetXGb": m61,
|
||||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||||
"They will be deleted from all albums."),
|
"They will be deleted from all albums."),
|
||||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1379,7 +1377,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"This email is already in use"),
|
"This email is already in use"),
|
||||||
"thisImageHasNoExifData":
|
"thisImageHasNoExifData":
|
||||||
MessageLookupByLibrary.simpleMessage("This image has no exif data"),
|
MessageLookupByLibrary.simpleMessage("This image has no exif data"),
|
||||||
"thisIsPersonVerificationId": m63,
|
"thisIsPersonVerificationId": m62,
|
||||||
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
||||||
"This is your Verification ID"),
|
"This is your Verification ID"),
|
||||||
"thisWillLogYouOutOfTheFollowingDevice":
|
"thisWillLogYouOutOfTheFollowingDevice":
|
||||||
|
@ -1395,7 +1393,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"total": MessageLookupByLibrary.simpleMessage("total"),
|
"total": MessageLookupByLibrary.simpleMessage("total"),
|
||||||
"totalSize": MessageLookupByLibrary.simpleMessage("Total size"),
|
"totalSize": MessageLookupByLibrary.simpleMessage("Total size"),
|
||||||
"trash": MessageLookupByLibrary.simpleMessage("Trash"),
|
"trash": MessageLookupByLibrary.simpleMessage("Trash"),
|
||||||
"trashDaysLeft": m64,
|
"trashDaysLeft": m63,
|
||||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Try again"),
|
"tryAgain": MessageLookupByLibrary.simpleMessage("Try again"),
|
||||||
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
||||||
"Turn on backup to automatically upload files added to this device folder to ente."),
|
"Turn on backup to automatically upload files added to this device folder to ente."),
|
||||||
|
@ -1447,7 +1445,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"useSelectedPhoto":
|
"useSelectedPhoto":
|
||||||
MessageLookupByLibrary.simpleMessage("Use selected photo"),
|
MessageLookupByLibrary.simpleMessage("Use selected photo"),
|
||||||
"usedSpace": MessageLookupByLibrary.simpleMessage("Used space"),
|
"usedSpace": MessageLookupByLibrary.simpleMessage("Used space"),
|
||||||
"validTill": m65,
|
"validTill": m64,
|
||||||
"verificationFailedPleaseTryAgain":
|
"verificationFailedPleaseTryAgain":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Verification failed, please try again"),
|
"Verification failed, please try again"),
|
||||||
|
@ -1455,7 +1453,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("Verification ID"),
|
MessageLookupByLibrary.simpleMessage("Verification ID"),
|
||||||
"verify": MessageLookupByLibrary.simpleMessage("Verify"),
|
"verify": MessageLookupByLibrary.simpleMessage("Verify"),
|
||||||
"verifyEmail": MessageLookupByLibrary.simpleMessage("Verify email"),
|
"verifyEmail": MessageLookupByLibrary.simpleMessage("Verify email"),
|
||||||
"verifyEmailID": m66,
|
"verifyEmailID": m65,
|
||||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verify"),
|
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verify"),
|
||||||
"verifyPasskey": MessageLookupByLibrary.simpleMessage("Verify passkey"),
|
"verifyPasskey": MessageLookupByLibrary.simpleMessage("Verify passkey"),
|
||||||
"verifyPassword":
|
"verifyPassword":
|
||||||
|
@ -1486,11 +1484,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"We don\'t support editing photos and albums that you don\'t own yet"),
|
"We don\'t support editing photos and albums that you don\'t own yet"),
|
||||||
"weHaveSendEmailTo": m67,
|
"weHaveSendEmailTo": m66,
|
||||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Weak"),
|
"weakStrength": MessageLookupByLibrary.simpleMessage("Weak"),
|
||||||
"welcomeBack": MessageLookupByLibrary.simpleMessage("Welcome back!"),
|
"welcomeBack": MessageLookupByLibrary.simpleMessage("Welcome back!"),
|
||||||
"yearly": MessageLookupByLibrary.simpleMessage("Yearly"),
|
"yearly": MessageLookupByLibrary.simpleMessage("Yearly"),
|
||||||
"yearsAgo": m68,
|
"yearsAgo": m67,
|
||||||
"yes": MessageLookupByLibrary.simpleMessage("Yes"),
|
"yes": MessageLookupByLibrary.simpleMessage("Yes"),
|
||||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Yes, cancel"),
|
"yesCancel": MessageLookupByLibrary.simpleMessage("Yes, cancel"),
|
||||||
"yesConvertToViewer":
|
"yesConvertToViewer":
|
||||||
|
@ -1520,7 +1518,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"You cannot share with yourself"),
|
"You cannot share with yourself"),
|
||||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||||
"You don\'t have any archived items."),
|
"You don\'t have any archived items."),
|
||||||
"youHaveSuccessfullyFreedUp": m69,
|
"youHaveSuccessfullyFreedUp": m68,
|
||||||
"yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage(
|
"yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage(
|
||||||
"Your account has been deleted"),
|
"Your account has been deleted"),
|
||||||
"yourMap": MessageLookupByLibrary.simpleMessage("Your map"),
|
"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) =>
|
static String m37(providerName) =>
|
||||||
"Por favor hable con el soporte de ${providerName} si se le cobró";
|
"Por favor hable con el soporte de ${providerName} si se le cobró";
|
||||||
|
|
||||||
static String m38(reason) =>
|
static String m39(toEmail) =>
|
||||||
"Lamentablemente tu pago falló debido a ${reason}";
|
|
||||||
|
|
||||||
static String m40(toEmail) =>
|
|
||||||
"Por favor, envíanos un correo electrónico a ${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";
|
"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";
|
"${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)";
|
"${count} seleccionados (${yourCount} tuyos)";
|
||||||
|
|
||||||
static String m49(verificationID) =>
|
static String m48(verificationID) =>
|
||||||
"Aquí está mi ID de verificación: ${verificationID} para ente.io.";
|
"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}?";
|
"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";
|
"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')}";
|
"${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.";
|
"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.";
|
"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, totalAmount, totalStorageUnit) =>
|
||||||
"${usedAmount} ${usedStorageUnit} de ${totalAmount} ${totalStorageUnit} usados";
|
"${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\'\'";
|
"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";
|
"${completed}/${total} recuerdos conservados";
|
||||||
|
|
||||||
static String m62(storageAmountInGB) =>
|
static String m61(storageAmountInGB) =>
|
||||||
"También obtienen ${storageAmountInGB} GB";
|
"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>";
|
"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')}";
|
"${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);
|
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
||||||
|
@ -875,7 +872,6 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("Detalles de pago"),
|
MessageLookupByLibrary.simpleMessage("Detalles de pago"),
|
||||||
"paymentFailed": MessageLookupByLibrary.simpleMessage("Pago fallido"),
|
"paymentFailed": MessageLookupByLibrary.simpleMessage("Pago fallido"),
|
||||||
"paymentFailedTalkToProvider": m37,
|
"paymentFailedTalkToProvider": m37,
|
||||||
"paymentFailedWithReason": m38,
|
|
||||||
"pendingSync":
|
"pendingSync":
|
||||||
MessageLookupByLibrary.simpleMessage("Sincronización pendiente"),
|
MessageLookupByLibrary.simpleMessage("Sincronización pendiente"),
|
||||||
"peopleUsingYourCode":
|
"peopleUsingYourCode":
|
||||||
|
@ -902,12 +898,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"pleaseContactSupportIfTheProblemPersists":
|
"pleaseContactSupportIfTheProblemPersists":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Por favor contacte a soporte técnico si el problema persiste"),
|
"Por favor contacte a soporte técnico si el problema persiste"),
|
||||||
"pleaseEmailUsAt": m40,
|
"pleaseEmailUsAt": m39,
|
||||||
"pleaseGrantPermissions":
|
"pleaseGrantPermissions":
|
||||||
MessageLookupByLibrary.simpleMessage("Por favor, concede permiso"),
|
MessageLookupByLibrary.simpleMessage("Por favor, concede permiso"),
|
||||||
"pleaseLoginAgain": MessageLookupByLibrary.simpleMessage(
|
"pleaseLoginAgain": MessageLookupByLibrary.simpleMessage(
|
||||||
"Por favor, vuelva a iniciar sesión"),
|
"Por favor, vuelva a iniciar sesión"),
|
||||||
"pleaseSendTheLogsTo": m41,
|
"pleaseSendTheLogsTo": m40,
|
||||||
"pleaseTryAgain": MessageLookupByLibrary.simpleMessage(
|
"pleaseTryAgain": MessageLookupByLibrary.simpleMessage(
|
||||||
"Por favor, inténtalo nuevamente"),
|
"Por favor, inténtalo nuevamente"),
|
||||||
"pleaseVerifyTheCodeYouHaveEntered":
|
"pleaseVerifyTheCodeYouHaveEntered":
|
||||||
|
@ -941,7 +937,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"rateTheApp":
|
"rateTheApp":
|
||||||
MessageLookupByLibrary.simpleMessage("Evalúa la aplicación"),
|
MessageLookupByLibrary.simpleMessage("Evalúa la aplicación"),
|
||||||
"rateUs": MessageLookupByLibrary.simpleMessage("Califícanos"),
|
"rateUs": MessageLookupByLibrary.simpleMessage("Califícanos"),
|
||||||
"rateUsOnStore": m42,
|
"rateUsOnStore": m41,
|
||||||
"recover": MessageLookupByLibrary.simpleMessage("Recuperar"),
|
"recover": MessageLookupByLibrary.simpleMessage("Recuperar"),
|
||||||
"recoverAccount":
|
"recoverAccount":
|
||||||
MessageLookupByLibrary.simpleMessage("Recuperar cuenta"),
|
MessageLookupByLibrary.simpleMessage("Recuperar cuenta"),
|
||||||
|
@ -973,7 +969,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"1. Dale este código a tus amigos"),
|
"1. Dale este código a tus amigos"),
|
||||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||||
"2. Se inscriben a un plan pagado"),
|
"2. Se inscriben a un plan pagado"),
|
||||||
"referralStep3": m43,
|
"referralStep3": m42,
|
||||||
"referrals": MessageLookupByLibrary.simpleMessage("Referidos"),
|
"referrals": MessageLookupByLibrary.simpleMessage("Referidos"),
|
||||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||||
"Las referencias están actualmente en pausa"),
|
"Las referencias están actualmente en pausa"),
|
||||||
|
@ -998,7 +994,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"removeLink": MessageLookupByLibrary.simpleMessage("Eliminar enlace"),
|
"removeLink": MessageLookupByLibrary.simpleMessage("Eliminar enlace"),
|
||||||
"removeParticipant":
|
"removeParticipant":
|
||||||
MessageLookupByLibrary.simpleMessage("Quitar participante"),
|
MessageLookupByLibrary.simpleMessage("Quitar participante"),
|
||||||
"removeParticipantBody": m44,
|
"removeParticipantBody": m43,
|
||||||
"removePublicLink":
|
"removePublicLink":
|
||||||
MessageLookupByLibrary.simpleMessage("Quitar enlace público"),
|
MessageLookupByLibrary.simpleMessage("Quitar enlace público"),
|
||||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1012,7 +1008,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"renameFile": MessageLookupByLibrary.simpleMessage("Renombrar archivo"),
|
"renameFile": MessageLookupByLibrary.simpleMessage("Renombrar archivo"),
|
||||||
"renewSubscription":
|
"renewSubscription":
|
||||||
MessageLookupByLibrary.simpleMessage("Renovar suscripción"),
|
MessageLookupByLibrary.simpleMessage("Renovar suscripción"),
|
||||||
"renewsOn": m45,
|
"renewsOn": m44,
|
||||||
"reportABug": MessageLookupByLibrary.simpleMessage("Reportar un error"),
|
"reportABug": MessageLookupByLibrary.simpleMessage("Reportar un error"),
|
||||||
"reportBug": MessageLookupByLibrary.simpleMessage("Reportar error"),
|
"reportBug": MessageLookupByLibrary.simpleMessage("Reportar error"),
|
||||||
"resendEmail":
|
"resendEmail":
|
||||||
|
@ -1074,8 +1070,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Los archivos seleccionados serán eliminados de todos los álbumes y movidos a la papelera."),
|
"Los archivos seleccionados serán eliminados de todos los álbumes y movidos a la papelera."),
|
||||||
"selectedPhotos": m47,
|
"selectedPhotos": m46,
|
||||||
"selectedPhotosWithYours": m48,
|
"selectedPhotosWithYours": m47,
|
||||||
"send": MessageLookupByLibrary.simpleMessage("Enviar"),
|
"send": MessageLookupByLibrary.simpleMessage("Enviar"),
|
||||||
"sendEmail":
|
"sendEmail":
|
||||||
MessageLookupByLibrary.simpleMessage("Enviar correo electrónico"),
|
MessageLookupByLibrary.simpleMessage("Enviar correo electrónico"),
|
||||||
|
@ -1100,32 +1096,32 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"shareAnAlbumNow":
|
"shareAnAlbumNow":
|
||||||
MessageLookupByLibrary.simpleMessage("Compartir un álbum ahora"),
|
MessageLookupByLibrary.simpleMessage("Compartir un álbum ahora"),
|
||||||
"shareLink": MessageLookupByLibrary.simpleMessage("Compartir enlace"),
|
"shareLink": MessageLookupByLibrary.simpleMessage("Compartir enlace"),
|
||||||
"shareMyVerificationID": m49,
|
"shareMyVerificationID": m48,
|
||||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||||
"Comparte sólo con la gente que quieres"),
|
"Comparte sólo con la gente que quieres"),
|
||||||
"shareTextConfirmOthersVerificationID": m50,
|
"shareTextConfirmOthersVerificationID": m49,
|
||||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||||
"Descarga ente para que podamos compartir fácilmente fotos y videos en su calidad original\n\nhttps://ente.io"),
|
"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(
|
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||||
"Compartir con usuarios no ente"),
|
"Compartir con usuarios no ente"),
|
||||||
"shareWithPeopleSectionTitle": m52,
|
"shareWithPeopleSectionTitle": m51,
|
||||||
"shareYourFirstAlbum":
|
"shareYourFirstAlbum":
|
||||||
MessageLookupByLibrary.simpleMessage("Comparte tu primer álbum"),
|
MessageLookupByLibrary.simpleMessage("Comparte tu primer álbum"),
|
||||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||||
"Crear álbumes compartidos y colaborativos con otros usuarios ente, incluyendo usuarios en planes gratuitos."),
|
"Crear álbumes compartidos y colaborativos con otros usuarios ente, incluyendo usuarios en planes gratuitos."),
|
||||||
"sharedByMe": MessageLookupByLibrary.simpleMessage("Compartido por mí"),
|
"sharedByMe": MessageLookupByLibrary.simpleMessage("Compartido por mí"),
|
||||||
"sharedWith": m53,
|
"sharedWith": m52,
|
||||||
"sharedWithMe":
|
"sharedWithMe":
|
||||||
MessageLookupByLibrary.simpleMessage("Compartido conmigo"),
|
MessageLookupByLibrary.simpleMessage("Compartido conmigo"),
|
||||||
"sharing": MessageLookupByLibrary.simpleMessage("Compartiendo..."),
|
"sharing": MessageLookupByLibrary.simpleMessage("Compartiendo..."),
|
||||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
"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>"),
|
"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(
|
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||||
"Se borrará de todos los álbumes."),
|
"Se borrará de todos los álbumes."),
|
||||||
"singleFileInBothLocalAndRemote": m55,
|
"singleFileInBothLocalAndRemote": m54,
|
||||||
"singleFileInRemoteOnly": m56,
|
"singleFileInRemoteOnly": m55,
|
||||||
"skip": MessageLookupByLibrary.simpleMessage("Omitir"),
|
"skip": MessageLookupByLibrary.simpleMessage("Omitir"),
|
||||||
"social": MessageLookupByLibrary.simpleMessage("Social"),
|
"social": MessageLookupByLibrary.simpleMessage("Social"),
|
||||||
"someItemsAreInBothEnteAndYourDevice":
|
"someItemsAreInBothEnteAndYourDevice":
|
||||||
|
@ -1160,13 +1156,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"storage": MessageLookupByLibrary.simpleMessage("Almacenamiento"),
|
"storage": MessageLookupByLibrary.simpleMessage("Almacenamiento"),
|
||||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Familia"),
|
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Familia"),
|
||||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Usted"),
|
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Usted"),
|
||||||
"storageInGB": m57,
|
"storageInGB": m56,
|
||||||
"storageLimitExceeded":
|
"storageLimitExceeded":
|
||||||
MessageLookupByLibrary.simpleMessage("Límite de datos excedido"),
|
MessageLookupByLibrary.simpleMessage("Límite de datos excedido"),
|
||||||
"storageUsageInfo": m58,
|
"storageUsageInfo": m57,
|
||||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Segura"),
|
"strongStrength": MessageLookupByLibrary.simpleMessage("Segura"),
|
||||||
"subAlreadyLinkedErrMessage": m59,
|
"subAlreadyLinkedErrMessage": m58,
|
||||||
"subWillBeCancelledOn": m60,
|
"subWillBeCancelledOn": m59,
|
||||||
"subscribe": MessageLookupByLibrary.simpleMessage("Suscribirse"),
|
"subscribe": MessageLookupByLibrary.simpleMessage("Suscribirse"),
|
||||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||||
"Parece que su suscripción ha caducado. Por favor, suscríbase para habilitar el compartir."),
|
"Parece que su suscripción ha caducado. Por favor, suscríbase para habilitar el compartir."),
|
||||||
|
@ -1179,7 +1175,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"suggestFeatures":
|
"suggestFeatures":
|
||||||
MessageLookupByLibrary.simpleMessage("Sugerir una característica"),
|
MessageLookupByLibrary.simpleMessage("Sugerir una característica"),
|
||||||
"support": MessageLookupByLibrary.simpleMessage("Soporte"),
|
"support": MessageLookupByLibrary.simpleMessage("Soporte"),
|
||||||
"syncProgress": m61,
|
"syncProgress": m60,
|
||||||
"syncStopped":
|
"syncStopped":
|
||||||
MessageLookupByLibrary.simpleMessage("Sincronización detenida"),
|
MessageLookupByLibrary.simpleMessage("Sincronización detenida"),
|
||||||
"syncing": MessageLookupByLibrary.simpleMessage("Sincronizando..."),
|
"syncing": MessageLookupByLibrary.simpleMessage("Sincronizando..."),
|
||||||
|
@ -1207,7 +1203,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"theseItemsWillBeDeletedFromYourDevice":
|
"theseItemsWillBeDeletedFromYourDevice":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Estos elementos se eliminarán de tu dispositivo."),
|
"Estos elementos se eliminarán de tu dispositivo."),
|
||||||
"theyAlsoGetXGb": m62,
|
"theyAlsoGetXGb": m61,
|
||||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||||
"Se borrarán de todos los álbumes."),
|
"Se borrarán de todos los álbumes."),
|
||||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1223,7 +1219,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"Este correo electrónico ya está en uso"),
|
"Este correo electrónico ya está en uso"),
|
||||||
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
||||||
"Esta imagen no tiene datos exif"),
|
"Esta imagen no tiene datos exif"),
|
||||||
"thisIsPersonVerificationId": m63,
|
"thisIsPersonVerificationId": m62,
|
||||||
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
||||||
"Esta es tu ID de verificación"),
|
"Esta es tu ID de verificación"),
|
||||||
"thisWillLogYouOutOfTheFollowingDevice":
|
"thisWillLogYouOutOfTheFollowingDevice":
|
||||||
|
@ -1293,7 +1289,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"verify": MessageLookupByLibrary.simpleMessage("Verificar"),
|
"verify": MessageLookupByLibrary.simpleMessage("Verificar"),
|
||||||
"verifyEmail": MessageLookupByLibrary.simpleMessage(
|
"verifyEmail": MessageLookupByLibrary.simpleMessage(
|
||||||
"Verificar correo electrónico"),
|
"Verificar correo electrónico"),
|
||||||
"verifyEmailID": m66,
|
"verifyEmailID": m65,
|
||||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verificar"),
|
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verificar"),
|
||||||
"verifyPassword":
|
"verifyPassword":
|
||||||
MessageLookupByLibrary.simpleMessage("Verificar contraseña"),
|
MessageLookupByLibrary.simpleMessage("Verificar contraseña"),
|
||||||
|
@ -1316,12 +1312,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"No admitimos la edición de fotos y álbunes que aún no son tuyos"),
|
"No admitimos la edición de fotos y álbunes que aún no son tuyos"),
|
||||||
"weHaveSendEmailTo": m67,
|
"weHaveSendEmailTo": m66,
|
||||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Poco segura"),
|
"weakStrength": MessageLookupByLibrary.simpleMessage("Poco segura"),
|
||||||
"welcomeBack":
|
"welcomeBack":
|
||||||
MessageLookupByLibrary.simpleMessage("¡Bienvenido de nuevo!"),
|
MessageLookupByLibrary.simpleMessage("¡Bienvenido de nuevo!"),
|
||||||
"yearly": MessageLookupByLibrary.simpleMessage("Anualmente"),
|
"yearly": MessageLookupByLibrary.simpleMessage("Anualmente"),
|
||||||
"yearsAgo": m68,
|
"yearsAgo": m67,
|
||||||
"yes": MessageLookupByLibrary.simpleMessage("Sí"),
|
"yes": MessageLookupByLibrary.simpleMessage("Sí"),
|
||||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Sí, cancelar"),
|
"yesCancel": MessageLookupByLibrary.simpleMessage("Sí, cancelar"),
|
||||||
"yesConvertToViewer":
|
"yesConvertToViewer":
|
||||||
|
@ -1351,7 +1347,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"No puedes compartir contigo mismo"),
|
"No puedes compartir contigo mismo"),
|
||||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||||
"No tienes nada de elementos archivados."),
|
"No tienes nada de elementos archivados."),
|
||||||
"youHaveSuccessfullyFreedUp": m69,
|
"youHaveSuccessfullyFreedUp": m68,
|
||||||
"yourAccountHasBeenDeleted":
|
"yourAccountHasBeenDeleted":
|
||||||
MessageLookupByLibrary.simpleMessage("Su cuenta ha sido eliminada"),
|
MessageLookupByLibrary.simpleMessage("Su cuenta ha sido eliminada"),
|
||||||
"yourMap": MessageLookupByLibrary.simpleMessage("Your map"),
|
"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) =>
|
static String m37(providerName) =>
|
||||||
"Veuillez contacter le support ${providerName} si vous avez été facturé";
|
"Veuillez contacter le support ${providerName} si vous avez été facturé";
|
||||||
|
|
||||||
static String m38(reason) =>
|
static String m38(endDate) =>
|
||||||
"Malheureusement, votre paiement a échoué pour ${reason}";
|
|
||||||
|
|
||||||
static String m39(endDate) =>
|
|
||||||
"Essai gratuit valable jusqu\'à ${endDate}.\nVous pouvez choisir un plan payant par la suite.";
|
"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";
|
"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";
|
"${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')}";
|
"${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)";
|
"${count} sélectionné(s) (${yourCount} à vous)";
|
||||||
|
|
||||||
static String m49(verificationID) =>
|
static String m48(verificationID) =>
|
||||||
"Voici mon ID de vérification : ${verificationID} pour ente.io.";
|
"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}";
|
"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";
|
"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')}";
|
"${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.";
|
"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.";
|
"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, totalAmount, totalStorageUnit) =>
|
||||||
"${usedAmount} ${usedStorageUnit} sur ${totalAmount} ${totalStorageUnit} utilisé";
|
"${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";
|
"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";
|
"${completed}/${total} souvenirs préservés";
|
||||||
|
|
||||||
static String m62(storageAmountInGB) =>
|
static String m61(storageAmountInGB) =>
|
||||||
"Ils obtiennent aussi ${storageAmountInGB} Go";
|
"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')}";
|
"${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>";
|
"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')}";
|
"${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 !";
|
"Vous avez libéré ${storageSaved} avec succès !";
|
||||||
|
|
||||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||||
|
@ -1000,7 +997,6 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"paymentFailed":
|
"paymentFailed":
|
||||||
MessageLookupByLibrary.simpleMessage("Échec du paiement"),
|
MessageLookupByLibrary.simpleMessage("Échec du paiement"),
|
||||||
"paymentFailedTalkToProvider": m37,
|
"paymentFailedTalkToProvider": m37,
|
||||||
"paymentFailedWithReason": m38,
|
|
||||||
"pendingSync":
|
"pendingSync":
|
||||||
MessageLookupByLibrary.simpleMessage("Synchronisation en attente"),
|
MessageLookupByLibrary.simpleMessage("Synchronisation en attente"),
|
||||||
"peopleUsingYourCode": MessageLookupByLibrary.simpleMessage(
|
"peopleUsingYourCode": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1023,7 +1019,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"pickCenterPoint": MessageLookupByLibrary.simpleMessage(
|
"pickCenterPoint": MessageLookupByLibrary.simpleMessage(
|
||||||
"Sélectionner le point central"),
|
"Sélectionner le point central"),
|
||||||
"pinAlbum": MessageLookupByLibrary.simpleMessage("Épingler l\'album"),
|
"pinAlbum": MessageLookupByLibrary.simpleMessage("Épingler l\'album"),
|
||||||
"playStoreFreeTrialValidTill": m39,
|
"playStoreFreeTrialValidTill": m38,
|
||||||
"playstoreSubscription":
|
"playstoreSubscription":
|
||||||
MessageLookupByLibrary.simpleMessage("Abonnement au PlayStore"),
|
MessageLookupByLibrary.simpleMessage("Abonnement au PlayStore"),
|
||||||
"pleaseContactSupportAndWeWillBeHappyToHelp":
|
"pleaseContactSupportAndWeWillBeHappyToHelp":
|
||||||
|
@ -1032,12 +1028,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"pleaseContactSupportIfTheProblemPersists":
|
"pleaseContactSupportIfTheProblemPersists":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Merci de contacter l\'assistance si cette erreur persiste"),
|
"Merci de contacter l\'assistance si cette erreur persiste"),
|
||||||
"pleaseEmailUsAt": m40,
|
"pleaseEmailUsAt": m39,
|
||||||
"pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage(
|
"pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage(
|
||||||
"Veuillez accorder la permission"),
|
"Veuillez accorder la permission"),
|
||||||
"pleaseLoginAgain":
|
"pleaseLoginAgain":
|
||||||
MessageLookupByLibrary.simpleMessage("Veuillez vous reconnecter"),
|
MessageLookupByLibrary.simpleMessage("Veuillez vous reconnecter"),
|
||||||
"pleaseSendTheLogsTo": m41,
|
"pleaseSendTheLogsTo": m40,
|
||||||
"pleaseTryAgain":
|
"pleaseTryAgain":
|
||||||
MessageLookupByLibrary.simpleMessage("Veuillez réessayer"),
|
MessageLookupByLibrary.simpleMessage("Veuillez réessayer"),
|
||||||
"pleaseVerifyTheCodeYouHaveEntered":
|
"pleaseVerifyTheCodeYouHaveEntered":
|
||||||
|
@ -1073,7 +1069,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"rateTheApp":
|
"rateTheApp":
|
||||||
MessageLookupByLibrary.simpleMessage("Évaluer l\'application"),
|
MessageLookupByLibrary.simpleMessage("Évaluer l\'application"),
|
||||||
"rateUs": MessageLookupByLibrary.simpleMessage("Évaluez-nous"),
|
"rateUs": MessageLookupByLibrary.simpleMessage("Évaluez-nous"),
|
||||||
"rateUsOnStore": m42,
|
"rateUsOnStore": m41,
|
||||||
"recover": MessageLookupByLibrary.simpleMessage("Récupérer"),
|
"recover": MessageLookupByLibrary.simpleMessage("Récupérer"),
|
||||||
"recoverAccount":
|
"recoverAccount":
|
||||||
MessageLookupByLibrary.simpleMessage("Récupérer un compte"),
|
MessageLookupByLibrary.simpleMessage("Récupérer un compte"),
|
||||||
|
@ -1104,7 +1100,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"1. Donnez ce code à vos amis"),
|
"1. Donnez ce code à vos amis"),
|
||||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||||
"2. Ils s\'inscrivent à une offre payante"),
|
"2. Ils s\'inscrivent à une offre payante"),
|
||||||
"referralStep3": m43,
|
"referralStep3": m42,
|
||||||
"referrals": MessageLookupByLibrary.simpleMessage("Parrainages"),
|
"referrals": MessageLookupByLibrary.simpleMessage("Parrainages"),
|
||||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||||
"Les recommandations sont actuellement en pause"),
|
"Les recommandations sont actuellement en pause"),
|
||||||
|
@ -1130,7 +1126,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"removeLink": MessageLookupByLibrary.simpleMessage("Supprimer le lien"),
|
"removeLink": MessageLookupByLibrary.simpleMessage("Supprimer le lien"),
|
||||||
"removeParticipant":
|
"removeParticipant":
|
||||||
MessageLookupByLibrary.simpleMessage("Supprimer le participant"),
|
MessageLookupByLibrary.simpleMessage("Supprimer le participant"),
|
||||||
"removeParticipantBody": m44,
|
"removeParticipantBody": m43,
|
||||||
"removePublicLink":
|
"removePublicLink":
|
||||||
MessageLookupByLibrary.simpleMessage("Supprimer le lien public"),
|
MessageLookupByLibrary.simpleMessage("Supprimer le lien public"),
|
||||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1146,7 +1142,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("Renommer le fichier"),
|
MessageLookupByLibrary.simpleMessage("Renommer le fichier"),
|
||||||
"renewSubscription":
|
"renewSubscription":
|
||||||
MessageLookupByLibrary.simpleMessage("Renouveler l’abonnement"),
|
MessageLookupByLibrary.simpleMessage("Renouveler l’abonnement"),
|
||||||
"renewsOn": m45,
|
"renewsOn": m44,
|
||||||
"reportABug": MessageLookupByLibrary.simpleMessage("Signaler un bug"),
|
"reportABug": MessageLookupByLibrary.simpleMessage("Signaler un bug"),
|
||||||
"reportBug": MessageLookupByLibrary.simpleMessage("Signaler un bug"),
|
"reportBug": MessageLookupByLibrary.simpleMessage("Signaler un bug"),
|
||||||
"resendEmail":
|
"resendEmail":
|
||||||
|
@ -1211,7 +1207,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"Grouper les photos qui sont prises dans un certain angle d\'une photo"),
|
"Grouper les photos qui sont prises dans un certain angle d\'une photo"),
|
||||||
"searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage(
|
"searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage(
|
||||||
"Invitez des gens, et vous verrez ici toutes les photos qu\'ils partagent"),
|
"Invitez des gens, et vous verrez ici toutes les photos qu\'ils partagent"),
|
||||||
"searchResultCount": m46,
|
"searchResultCount": m45,
|
||||||
"security": MessageLookupByLibrary.simpleMessage("Sécurité"),
|
"security": MessageLookupByLibrary.simpleMessage("Sécurité"),
|
||||||
"selectALocation":
|
"selectALocation":
|
||||||
MessageLookupByLibrary.simpleMessage("Select a location"),
|
MessageLookupByLibrary.simpleMessage("Select a location"),
|
||||||
|
@ -1240,8 +1236,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Les éléments sélectionnés seront supprimés de tous les albums et déplacés dans la corbeille."),
|
"Les éléments sélectionnés seront supprimés de tous les albums et déplacés dans la corbeille."),
|
||||||
"selectedPhotos": m47,
|
"selectedPhotos": m46,
|
||||||
"selectedPhotosWithYours": m48,
|
"selectedPhotosWithYours": m47,
|
||||||
"send": MessageLookupByLibrary.simpleMessage("Envoyer"),
|
"send": MessageLookupByLibrary.simpleMessage("Envoyer"),
|
||||||
"sendEmail": MessageLookupByLibrary.simpleMessage("Envoyer un e-mail"),
|
"sendEmail": MessageLookupByLibrary.simpleMessage("Envoyer un e-mail"),
|
||||||
"sendInvite":
|
"sendInvite":
|
||||||
|
@ -1267,16 +1263,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"shareAnAlbumNow": MessageLookupByLibrary.simpleMessage(
|
"shareAnAlbumNow": MessageLookupByLibrary.simpleMessage(
|
||||||
"Partagez un album maintenant"),
|
"Partagez un album maintenant"),
|
||||||
"shareLink": MessageLookupByLibrary.simpleMessage("Partager le lien"),
|
"shareLink": MessageLookupByLibrary.simpleMessage("Partager le lien"),
|
||||||
"shareMyVerificationID": m49,
|
"shareMyVerificationID": m48,
|
||||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||||
"Partager uniquement avec les personnes que vous voulez"),
|
"Partager uniquement avec les personnes que vous voulez"),
|
||||||
"shareTextConfirmOthersVerificationID": m50,
|
"shareTextConfirmOthersVerificationID": m49,
|
||||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
"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"),
|
"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(
|
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||||
"Partager avec des utilisateurs non-ente"),
|
"Partager avec des utilisateurs non-ente"),
|
||||||
"shareWithPeopleSectionTitle": m52,
|
"shareWithPeopleSectionTitle": m51,
|
||||||
"shareYourFirstAlbum": MessageLookupByLibrary.simpleMessage(
|
"shareYourFirstAlbum": MessageLookupByLibrary.simpleMessage(
|
||||||
"Partagez votre premier album"),
|
"Partagez votre premier album"),
|
||||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1287,7 +1283,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("Nouvelles photos partagées"),
|
MessageLookupByLibrary.simpleMessage("Nouvelles photos partagées"),
|
||||||
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||||
"Recevoir des notifications quand quelqu\'un ajoute une photo à un album partagé dont vous faites partie"),
|
"Recevoir des notifications quand quelqu\'un ajoute une photo à un album partagé dont vous faites partie"),
|
||||||
"sharedWith": m53,
|
"sharedWith": m52,
|
||||||
"sharedWithMe":
|
"sharedWithMe":
|
||||||
MessageLookupByLibrary.simpleMessage("Partagés avec moi"),
|
MessageLookupByLibrary.simpleMessage("Partagés avec moi"),
|
||||||
"sharedWithYou":
|
"sharedWithYou":
|
||||||
|
@ -1297,11 +1293,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("Montrer les souvenirs"),
|
MessageLookupByLibrary.simpleMessage("Montrer les souvenirs"),
|
||||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||||
"J\'accepte les <u-terms>conditions d\'utilisation</u-terms> et la <u-policy>politique de confidentialité</u-policy>"),
|
"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(
|
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||||
"Elle sera supprimée de tous les albums."),
|
"Elle sera supprimée de tous les albums."),
|
||||||
"singleFileInBothLocalAndRemote": m55,
|
"singleFileInBothLocalAndRemote": m54,
|
||||||
"singleFileInRemoteOnly": m56,
|
"singleFileInRemoteOnly": m55,
|
||||||
"skip": MessageLookupByLibrary.simpleMessage("Ignorer"),
|
"skip": MessageLookupByLibrary.simpleMessage("Ignorer"),
|
||||||
"social": MessageLookupByLibrary.simpleMessage("Réseaux Sociaux"),
|
"social": MessageLookupByLibrary.simpleMessage("Réseaux Sociaux"),
|
||||||
"someItemsAreInBothEnteAndYourDevice":
|
"someItemsAreInBothEnteAndYourDevice":
|
||||||
|
@ -1341,14 +1337,14 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"storage": MessageLookupByLibrary.simpleMessage("Stockage"),
|
"storage": MessageLookupByLibrary.simpleMessage("Stockage"),
|
||||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Famille"),
|
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Famille"),
|
||||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Vous"),
|
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Vous"),
|
||||||
"storageInGB": m57,
|
"storageInGB": m56,
|
||||||
"storageLimitExceeded":
|
"storageLimitExceeded":
|
||||||
MessageLookupByLibrary.simpleMessage("Limite de stockage atteinte"),
|
MessageLookupByLibrary.simpleMessage("Limite de stockage atteinte"),
|
||||||
"storageUsageInfo": m58,
|
"storageUsageInfo": m57,
|
||||||
"strongStrength":
|
"strongStrength":
|
||||||
MessageLookupByLibrary.simpleMessage("Securité forte"),
|
MessageLookupByLibrary.simpleMessage("Securité forte"),
|
||||||
"subAlreadyLinkedErrMessage": m59,
|
"subAlreadyLinkedErrMessage": m58,
|
||||||
"subWillBeCancelledOn": m60,
|
"subWillBeCancelledOn": m59,
|
||||||
"subscribe": MessageLookupByLibrary.simpleMessage("S\'abonner"),
|
"subscribe": MessageLookupByLibrary.simpleMessage("S\'abonner"),
|
||||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||||
"Il semble que votre abonnement ait expiré. Veuillez vous abonner pour activer le partage."),
|
"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(
|
"suggestFeatures": MessageLookupByLibrary.simpleMessage(
|
||||||
"Suggérer des fonctionnalités"),
|
"Suggérer des fonctionnalités"),
|
||||||
"support": MessageLookupByLibrary.simpleMessage("Support"),
|
"support": MessageLookupByLibrary.simpleMessage("Support"),
|
||||||
"syncProgress": m61,
|
"syncProgress": m60,
|
||||||
"syncStopped":
|
"syncStopped":
|
||||||
MessageLookupByLibrary.simpleMessage("Synchronisation arrêtée ?"),
|
MessageLookupByLibrary.simpleMessage("Synchronisation arrêtée ?"),
|
||||||
"syncing": MessageLookupByLibrary.simpleMessage(
|
"syncing": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1394,7 +1390,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"theseItemsWillBeDeletedFromYourDevice":
|
"theseItemsWillBeDeletedFromYourDevice":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Ces éléments seront supprimés de votre appareil."),
|
"Ces éléments seront supprimés de votre appareil."),
|
||||||
"theyAlsoGetXGb": m62,
|
"theyAlsoGetXGb": m61,
|
||||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||||
"Ils seront supprimés de tous les albums."),
|
"Ils seront supprimés de tous les albums."),
|
||||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1410,7 +1406,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"Cette adresse mail est déjà utilisé"),
|
"Cette adresse mail est déjà utilisé"),
|
||||||
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
||||||
"Cette image n\'a pas de données exif"),
|
"Cette image n\'a pas de données exif"),
|
||||||
"thisIsPersonVerificationId": m63,
|
"thisIsPersonVerificationId": m62,
|
||||||
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
||||||
"Ceci est votre ID de vérification"),
|
"Ceci est votre ID de vérification"),
|
||||||
"thisWillLogYouOutOfTheFollowingDevice":
|
"thisWillLogYouOutOfTheFollowingDevice":
|
||||||
|
@ -1426,7 +1422,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"total": MessageLookupByLibrary.simpleMessage("total"),
|
"total": MessageLookupByLibrary.simpleMessage("total"),
|
||||||
"totalSize": MessageLookupByLibrary.simpleMessage("Taille totale"),
|
"totalSize": MessageLookupByLibrary.simpleMessage("Taille totale"),
|
||||||
"trash": MessageLookupByLibrary.simpleMessage("Corbeille"),
|
"trash": MessageLookupByLibrary.simpleMessage("Corbeille"),
|
||||||
"trashDaysLeft": m64,
|
"trashDaysLeft": m63,
|
||||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Réessayer"),
|
"tryAgain": MessageLookupByLibrary.simpleMessage("Réessayer"),
|
||||||
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
||||||
"Activez la sauvegarde pour télécharger automatiquement les fichiers ajoutés à ce dossier de l\'appareil sur ente."),
|
"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(
|
"useSelectedPhoto": MessageLookupByLibrary.simpleMessage(
|
||||||
"Utiliser la photo sélectionnée"),
|
"Utiliser la photo sélectionnée"),
|
||||||
"usedSpace": MessageLookupByLibrary.simpleMessage("Mémoire utilisée"),
|
"usedSpace": MessageLookupByLibrary.simpleMessage("Mémoire utilisée"),
|
||||||
"validTill": m65,
|
"validTill": m64,
|
||||||
"verificationFailedPleaseTryAgain":
|
"verificationFailedPleaseTryAgain":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"La vérification a échouée, veuillez réessayer"),
|
"La vérification a échouée, veuillez réessayer"),
|
||||||
|
@ -1493,7 +1489,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"verify": MessageLookupByLibrary.simpleMessage("Vérifier"),
|
"verify": MessageLookupByLibrary.simpleMessage("Vérifier"),
|
||||||
"verifyEmail":
|
"verifyEmail":
|
||||||
MessageLookupByLibrary.simpleMessage("Vérifier l\'email"),
|
MessageLookupByLibrary.simpleMessage("Vérifier l\'email"),
|
||||||
"verifyEmailID": m66,
|
"verifyEmailID": m65,
|
||||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Vérifier"),
|
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Vérifier"),
|
||||||
"verifyPassword":
|
"verifyPassword":
|
||||||
MessageLookupByLibrary.simpleMessage("Vérifier le mot de passe"),
|
MessageLookupByLibrary.simpleMessage("Vérifier le mot de passe"),
|
||||||
|
@ -1522,11 +1518,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Nous ne prenons pas en charge l\'édition des photos et des albums que vous ne possédez pas encore"),
|
"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"),
|
"weakStrength": MessageLookupByLibrary.simpleMessage("Securité Faible"),
|
||||||
"welcomeBack": MessageLookupByLibrary.simpleMessage("Bienvenue !"),
|
"welcomeBack": MessageLookupByLibrary.simpleMessage("Bienvenue !"),
|
||||||
"yearly": MessageLookupByLibrary.simpleMessage("Annuel"),
|
"yearly": MessageLookupByLibrary.simpleMessage("Annuel"),
|
||||||
"yearsAgo": m68,
|
"yearsAgo": m67,
|
||||||
"yes": MessageLookupByLibrary.simpleMessage("Oui"),
|
"yes": MessageLookupByLibrary.simpleMessage("Oui"),
|
||||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Oui, annuler"),
|
"yesCancel": MessageLookupByLibrary.simpleMessage("Oui, annuler"),
|
||||||
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage(
|
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1557,7 +1553,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"Vous ne pouvez pas partager avec vous-même"),
|
"Vous ne pouvez pas partager avec vous-même"),
|
||||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||||
"Vous n\'avez aucun élément archivé."),
|
"Vous n\'avez aucun élément archivé."),
|
||||||
"youHaveSuccessfullyFreedUp": m69,
|
"youHaveSuccessfullyFreedUp": m68,
|
||||||
"yourAccountHasBeenDeleted":
|
"yourAccountHasBeenDeleted":
|
||||||
MessageLookupByLibrary.simpleMessage("Votre compte a été supprimé"),
|
MessageLookupByLibrary.simpleMessage("Votre compte a été supprimé"),
|
||||||
"yourMap": MessageLookupByLibrary.simpleMessage("Votre carte"),
|
"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) =>
|
static String m37(providerName) =>
|
||||||
"Si prega di parlare con il supporto di ${providerName} se ti è stato addebitato qualcosa";
|
"Si prega di parlare con il supporto di ${providerName} se ti è stato addebitato qualcosa";
|
||||||
|
|
||||||
static String m38(reason) =>
|
static String m38(endDate) =>
|
||||||
"Purtroppo il tuo pagamento non è riuscito a causa di ${reason}";
|
|
||||||
|
|
||||||
static String m39(endDate) =>
|
|
||||||
"Prova gratuita valida fino al ${endDate}.\nPuoi scegliere un piano a pagamento in seguito.";
|
"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";
|
"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";
|
"${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)";
|
"${count} selezionato (${yourCount} tuoi)";
|
||||||
|
|
||||||
static String m49(verificationID) =>
|
static String m48(verificationID) =>
|
||||||
"Ecco il mio ID di verifica: ${verificationID} per ente.io.";
|
"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";
|
"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";
|
"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')}";
|
"${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.";
|
"Questo ${fileType} verrà eliminato dal tuo dispositivo.";
|
||||||
|
|
||||||
static String m55(fileType) =>
|
static String m54(fileType) =>
|
||||||
"Questo ${fileType} è sia su ente che sul tuo dispositivo.";
|
"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, totalAmount, totalStorageUnit) =>
|
||||||
"${usedAmount} ${usedStorageUnit} di ${totalAmount} ${totalStorageUnit} utilizzati";
|
"${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\'\'";
|
"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";
|
"${completed}/${total} ricordi conservati";
|
||||||
|
|
||||||
static String m62(storageAmountInGB) =>
|
static String m61(storageAmountInGB) =>
|
||||||
"Anche loro riceveranno ${storageAmountInGB} GB";
|
"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')}";
|
"${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>";
|
"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')}";
|
"${Intl.plural(count, one: '${count} anno fa', other: '${count} anni fa')}";
|
||||||
|
|
||||||
static String m69(storageSaved) =>
|
static String m68(storageSaved) =>
|
||||||
"Hai liberato con successo ${storageSaved}!";
|
"Hai liberato con successo ${storageSaved}!";
|
||||||
|
|
||||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||||
|
@ -967,7 +964,6 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"paymentFailed":
|
"paymentFailed":
|
||||||
MessageLookupByLibrary.simpleMessage("Pagamento non riuscito"),
|
MessageLookupByLibrary.simpleMessage("Pagamento non riuscito"),
|
||||||
"paymentFailedTalkToProvider": m37,
|
"paymentFailedTalkToProvider": m37,
|
||||||
"paymentFailedWithReason": m38,
|
|
||||||
"pendingSync":
|
"pendingSync":
|
||||||
MessageLookupByLibrary.simpleMessage("Sincronizzazione in sospeso"),
|
MessageLookupByLibrary.simpleMessage("Sincronizzazione in sospeso"),
|
||||||
"peopleUsingYourCode": MessageLookupByLibrary.simpleMessage(
|
"peopleUsingYourCode": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -987,7 +983,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"pickCenterPoint": MessageLookupByLibrary.simpleMessage(
|
"pickCenterPoint": MessageLookupByLibrary.simpleMessage(
|
||||||
"Selezionare il punto centrale"),
|
"Selezionare il punto centrale"),
|
||||||
"pinAlbum": MessageLookupByLibrary.simpleMessage("Fissa l\'album"),
|
"pinAlbum": MessageLookupByLibrary.simpleMessage("Fissa l\'album"),
|
||||||
"playStoreFreeTrialValidTill": m39,
|
"playStoreFreeTrialValidTill": m38,
|
||||||
"playstoreSubscription":
|
"playstoreSubscription":
|
||||||
MessageLookupByLibrary.simpleMessage("Abbonamento su PlayStore"),
|
MessageLookupByLibrary.simpleMessage("Abbonamento su PlayStore"),
|
||||||
"pleaseContactSupportAndWeWillBeHappyToHelp":
|
"pleaseContactSupportAndWeWillBeHappyToHelp":
|
||||||
|
@ -996,12 +992,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"pleaseContactSupportIfTheProblemPersists":
|
"pleaseContactSupportIfTheProblemPersists":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Riprova. Se il problema persiste, ti invitiamo a contattare l\'assistenza"),
|
"Riprova. Se il problema persiste, ti invitiamo a contattare l\'assistenza"),
|
||||||
"pleaseEmailUsAt": m40,
|
"pleaseEmailUsAt": m39,
|
||||||
"pleaseGrantPermissions":
|
"pleaseGrantPermissions":
|
||||||
MessageLookupByLibrary.simpleMessage("Concedi i permessi"),
|
MessageLookupByLibrary.simpleMessage("Concedi i permessi"),
|
||||||
"pleaseLoginAgain": MessageLookupByLibrary.simpleMessage(
|
"pleaseLoginAgain": MessageLookupByLibrary.simpleMessage(
|
||||||
"Effettua nuovamente l\'accesso"),
|
"Effettua nuovamente l\'accesso"),
|
||||||
"pleaseSendTheLogsTo": m41,
|
"pleaseSendTheLogsTo": m40,
|
||||||
"pleaseTryAgain": MessageLookupByLibrary.simpleMessage("Riprova"),
|
"pleaseTryAgain": MessageLookupByLibrary.simpleMessage("Riprova"),
|
||||||
"pleaseVerifyTheCodeYouHaveEntered":
|
"pleaseVerifyTheCodeYouHaveEntered":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1035,7 +1031,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"raiseTicket": MessageLookupByLibrary.simpleMessage("Invia ticket"),
|
"raiseTicket": MessageLookupByLibrary.simpleMessage("Invia ticket"),
|
||||||
"rateTheApp": MessageLookupByLibrary.simpleMessage("Valuta l\'app"),
|
"rateTheApp": MessageLookupByLibrary.simpleMessage("Valuta l\'app"),
|
||||||
"rateUs": MessageLookupByLibrary.simpleMessage("Lascia una recensione"),
|
"rateUs": MessageLookupByLibrary.simpleMessage("Lascia una recensione"),
|
||||||
"rateUsOnStore": m42,
|
"rateUsOnStore": m41,
|
||||||
"recover": MessageLookupByLibrary.simpleMessage("Recupera"),
|
"recover": MessageLookupByLibrary.simpleMessage("Recupera"),
|
||||||
"recoverAccount":
|
"recoverAccount":
|
||||||
MessageLookupByLibrary.simpleMessage("Recupera account"),
|
MessageLookupByLibrary.simpleMessage("Recupera account"),
|
||||||
|
@ -1067,7 +1063,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"1. Condividi questo codice con i tuoi amici"),
|
"1. Condividi questo codice con i tuoi amici"),
|
||||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||||
"2. Si iscrivono per un piano a pagamento"),
|
"2. Si iscrivono per un piano a pagamento"),
|
||||||
"referralStep3": m43,
|
"referralStep3": m42,
|
||||||
"referrals": MessageLookupByLibrary.simpleMessage("Invita un Amico"),
|
"referrals": MessageLookupByLibrary.simpleMessage("Invita un Amico"),
|
||||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||||
"I referral code sono attualmente in pausa"),
|
"I referral code sono attualmente in pausa"),
|
||||||
|
@ -1091,7 +1087,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"removeLink": MessageLookupByLibrary.simpleMessage("Elimina link"),
|
"removeLink": MessageLookupByLibrary.simpleMessage("Elimina link"),
|
||||||
"removeParticipant":
|
"removeParticipant":
|
||||||
MessageLookupByLibrary.simpleMessage("Rimuovi partecipante"),
|
MessageLookupByLibrary.simpleMessage("Rimuovi partecipante"),
|
||||||
"removeParticipantBody": m44,
|
"removeParticipantBody": m43,
|
||||||
"removePublicLink":
|
"removePublicLink":
|
||||||
MessageLookupByLibrary.simpleMessage("Rimuovi link pubblico"),
|
MessageLookupByLibrary.simpleMessage("Rimuovi link pubblico"),
|
||||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1105,7 +1101,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"renameFile": MessageLookupByLibrary.simpleMessage("Rinomina file"),
|
"renameFile": MessageLookupByLibrary.simpleMessage("Rinomina file"),
|
||||||
"renewSubscription":
|
"renewSubscription":
|
||||||
MessageLookupByLibrary.simpleMessage("Rinnova abbonamento"),
|
MessageLookupByLibrary.simpleMessage("Rinnova abbonamento"),
|
||||||
"renewsOn": m45,
|
"renewsOn": m44,
|
||||||
"reportABug": MessageLookupByLibrary.simpleMessage("Segnala un bug"),
|
"reportABug": MessageLookupByLibrary.simpleMessage("Segnala un bug"),
|
||||||
"reportBug": MessageLookupByLibrary.simpleMessage("Segnala un bug"),
|
"reportBug": MessageLookupByLibrary.simpleMessage("Segnala un bug"),
|
||||||
"resendEmail": MessageLookupByLibrary.simpleMessage("Rinvia email"),
|
"resendEmail": MessageLookupByLibrary.simpleMessage("Rinvia email"),
|
||||||
|
@ -1170,8 +1166,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Gli elementi selezionati verranno eliminati da tutti gli album e spostati nel cestino."),
|
"Gli elementi selezionati verranno eliminati da tutti gli album e spostati nel cestino."),
|
||||||
"selectedPhotos": m47,
|
"selectedPhotos": m46,
|
||||||
"selectedPhotosWithYours": m48,
|
"selectedPhotosWithYours": m47,
|
||||||
"send": MessageLookupByLibrary.simpleMessage("Invia"),
|
"send": MessageLookupByLibrary.simpleMessage("Invia"),
|
||||||
"sendEmail": MessageLookupByLibrary.simpleMessage("Invia email"),
|
"sendEmail": MessageLookupByLibrary.simpleMessage("Invia email"),
|
||||||
"sendInvite": MessageLookupByLibrary.simpleMessage("Invita"),
|
"sendInvite": MessageLookupByLibrary.simpleMessage("Invita"),
|
||||||
|
@ -1195,16 +1191,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"shareAnAlbumNow":
|
"shareAnAlbumNow":
|
||||||
MessageLookupByLibrary.simpleMessage("Condividi un album"),
|
MessageLookupByLibrary.simpleMessage("Condividi un album"),
|
||||||
"shareLink": MessageLookupByLibrary.simpleMessage("Condividi link"),
|
"shareLink": MessageLookupByLibrary.simpleMessage("Condividi link"),
|
||||||
"shareMyVerificationID": m49,
|
"shareMyVerificationID": m48,
|
||||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||||
"Condividi solo con le persone che vuoi"),
|
"Condividi solo con le persone che vuoi"),
|
||||||
"shareTextConfirmOthersVerificationID": m50,
|
"shareTextConfirmOthersVerificationID": m49,
|
||||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||||
"Scarica ente in modo da poter facilmente condividere foto e video senza perdita di qualità\n\nhttps://ente.io"),
|
"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(
|
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||||
"Condividi con utenti che non hanno un account ente"),
|
"Condividi con utenti che non hanno un account ente"),
|
||||||
"shareWithPeopleSectionTitle": m52,
|
"shareWithPeopleSectionTitle": m51,
|
||||||
"shareYourFirstAlbum": MessageLookupByLibrary.simpleMessage(
|
"shareYourFirstAlbum": MessageLookupByLibrary.simpleMessage(
|
||||||
"Condividi il tuo primo album"),
|
"Condividi il tuo primo album"),
|
||||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1215,7 +1211,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("Nuove foto condivise"),
|
MessageLookupByLibrary.simpleMessage("Nuove foto condivise"),
|
||||||
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||||
"Ricevi notifiche quando qualcuno aggiunge una foto a un album condiviso, di cui fai parte"),
|
"Ricevi notifiche quando qualcuno aggiunge una foto a un album condiviso, di cui fai parte"),
|
||||||
"sharedWith": m53,
|
"sharedWith": m52,
|
||||||
"sharedWithMe":
|
"sharedWithMe":
|
||||||
MessageLookupByLibrary.simpleMessage("Condivisi con me"),
|
MessageLookupByLibrary.simpleMessage("Condivisi con me"),
|
||||||
"sharedWithYou":
|
"sharedWithYou":
|
||||||
|
@ -1225,11 +1221,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"showMemories": MessageLookupByLibrary.simpleMessage("Mostra ricordi"),
|
"showMemories": MessageLookupByLibrary.simpleMessage("Mostra ricordi"),
|
||||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||||
"Accetto i <u-terms>termini di servizio</u-terms> e la <u-policy>politica sulla privacy</u-policy>"),
|
"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(
|
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||||
"Verrà eliminato da tutti gli album."),
|
"Verrà eliminato da tutti gli album."),
|
||||||
"singleFileInBothLocalAndRemote": m55,
|
"singleFileInBothLocalAndRemote": m54,
|
||||||
"singleFileInRemoteOnly": m56,
|
"singleFileInRemoteOnly": m55,
|
||||||
"skip": MessageLookupByLibrary.simpleMessage("Salta"),
|
"skip": MessageLookupByLibrary.simpleMessage("Salta"),
|
||||||
"social": MessageLookupByLibrary.simpleMessage("Social"),
|
"social": MessageLookupByLibrary.simpleMessage("Social"),
|
||||||
"someItemsAreInBothEnteAndYourDevice":
|
"someItemsAreInBothEnteAndYourDevice":
|
||||||
|
@ -1270,13 +1266,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"storageBreakupFamily":
|
"storageBreakupFamily":
|
||||||
MessageLookupByLibrary.simpleMessage("Famiglia"),
|
MessageLookupByLibrary.simpleMessage("Famiglia"),
|
||||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Tu"),
|
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Tu"),
|
||||||
"storageInGB": m57,
|
"storageInGB": m56,
|
||||||
"storageLimitExceeded": MessageLookupByLibrary.simpleMessage(
|
"storageLimitExceeded": MessageLookupByLibrary.simpleMessage(
|
||||||
"Limite d\'archiviazione superato"),
|
"Limite d\'archiviazione superato"),
|
||||||
"storageUsageInfo": m58,
|
"storageUsageInfo": m57,
|
||||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Forte"),
|
"strongStrength": MessageLookupByLibrary.simpleMessage("Forte"),
|
||||||
"subAlreadyLinkedErrMessage": m59,
|
"subAlreadyLinkedErrMessage": m58,
|
||||||
"subWillBeCancelledOn": m60,
|
"subWillBeCancelledOn": m59,
|
||||||
"subscribe": MessageLookupByLibrary.simpleMessage("Iscriviti"),
|
"subscribe": MessageLookupByLibrary.simpleMessage("Iscriviti"),
|
||||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||||
"Sembra che il tuo abbonamento sia scaduto. Iscriviti per abilitare la condivisione."),
|
"Sembra che il tuo abbonamento sia scaduto. Iscriviti per abilitare la condivisione."),
|
||||||
|
@ -1293,7 +1289,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"suggestFeatures":
|
"suggestFeatures":
|
||||||
MessageLookupByLibrary.simpleMessage("Suggerisci una funzionalità"),
|
MessageLookupByLibrary.simpleMessage("Suggerisci una funzionalità"),
|
||||||
"support": MessageLookupByLibrary.simpleMessage("Assistenza"),
|
"support": MessageLookupByLibrary.simpleMessage("Assistenza"),
|
||||||
"syncProgress": m61,
|
"syncProgress": m60,
|
||||||
"syncStopped":
|
"syncStopped":
|
||||||
MessageLookupByLibrary.simpleMessage("Sincronizzazione interrotta"),
|
MessageLookupByLibrary.simpleMessage("Sincronizzazione interrotta"),
|
||||||
"syncing": MessageLookupByLibrary.simpleMessage(
|
"syncing": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1322,7 +1318,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"theseItemsWillBeDeletedFromYourDevice":
|
"theseItemsWillBeDeletedFromYourDevice":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Questi file verranno eliminati dal tuo dispositivo."),
|
"Questi file verranno eliminati dal tuo dispositivo."),
|
||||||
"theyAlsoGetXGb": m62,
|
"theyAlsoGetXGb": m61,
|
||||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||||
"Verranno eliminati da tutti gli album."),
|
"Verranno eliminati da tutti gli album."),
|
||||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1339,7 +1335,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"Questo indirizzo email è già registrato"),
|
"Questo indirizzo email è già registrato"),
|
||||||
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
||||||
"Questa immagine non ha dati EXIF"),
|
"Questa immagine non ha dati EXIF"),
|
||||||
"thisIsPersonVerificationId": m63,
|
"thisIsPersonVerificationId": m62,
|
||||||
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
||||||
"Questo è il tuo ID di verifica"),
|
"Questo è il tuo ID di verifica"),
|
||||||
"thisWillLogYouOutOfTheFollowingDevice":
|
"thisWillLogYouOutOfTheFollowingDevice":
|
||||||
|
@ -1355,7 +1351,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"total": MessageLookupByLibrary.simpleMessage("totale"),
|
"total": MessageLookupByLibrary.simpleMessage("totale"),
|
||||||
"totalSize": MessageLookupByLibrary.simpleMessage("Dimensioni totali"),
|
"totalSize": MessageLookupByLibrary.simpleMessage("Dimensioni totali"),
|
||||||
"trash": MessageLookupByLibrary.simpleMessage("Cestino"),
|
"trash": MessageLookupByLibrary.simpleMessage("Cestino"),
|
||||||
"trashDaysLeft": m64,
|
"trashDaysLeft": m63,
|
||||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Riprova"),
|
"tryAgain": MessageLookupByLibrary.simpleMessage("Riprova"),
|
||||||
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
||||||
"Attiva il backup per caricare automaticamente i file aggiunti in questa cartella del dispositivo su ente."),
|
"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":
|
"useSelectedPhoto":
|
||||||
MessageLookupByLibrary.simpleMessage("Usa la foto selezionata"),
|
MessageLookupByLibrary.simpleMessage("Usa la foto selezionata"),
|
||||||
"usedSpace": MessageLookupByLibrary.simpleMessage("Spazio utilizzato"),
|
"usedSpace": MessageLookupByLibrary.simpleMessage("Spazio utilizzato"),
|
||||||
"validTill": m65,
|
"validTill": m64,
|
||||||
"verificationFailedPleaseTryAgain":
|
"verificationFailedPleaseTryAgain":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Verifica fallita, per favore prova di nuovo"),
|
"Verifica fallita, per favore prova di nuovo"),
|
||||||
|
@ -1420,7 +1416,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("ID di verifica"),
|
MessageLookupByLibrary.simpleMessage("ID di verifica"),
|
||||||
"verify": MessageLookupByLibrary.simpleMessage("Verifica"),
|
"verify": MessageLookupByLibrary.simpleMessage("Verifica"),
|
||||||
"verifyEmail": MessageLookupByLibrary.simpleMessage("Verifica email"),
|
"verifyEmail": MessageLookupByLibrary.simpleMessage("Verifica email"),
|
||||||
"verifyEmailID": m66,
|
"verifyEmailID": m65,
|
||||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verifica"),
|
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verifica"),
|
||||||
"verifyPassword":
|
"verifyPassword":
|
||||||
MessageLookupByLibrary.simpleMessage("Verifica password"),
|
MessageLookupByLibrary.simpleMessage("Verifica password"),
|
||||||
|
@ -1447,11 +1443,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Non puoi modificare foto e album che non possiedi"),
|
"Non puoi modificare foto e album che non possiedi"),
|
||||||
"weHaveSendEmailTo": m67,
|
"weHaveSendEmailTo": m66,
|
||||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Debole"),
|
"weakStrength": MessageLookupByLibrary.simpleMessage("Debole"),
|
||||||
"welcomeBack": MessageLookupByLibrary.simpleMessage("Bentornato/a!"),
|
"welcomeBack": MessageLookupByLibrary.simpleMessage("Bentornato/a!"),
|
||||||
"yearly": MessageLookupByLibrary.simpleMessage("Annuale"),
|
"yearly": MessageLookupByLibrary.simpleMessage("Annuale"),
|
||||||
"yearsAgo": m68,
|
"yearsAgo": m67,
|
||||||
"yes": MessageLookupByLibrary.simpleMessage("Si"),
|
"yes": MessageLookupByLibrary.simpleMessage("Si"),
|
||||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Sì, cancella"),
|
"yesCancel": MessageLookupByLibrary.simpleMessage("Sì, cancella"),
|
||||||
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage(
|
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1481,7 +1477,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"Non puoi condividere con te stesso"),
|
"Non puoi condividere con te stesso"),
|
||||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||||
"Non hai nulla di archiviato."),
|
"Non hai nulla di archiviato."),
|
||||||
"youHaveSuccessfullyFreedUp": m69,
|
"youHaveSuccessfullyFreedUp": m68,
|
||||||
"yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage(
|
"yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage(
|
||||||
"Il tuo account è stato eliminato"),
|
"Il tuo account è stato eliminato"),
|
||||||
"yourMap": MessageLookupByLibrary.simpleMessage("Your map"),
|
"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) =>
|
static String m37(providerName) =>
|
||||||
"Praat met ${providerName} klantenservice als u in rekening bent gebracht";
|
"Praat met ${providerName} klantenservice als u in rekening bent gebracht";
|
||||||
|
|
||||||
static String m38(reason) =>
|
static String m38(endDate) =>
|
||||||
"Helaas is uw betaling mislukt vanwege ${reason}";
|
|
||||||
|
|
||||||
static String m39(endDate) =>
|
|
||||||
"Gratis proefperiode geldig tot ${endDate}.\nU kunt naderhand een betaald abonnement kiezen.";
|
"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}";
|
"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";
|
"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";
|
"${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')}";
|
"${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)";
|
"${count} geselecteerd (${yourCount} van jou)";
|
||||||
|
|
||||||
static String m49(verificationID) =>
|
static String m48(verificationID) =>
|
||||||
"Hier is mijn verificatie-ID: ${verificationID} voor ente.io.";
|
"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}";
|
"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";
|
"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')}";
|
"${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.";
|
"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.";
|
"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.";
|
"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, totalAmount, totalStorageUnit) =>
|
||||||
"${usedAmount} ${usedStorageUnit} van ${totalAmount} ${totalStorageUnit} gebruikt";
|
"${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";
|
"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";
|
"${completed}/${total} herinneringen bewaard";
|
||||||
|
|
||||||
static String m62(storageAmountInGB) =>
|
static String m61(storageAmountInGB) =>
|
||||||
"Zij krijgen ook ${storageAmountInGB} GB";
|
"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')}";
|
"${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>";
|
"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')}";
|
"${Intl.plural(count, one: '${count} jaar geleden', other: '${count} jaar geleden')}";
|
||||||
|
|
||||||
static String m69(storageSaved) =>
|
static String m68(storageSaved) =>
|
||||||
"Je hebt ${storageSaved} succesvol vrijgemaakt!";
|
"Je hebt ${storageSaved} succesvol vrijgemaakt!";
|
||||||
|
|
||||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||||
|
@ -1020,7 +1017,6 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"paymentFailed":
|
"paymentFailed":
|
||||||
MessageLookupByLibrary.simpleMessage("Betaling mislukt"),
|
MessageLookupByLibrary.simpleMessage("Betaling mislukt"),
|
||||||
"paymentFailedTalkToProvider": m37,
|
"paymentFailedTalkToProvider": m37,
|
||||||
"paymentFailedWithReason": m38,
|
|
||||||
"pendingItems":
|
"pendingItems":
|
||||||
MessageLookupByLibrary.simpleMessage("Bestanden in behandeling"),
|
MessageLookupByLibrary.simpleMessage("Bestanden in behandeling"),
|
||||||
"pendingSync": MessageLookupByLibrary.simpleMessage(
|
"pendingSync": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1048,7 +1044,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("Album bovenaan vastzetten"),
|
MessageLookupByLibrary.simpleMessage("Album bovenaan vastzetten"),
|
||||||
"playOnTv":
|
"playOnTv":
|
||||||
MessageLookupByLibrary.simpleMessage("Album afspelen op TV"),
|
MessageLookupByLibrary.simpleMessage("Album afspelen op TV"),
|
||||||
"playStoreFreeTrialValidTill": m39,
|
"playStoreFreeTrialValidTill": m38,
|
||||||
"playstoreSubscription":
|
"playstoreSubscription":
|
||||||
MessageLookupByLibrary.simpleMessage("PlayStore abonnement"),
|
MessageLookupByLibrary.simpleMessage("PlayStore abonnement"),
|
||||||
"pleaseCheckYourInternetConnectionAndTryAgain":
|
"pleaseCheckYourInternetConnectionAndTryAgain":
|
||||||
|
@ -1060,12 +1056,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"pleaseContactSupportIfTheProblemPersists":
|
"pleaseContactSupportIfTheProblemPersists":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Neem contact op met klantenservice als het probleem aanhoudt"),
|
"Neem contact op met klantenservice als het probleem aanhoudt"),
|
||||||
"pleaseEmailUsAt": m40,
|
"pleaseEmailUsAt": m39,
|
||||||
"pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage(
|
"pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage(
|
||||||
"Geef alstublieft toestemming"),
|
"Geef alstublieft toestemming"),
|
||||||
"pleaseLoginAgain":
|
"pleaseLoginAgain":
|
||||||
MessageLookupByLibrary.simpleMessage("Log opnieuw in"),
|
MessageLookupByLibrary.simpleMessage("Log opnieuw in"),
|
||||||
"pleaseSendTheLogsTo": m41,
|
"pleaseSendTheLogsTo": m40,
|
||||||
"pleaseTryAgain":
|
"pleaseTryAgain":
|
||||||
MessageLookupByLibrary.simpleMessage("Probeer het nog eens"),
|
MessageLookupByLibrary.simpleMessage("Probeer het nog eens"),
|
||||||
"pleaseVerifyTheCodeYouHaveEntered":
|
"pleaseVerifyTheCodeYouHaveEntered":
|
||||||
|
@ -1100,7 +1096,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"raiseTicket": MessageLookupByLibrary.simpleMessage("Meld probleem"),
|
"raiseTicket": MessageLookupByLibrary.simpleMessage("Meld probleem"),
|
||||||
"rateTheApp": MessageLookupByLibrary.simpleMessage("Beoordeel de app"),
|
"rateTheApp": MessageLookupByLibrary.simpleMessage("Beoordeel de app"),
|
||||||
"rateUs": MessageLookupByLibrary.simpleMessage("Beoordeel ons"),
|
"rateUs": MessageLookupByLibrary.simpleMessage("Beoordeel ons"),
|
||||||
"rateUsOnStore": m42,
|
"rateUsOnStore": m41,
|
||||||
"recover": MessageLookupByLibrary.simpleMessage("Herstellen"),
|
"recover": MessageLookupByLibrary.simpleMessage("Herstellen"),
|
||||||
"recoverAccount":
|
"recoverAccount":
|
||||||
MessageLookupByLibrary.simpleMessage("Account herstellen"),
|
MessageLookupByLibrary.simpleMessage("Account herstellen"),
|
||||||
|
@ -1131,7 +1127,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"1. Geef deze code aan je vrienden"),
|
"1. Geef deze code aan je vrienden"),
|
||||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||||
"2. Ze registreren voor een betaald plan"),
|
"2. Ze registreren voor een betaald plan"),
|
||||||
"referralStep3": m43,
|
"referralStep3": m42,
|
||||||
"referrals": MessageLookupByLibrary.simpleMessage("Referenties"),
|
"referrals": MessageLookupByLibrary.simpleMessage("Referenties"),
|
||||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||||
"Verwijzingen zijn momenteel gepauzeerd"),
|
"Verwijzingen zijn momenteel gepauzeerd"),
|
||||||
|
@ -1157,7 +1153,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"removeLink": MessageLookupByLibrary.simpleMessage("Verwijder link"),
|
"removeLink": MessageLookupByLibrary.simpleMessage("Verwijder link"),
|
||||||
"removeParticipant":
|
"removeParticipant":
|
||||||
MessageLookupByLibrary.simpleMessage("Deelnemer verwijderen"),
|
MessageLookupByLibrary.simpleMessage("Deelnemer verwijderen"),
|
||||||
"removeParticipantBody": m44,
|
"removeParticipantBody": m43,
|
||||||
"removePublicLink":
|
"removePublicLink":
|
||||||
MessageLookupByLibrary.simpleMessage("Verwijder publieke link"),
|
MessageLookupByLibrary.simpleMessage("Verwijder publieke link"),
|
||||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1173,7 +1169,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("Bestandsnaam wijzigen"),
|
MessageLookupByLibrary.simpleMessage("Bestandsnaam wijzigen"),
|
||||||
"renewSubscription":
|
"renewSubscription":
|
||||||
MessageLookupByLibrary.simpleMessage("Abonnement verlengen"),
|
MessageLookupByLibrary.simpleMessage("Abonnement verlengen"),
|
||||||
"renewsOn": m45,
|
"renewsOn": m44,
|
||||||
"reportABug": MessageLookupByLibrary.simpleMessage("Een fout melden"),
|
"reportABug": MessageLookupByLibrary.simpleMessage("Een fout melden"),
|
||||||
"reportBug": MessageLookupByLibrary.simpleMessage("Fout melden"),
|
"reportBug": MessageLookupByLibrary.simpleMessage("Fout melden"),
|
||||||
"resendEmail":
|
"resendEmail":
|
||||||
|
@ -1235,7 +1231,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"Foto\'s groeperen die in een bepaalde straal van een foto worden genomen"),
|
"Foto\'s groeperen die in een bepaalde straal van een foto worden genomen"),
|
||||||
"searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage(
|
"searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage(
|
||||||
"Nodig mensen uit, en je ziet alle foto\'s die door hen worden gedeeld hier"),
|
"Nodig mensen uit, en je ziet alle foto\'s die door hen worden gedeeld hier"),
|
||||||
"searchResultCount": m46,
|
"searchResultCount": m45,
|
||||||
"security": MessageLookupByLibrary.simpleMessage("Beveiliging"),
|
"security": MessageLookupByLibrary.simpleMessage("Beveiliging"),
|
||||||
"selectALocation":
|
"selectALocation":
|
||||||
MessageLookupByLibrary.simpleMessage("Selecteer een locatie"),
|
MessageLookupByLibrary.simpleMessage("Selecteer een locatie"),
|
||||||
|
@ -1262,8 +1258,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Geselecteerde bestanden worden verwijderd uit alle albums en verplaatst naar de prullenbak."),
|
"Geselecteerde bestanden worden verwijderd uit alle albums en verplaatst naar de prullenbak."),
|
||||||
"selectedPhotos": m47,
|
"selectedPhotos": m46,
|
||||||
"selectedPhotosWithYours": m48,
|
"selectedPhotosWithYours": m47,
|
||||||
"send": MessageLookupByLibrary.simpleMessage("Verzenden"),
|
"send": MessageLookupByLibrary.simpleMessage("Verzenden"),
|
||||||
"sendEmail": MessageLookupByLibrary.simpleMessage("E-mail versturen"),
|
"sendEmail": MessageLookupByLibrary.simpleMessage("E-mail versturen"),
|
||||||
"sendInvite":
|
"sendInvite":
|
||||||
|
@ -1287,16 +1283,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"shareAnAlbumNow":
|
"shareAnAlbumNow":
|
||||||
MessageLookupByLibrary.simpleMessage("Deel nu een album"),
|
MessageLookupByLibrary.simpleMessage("Deel nu een album"),
|
||||||
"shareLink": MessageLookupByLibrary.simpleMessage("Link delen"),
|
"shareLink": MessageLookupByLibrary.simpleMessage("Link delen"),
|
||||||
"shareMyVerificationID": m49,
|
"shareMyVerificationID": m48,
|
||||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||||
"Deel alleen met de mensen die u wilt"),
|
"Deel alleen met de mensen die u wilt"),
|
||||||
"shareTextConfirmOthersVerificationID": m50,
|
"shareTextConfirmOthersVerificationID": m49,
|
||||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||||
"Download ente zodat we gemakkelijk foto\'s en video\'s van originele kwaliteit kunnen delen\n\nhttps://ente.io"),
|
"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(
|
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||||
"Delen met niet-ente gebruikers"),
|
"Delen met niet-ente gebruikers"),
|
||||||
"shareWithPeopleSectionTitle": m52,
|
"shareWithPeopleSectionTitle": m51,
|
||||||
"shareYourFirstAlbum":
|
"shareYourFirstAlbum":
|
||||||
MessageLookupByLibrary.simpleMessage("Deel jouw eerste album"),
|
MessageLookupByLibrary.simpleMessage("Deel jouw eerste album"),
|
||||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1307,7 +1303,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("Nieuwe gedeelde foto\'s"),
|
MessageLookupByLibrary.simpleMessage("Nieuwe gedeelde foto\'s"),
|
||||||
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||||
"Ontvang meldingen wanneer iemand een foto toevoegt aan een gedeeld album waar je deel van uitmaakt"),
|
"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"),
|
"sharedWithMe": MessageLookupByLibrary.simpleMessage("Gedeeld met mij"),
|
||||||
"sharedWithYou":
|
"sharedWithYou":
|
||||||
MessageLookupByLibrary.simpleMessage("Gedeeld met jou"),
|
MessageLookupByLibrary.simpleMessage("Gedeeld met jou"),
|
||||||
|
@ -1322,11 +1318,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("Log uit op andere apparaten"),
|
MessageLookupByLibrary.simpleMessage("Log uit op andere apparaten"),
|
||||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||||
"Ik ga akkoord met de <u-terms>gebruiksvoorwaarden</u-terms> en <u-policy>privacybeleid</u-policy>"),
|
"Ik ga akkoord met de <u-terms>gebruiksvoorwaarden</u-terms> en <u-policy>privacybeleid</u-policy>"),
|
||||||
"singleFileDeleteFromDevice": m54,
|
"singleFileDeleteFromDevice": m53,
|
||||||
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||||
"Het wordt uit alle albums verwijderd."),
|
"Het wordt uit alle albums verwijderd."),
|
||||||
"singleFileInBothLocalAndRemote": m55,
|
"singleFileInBothLocalAndRemote": m54,
|
||||||
"singleFileInRemoteOnly": m56,
|
"singleFileInRemoteOnly": m55,
|
||||||
"skip": MessageLookupByLibrary.simpleMessage("Overslaan"),
|
"skip": MessageLookupByLibrary.simpleMessage("Overslaan"),
|
||||||
"social": MessageLookupByLibrary.simpleMessage("Sociale media"),
|
"social": MessageLookupByLibrary.simpleMessage("Sociale media"),
|
||||||
"someItemsAreInBothEnteAndYourDevice": MessageLookupByLibrary.simpleMessage(
|
"someItemsAreInBothEnteAndYourDevice": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1364,13 +1360,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"storage": MessageLookupByLibrary.simpleMessage("Opslagruimte"),
|
"storage": MessageLookupByLibrary.simpleMessage("Opslagruimte"),
|
||||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Familie"),
|
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Familie"),
|
||||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Jij"),
|
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Jij"),
|
||||||
"storageInGB": m57,
|
"storageInGB": m56,
|
||||||
"storageLimitExceeded":
|
"storageLimitExceeded":
|
||||||
MessageLookupByLibrary.simpleMessage("Opslaglimiet overschreden"),
|
MessageLookupByLibrary.simpleMessage("Opslaglimiet overschreden"),
|
||||||
"storageUsageInfo": m58,
|
"storageUsageInfo": m57,
|
||||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Sterk"),
|
"strongStrength": MessageLookupByLibrary.simpleMessage("Sterk"),
|
||||||
"subAlreadyLinkedErrMessage": m59,
|
"subAlreadyLinkedErrMessage": m58,
|
||||||
"subWillBeCancelledOn": m60,
|
"subWillBeCancelledOn": m59,
|
||||||
"subscribe": MessageLookupByLibrary.simpleMessage("Abonneer"),
|
"subscribe": MessageLookupByLibrary.simpleMessage("Abonneer"),
|
||||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||||
"Het lijkt erop dat je abonnement is verlopen. Abonneer om delen mogelijk te maken."),
|
"Het lijkt erop dat je abonnement is verlopen. Abonneer om delen mogelijk te maken."),
|
||||||
|
@ -1387,7 +1383,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"suggestFeatures":
|
"suggestFeatures":
|
||||||
MessageLookupByLibrary.simpleMessage("Features voorstellen"),
|
MessageLookupByLibrary.simpleMessage("Features voorstellen"),
|
||||||
"support": MessageLookupByLibrary.simpleMessage("Ondersteuning"),
|
"support": MessageLookupByLibrary.simpleMessage("Ondersteuning"),
|
||||||
"syncProgress": m61,
|
"syncProgress": m60,
|
||||||
"syncStopped":
|
"syncStopped":
|
||||||
MessageLookupByLibrary.simpleMessage("Synchronisatie gestopt"),
|
MessageLookupByLibrary.simpleMessage("Synchronisatie gestopt"),
|
||||||
"syncing": MessageLookupByLibrary.simpleMessage("Synchroniseren..."),
|
"syncing": MessageLookupByLibrary.simpleMessage("Synchroniseren..."),
|
||||||
|
@ -1415,7 +1411,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"theseItemsWillBeDeletedFromYourDevice":
|
"theseItemsWillBeDeletedFromYourDevice":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Deze bestanden zullen worden verwijderd van uw apparaat."),
|
"Deze bestanden zullen worden verwijderd van uw apparaat."),
|
||||||
"theyAlsoGetXGb": m62,
|
"theyAlsoGetXGb": m61,
|
||||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||||
"Ze zullen uit alle albums worden verwijderd."),
|
"Ze zullen uit alle albums worden verwijderd."),
|
||||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1431,7 +1427,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"Dit e-mailadres is al in gebruik"),
|
"Dit e-mailadres is al in gebruik"),
|
||||||
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
||||||
"Deze foto heeft geen exif gegevens"),
|
"Deze foto heeft geen exif gegevens"),
|
||||||
"thisIsPersonVerificationId": m63,
|
"thisIsPersonVerificationId": m62,
|
||||||
"thisIsYourVerificationId":
|
"thisIsYourVerificationId":
|
||||||
MessageLookupByLibrary.simpleMessage("Dit is uw verificatie-ID"),
|
MessageLookupByLibrary.simpleMessage("Dit is uw verificatie-ID"),
|
||||||
"thisWillLogYouOutOfTheFollowingDevice":
|
"thisWillLogYouOutOfTheFollowingDevice":
|
||||||
|
@ -1448,7 +1444,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"total": MessageLookupByLibrary.simpleMessage("totaal"),
|
"total": MessageLookupByLibrary.simpleMessage("totaal"),
|
||||||
"totalSize": MessageLookupByLibrary.simpleMessage("Totale grootte"),
|
"totalSize": MessageLookupByLibrary.simpleMessage("Totale grootte"),
|
||||||
"trash": MessageLookupByLibrary.simpleMessage("Prullenbak"),
|
"trash": MessageLookupByLibrary.simpleMessage("Prullenbak"),
|
||||||
"trashDaysLeft": m64,
|
"trashDaysLeft": m63,
|
||||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Probeer opnieuw"),
|
"tryAgain": MessageLookupByLibrary.simpleMessage("Probeer opnieuw"),
|
||||||
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
||||||
"Schakel back-up in om bestanden die toegevoegd zijn aan deze map op dit apparaat automatisch te uploaden."),
|
"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":
|
"useSelectedPhoto":
|
||||||
MessageLookupByLibrary.simpleMessage("Gebruik geselecteerde foto"),
|
MessageLookupByLibrary.simpleMessage("Gebruik geselecteerde foto"),
|
||||||
"usedSpace": MessageLookupByLibrary.simpleMessage("Gebruikte ruimte"),
|
"usedSpace": MessageLookupByLibrary.simpleMessage("Gebruikte ruimte"),
|
||||||
"validTill": m65,
|
"validTill": m64,
|
||||||
"verificationFailedPleaseTryAgain":
|
"verificationFailedPleaseTryAgain":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Verificatie mislukt, probeer het opnieuw"),
|
"Verificatie mislukt, probeer het opnieuw"),
|
||||||
|
@ -1512,7 +1508,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("Verificatie ID"),
|
MessageLookupByLibrary.simpleMessage("Verificatie ID"),
|
||||||
"verify": MessageLookupByLibrary.simpleMessage("Verifiëren"),
|
"verify": MessageLookupByLibrary.simpleMessage("Verifiëren"),
|
||||||
"verifyEmail": MessageLookupByLibrary.simpleMessage("Bevestig e-mail"),
|
"verifyEmail": MessageLookupByLibrary.simpleMessage("Bevestig e-mail"),
|
||||||
"verifyEmailID": m66,
|
"verifyEmailID": m65,
|
||||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verifiëren"),
|
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verifiëren"),
|
||||||
"verifyPassword":
|
"verifyPassword":
|
||||||
MessageLookupByLibrary.simpleMessage("Bevestig wachtwoord"),
|
MessageLookupByLibrary.simpleMessage("Bevestig wachtwoord"),
|
||||||
|
@ -1541,11 +1537,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"We ondersteunen het bewerken van foto\'s en albums waar je niet de eigenaar van bent nog niet"),
|
"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"),
|
"weakStrength": MessageLookupByLibrary.simpleMessage("Zwak"),
|
||||||
"welcomeBack": MessageLookupByLibrary.simpleMessage("Welkom terug!"),
|
"welcomeBack": MessageLookupByLibrary.simpleMessage("Welkom terug!"),
|
||||||
"yearly": MessageLookupByLibrary.simpleMessage("Jaarlijks"),
|
"yearly": MessageLookupByLibrary.simpleMessage("Jaarlijks"),
|
||||||
"yearsAgo": m68,
|
"yearsAgo": m67,
|
||||||
"yes": MessageLookupByLibrary.simpleMessage("Ja"),
|
"yes": MessageLookupByLibrary.simpleMessage("Ja"),
|
||||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Ja, opzeggen"),
|
"yesCancel": MessageLookupByLibrary.simpleMessage("Ja, opzeggen"),
|
||||||
"yesConvertToViewer":
|
"yesConvertToViewer":
|
||||||
|
@ -1575,7 +1571,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"Je kunt niet met jezelf delen"),
|
"Je kunt niet met jezelf delen"),
|
||||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||||
"U heeft geen gearchiveerde bestanden."),
|
"U heeft geen gearchiveerde bestanden."),
|
||||||
"youHaveSuccessfullyFreedUp": m69,
|
"youHaveSuccessfullyFreedUp": m68,
|
||||||
"yourAccountHasBeenDeleted":
|
"yourAccountHasBeenDeleted":
|
||||||
MessageLookupByLibrary.simpleMessage("Je account is verwijderd"),
|
MessageLookupByLibrary.simpleMessage("Je account is verwijderd"),
|
||||||
"yourMap": MessageLookupByLibrary.simpleMessage("Jouw kaart"),
|
"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) =>
|
static String m37(providerName) =>
|
||||||
"Por favor, fale com o suporte ${providerName} se você foi cobrado";
|
"Por favor, fale com o suporte ${providerName} se você foi cobrado";
|
||||||
|
|
||||||
static String m38(reason) =>
|
static String m38(endDate) =>
|
||||||
"Infelizmente o seu pagamento falhou devido a ${reason}";
|
|
||||||
|
|
||||||
static String m39(endDate) =>
|
|
||||||
"Teste gratuito válido até ${endDate}.\nVocê pode escolher um plano pago depois.";
|
"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}";
|
"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";
|
"${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')}";
|
"${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)";
|
"${count} Selecionado (${yourCount} seus)";
|
||||||
|
|
||||||
static String m49(verificationID) =>
|
static String m48(verificationID) =>
|
||||||
"Aqui está meu ID de verificação para o Ente.io: ${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}";
|
"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";
|
"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')}";
|
"${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.";
|
"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.";
|
"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, totalAmount, totalStorageUnit) =>
|
||||||
"${usedAmount} ${usedStorageUnit} de ${totalAmount} ${totalStorageUnit} usado";
|
"${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\'\'";
|
"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";
|
"${completed}/${total} memórias preservadas";
|
||||||
|
|
||||||
static String m62(storageAmountInGB) =>
|
static String m61(storageAmountInGB) =>
|
||||||
"Eles também recebem ${storageAmountInGB} GB";
|
"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')}";
|
"${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')}";
|
"${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!";
|
"Você liberou ${storageSaved} com sucesso!";
|
||||||
|
|
||||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||||
|
@ -1015,7 +1012,6 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"paymentFailed":
|
"paymentFailed":
|
||||||
MessageLookupByLibrary.simpleMessage("Falha no pagamento"),
|
MessageLookupByLibrary.simpleMessage("Falha no pagamento"),
|
||||||
"paymentFailedTalkToProvider": m37,
|
"paymentFailedTalkToProvider": m37,
|
||||||
"paymentFailedWithReason": m38,
|
|
||||||
"pendingItems": MessageLookupByLibrary.simpleMessage("Itens pendentes"),
|
"pendingItems": MessageLookupByLibrary.simpleMessage("Itens pendentes"),
|
||||||
"pendingSync":
|
"pendingSync":
|
||||||
MessageLookupByLibrary.simpleMessage("Sincronização pendente"),
|
MessageLookupByLibrary.simpleMessage("Sincronização pendente"),
|
||||||
|
@ -1041,7 +1037,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"pinAlbum": MessageLookupByLibrary.simpleMessage("Fixar álbum"),
|
"pinAlbum": MessageLookupByLibrary.simpleMessage("Fixar álbum"),
|
||||||
"playOnTv":
|
"playOnTv":
|
||||||
MessageLookupByLibrary.simpleMessage("Reproduzir álbum na TV"),
|
MessageLookupByLibrary.simpleMessage("Reproduzir álbum na TV"),
|
||||||
"playStoreFreeTrialValidTill": m39,
|
"playStoreFreeTrialValidTill": m38,
|
||||||
"playstoreSubscription":
|
"playstoreSubscription":
|
||||||
MessageLookupByLibrary.simpleMessage("Assinatura da PlayStore"),
|
MessageLookupByLibrary.simpleMessage("Assinatura da PlayStore"),
|
||||||
"pleaseCheckYourInternetConnectionAndTryAgain":
|
"pleaseCheckYourInternetConnectionAndTryAgain":
|
||||||
|
@ -1053,12 +1049,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"pleaseContactSupportIfTheProblemPersists":
|
"pleaseContactSupportIfTheProblemPersists":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Por favor, contate o suporte se o problema persistir"),
|
"Por favor, contate o suporte se o problema persistir"),
|
||||||
"pleaseEmailUsAt": m40,
|
"pleaseEmailUsAt": m39,
|
||||||
"pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage(
|
"pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage(
|
||||||
"Por favor, conceda as permissões"),
|
"Por favor, conceda as permissões"),
|
||||||
"pleaseLoginAgain": MessageLookupByLibrary.simpleMessage(
|
"pleaseLoginAgain": MessageLookupByLibrary.simpleMessage(
|
||||||
"Por favor, faça login novamente"),
|
"Por favor, faça login novamente"),
|
||||||
"pleaseSendTheLogsTo": m41,
|
"pleaseSendTheLogsTo": m40,
|
||||||
"pleaseTryAgain":
|
"pleaseTryAgain":
|
||||||
MessageLookupByLibrary.simpleMessage("Por favor, tente novamente"),
|
MessageLookupByLibrary.simpleMessage("Por favor, tente novamente"),
|
||||||
"pleaseVerifyTheCodeYouHaveEntered":
|
"pleaseVerifyTheCodeYouHaveEntered":
|
||||||
|
@ -1095,7 +1091,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"rateTheApp":
|
"rateTheApp":
|
||||||
MessageLookupByLibrary.simpleMessage("Avalie o aplicativo"),
|
MessageLookupByLibrary.simpleMessage("Avalie o aplicativo"),
|
||||||
"rateUs": MessageLookupByLibrary.simpleMessage("Avalie-nos"),
|
"rateUs": MessageLookupByLibrary.simpleMessage("Avalie-nos"),
|
||||||
"rateUsOnStore": m42,
|
"rateUsOnStore": m41,
|
||||||
"recover": MessageLookupByLibrary.simpleMessage("Recuperar"),
|
"recover": MessageLookupByLibrary.simpleMessage("Recuperar"),
|
||||||
"recoverAccount":
|
"recoverAccount":
|
||||||
MessageLookupByLibrary.simpleMessage("Recuperar conta"),
|
MessageLookupByLibrary.simpleMessage("Recuperar conta"),
|
||||||
|
@ -1127,7 +1123,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"Envie esse código aos seus amigos"),
|
"Envie esse código aos seus amigos"),
|
||||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||||
"2. Eles se inscreveram para um plano pago"),
|
"2. Eles se inscreveram para um plano pago"),
|
||||||
"referralStep3": m43,
|
"referralStep3": m42,
|
||||||
"referrals": MessageLookupByLibrary.simpleMessage("Indicações"),
|
"referrals": MessageLookupByLibrary.simpleMessage("Indicações"),
|
||||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||||
"Referências estão atualmente pausadas"),
|
"Referências estão atualmente pausadas"),
|
||||||
|
@ -1151,7 +1147,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"removeLink": MessageLookupByLibrary.simpleMessage("Remover link"),
|
"removeLink": MessageLookupByLibrary.simpleMessage("Remover link"),
|
||||||
"removeParticipant":
|
"removeParticipant":
|
||||||
MessageLookupByLibrary.simpleMessage("Remover participante"),
|
MessageLookupByLibrary.simpleMessage("Remover participante"),
|
||||||
"removeParticipantBody": m44,
|
"removeParticipantBody": m43,
|
||||||
"removePublicLink":
|
"removePublicLink":
|
||||||
MessageLookupByLibrary.simpleMessage("Remover link público"),
|
MessageLookupByLibrary.simpleMessage("Remover link público"),
|
||||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1165,7 +1161,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"renameFile": MessageLookupByLibrary.simpleMessage("Renomear arquivo"),
|
"renameFile": MessageLookupByLibrary.simpleMessage("Renomear arquivo"),
|
||||||
"renewSubscription":
|
"renewSubscription":
|
||||||
MessageLookupByLibrary.simpleMessage("Renovar assinatura"),
|
MessageLookupByLibrary.simpleMessage("Renovar assinatura"),
|
||||||
"renewsOn": m45,
|
"renewsOn": m44,
|
||||||
"reportABug":
|
"reportABug":
|
||||||
MessageLookupByLibrary.simpleMessage("Reportar um problema"),
|
MessageLookupByLibrary.simpleMessage("Reportar um problema"),
|
||||||
"reportBug":
|
"reportBug":
|
||||||
|
@ -1230,7 +1226,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"Fotos de grupo que estão sendo tiradas em algum raio da foto"),
|
"Fotos de grupo que estão sendo tiradas em algum raio da foto"),
|
||||||
"searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage(
|
"searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage(
|
||||||
"Convide pessoas e você verá todas as fotos compartilhadas por elas aqui"),
|
"Convide pessoas e você verá todas as fotos compartilhadas por elas aqui"),
|
||||||
"searchResultCount": m46,
|
"searchResultCount": m45,
|
||||||
"security": MessageLookupByLibrary.simpleMessage("Segurança"),
|
"security": MessageLookupByLibrary.simpleMessage("Segurança"),
|
||||||
"selectALocation":
|
"selectALocation":
|
||||||
MessageLookupByLibrary.simpleMessage("Selecionar um local"),
|
MessageLookupByLibrary.simpleMessage("Selecionar um local"),
|
||||||
|
@ -1258,8 +1254,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Os itens selecionados serão excluídos de todos os álbuns e movidos para o lixo."),
|
"Os itens selecionados serão excluídos de todos os álbuns e movidos para o lixo."),
|
||||||
"selectedPhotos": m47,
|
"selectedPhotos": m46,
|
||||||
"selectedPhotosWithYours": m48,
|
"selectedPhotosWithYours": m47,
|
||||||
"send": MessageLookupByLibrary.simpleMessage("Enviar"),
|
"send": MessageLookupByLibrary.simpleMessage("Enviar"),
|
||||||
"sendEmail": MessageLookupByLibrary.simpleMessage("Enviar e-mail"),
|
"sendEmail": MessageLookupByLibrary.simpleMessage("Enviar e-mail"),
|
||||||
"sendInvite": MessageLookupByLibrary.simpleMessage("Enviar convite"),
|
"sendInvite": MessageLookupByLibrary.simpleMessage("Enviar convite"),
|
||||||
|
@ -1283,16 +1279,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"shareAnAlbumNow":
|
"shareAnAlbumNow":
|
||||||
MessageLookupByLibrary.simpleMessage("Compartilhar um álbum agora"),
|
MessageLookupByLibrary.simpleMessage("Compartilhar um álbum agora"),
|
||||||
"shareLink": MessageLookupByLibrary.simpleMessage("Compartilhar link"),
|
"shareLink": MessageLookupByLibrary.simpleMessage("Compartilhar link"),
|
||||||
"shareMyVerificationID": m49,
|
"shareMyVerificationID": m48,
|
||||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||||
"Compartilhar apenas com as pessoas que você quiser"),
|
"Compartilhar apenas com as pessoas que você quiser"),
|
||||||
"shareTextConfirmOthersVerificationID": m50,
|
"shareTextConfirmOthersVerificationID": m49,
|
||||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||||
"Baixe o Ente para podermos compartilhar facilmente fotos e vídeos de alta qualidade\n\nhttps://ente.io"),
|
"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(
|
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||||
"Compartilhar com usuários não-Ente"),
|
"Compartilhar com usuários não-Ente"),
|
||||||
"shareWithPeopleSectionTitle": m52,
|
"shareWithPeopleSectionTitle": m51,
|
||||||
"shareYourFirstAlbum": MessageLookupByLibrary.simpleMessage(
|
"shareYourFirstAlbum": MessageLookupByLibrary.simpleMessage(
|
||||||
"Compartilhar seu primeiro álbum"),
|
"Compartilhar seu primeiro álbum"),
|
||||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1305,7 +1301,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("Novas fotos compartilhadas"),
|
MessageLookupByLibrary.simpleMessage("Novas fotos compartilhadas"),
|
||||||
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||||
"Receber notificações quando alguém adicionar uma foto em um álbum compartilhado que você faz parte"),
|
"Receber notificações quando alguém adicionar uma foto em um álbum compartilhado que você faz parte"),
|
||||||
"sharedWith": m53,
|
"sharedWith": m52,
|
||||||
"sharedWithMe":
|
"sharedWithMe":
|
||||||
MessageLookupByLibrary.simpleMessage("Compartilhado comigo"),
|
MessageLookupByLibrary.simpleMessage("Compartilhado comigo"),
|
||||||
"sharedWithYou":
|
"sharedWithYou":
|
||||||
|
@ -1321,11 +1317,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"Terminar sessão em outros dispositivos"),
|
"Terminar sessão em outros dispositivos"),
|
||||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
"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>"),
|
"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(
|
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||||
"Ele será excluído de todos os álbuns."),
|
"Ele será excluído de todos os álbuns."),
|
||||||
"singleFileInBothLocalAndRemote": m55,
|
"singleFileInBothLocalAndRemote": m54,
|
||||||
"singleFileInRemoteOnly": m56,
|
"singleFileInRemoteOnly": m55,
|
||||||
"skip": MessageLookupByLibrary.simpleMessage("Pular"),
|
"skip": MessageLookupByLibrary.simpleMessage("Pular"),
|
||||||
"social": MessageLookupByLibrary.simpleMessage("Redes sociais"),
|
"social": MessageLookupByLibrary.simpleMessage("Redes sociais"),
|
||||||
"someItemsAreInBothEnteAndYourDevice":
|
"someItemsAreInBothEnteAndYourDevice":
|
||||||
|
@ -1366,13 +1362,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"storage": MessageLookupByLibrary.simpleMessage("Armazenamento"),
|
"storage": MessageLookupByLibrary.simpleMessage("Armazenamento"),
|
||||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Família"),
|
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Família"),
|
||||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Você"),
|
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Você"),
|
||||||
"storageInGB": m57,
|
"storageInGB": m56,
|
||||||
"storageLimitExceeded": MessageLookupByLibrary.simpleMessage(
|
"storageLimitExceeded": MessageLookupByLibrary.simpleMessage(
|
||||||
"Limite de armazenamento excedido"),
|
"Limite de armazenamento excedido"),
|
||||||
"storageUsageInfo": m58,
|
"storageUsageInfo": m57,
|
||||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Forte"),
|
"strongStrength": MessageLookupByLibrary.simpleMessage("Forte"),
|
||||||
"subAlreadyLinkedErrMessage": m59,
|
"subAlreadyLinkedErrMessage": m58,
|
||||||
"subWillBeCancelledOn": m60,
|
"subWillBeCancelledOn": m59,
|
||||||
"subscribe": MessageLookupByLibrary.simpleMessage("Assinar"),
|
"subscribe": MessageLookupByLibrary.simpleMessage("Assinar"),
|
||||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||||
"Parece que sua assinatura expirou. Por favor inscreva-se para ativar o compartilhamento."),
|
"Parece que sua assinatura expirou. Por favor inscreva-se para ativar o compartilhamento."),
|
||||||
|
@ -1389,7 +1385,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"suggestFeatures":
|
"suggestFeatures":
|
||||||
MessageLookupByLibrary.simpleMessage("Sugerir funcionalidades"),
|
MessageLookupByLibrary.simpleMessage("Sugerir funcionalidades"),
|
||||||
"support": MessageLookupByLibrary.simpleMessage("Suporte"),
|
"support": MessageLookupByLibrary.simpleMessage("Suporte"),
|
||||||
"syncProgress": m61,
|
"syncProgress": m60,
|
||||||
"syncStopped":
|
"syncStopped":
|
||||||
MessageLookupByLibrary.simpleMessage("Sincronização interrompida"),
|
MessageLookupByLibrary.simpleMessage("Sincronização interrompida"),
|
||||||
"syncing": MessageLookupByLibrary.simpleMessage("Sincronizando..."),
|
"syncing": MessageLookupByLibrary.simpleMessage("Sincronizando..."),
|
||||||
|
@ -1416,7 +1412,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"theseItemsWillBeDeletedFromYourDevice":
|
"theseItemsWillBeDeletedFromYourDevice":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Estes itens serão excluídos do seu dispositivo."),
|
"Estes itens serão excluídos do seu dispositivo."),
|
||||||
"theyAlsoGetXGb": m62,
|
"theyAlsoGetXGb": m61,
|
||||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||||
"Ele será excluído de todos os álbuns."),
|
"Ele será excluído de todos os álbuns."),
|
||||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1432,7 +1428,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("Este e-mail já está em uso"),
|
MessageLookupByLibrary.simpleMessage("Este e-mail já está em uso"),
|
||||||
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
||||||
"Esta imagem não tem dados exif"),
|
"Esta imagem não tem dados exif"),
|
||||||
"thisIsPersonVerificationId": m63,
|
"thisIsPersonVerificationId": m62,
|
||||||
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
||||||
"Este é o seu ID de verificação"),
|
"Este é o seu ID de verificação"),
|
||||||
"thisWillLogYouOutOfTheFollowingDevice":
|
"thisWillLogYouOutOfTheFollowingDevice":
|
||||||
|
@ -1448,7 +1444,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"total": MessageLookupByLibrary.simpleMessage("total"),
|
"total": MessageLookupByLibrary.simpleMessage("total"),
|
||||||
"totalSize": MessageLookupByLibrary.simpleMessage("Tamanho total"),
|
"totalSize": MessageLookupByLibrary.simpleMessage("Tamanho total"),
|
||||||
"trash": MessageLookupByLibrary.simpleMessage("Lixeira"),
|
"trash": MessageLookupByLibrary.simpleMessage("Lixeira"),
|
||||||
"trashDaysLeft": m64,
|
"trashDaysLeft": m63,
|
||||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Tente novamente"),
|
"tryAgain": MessageLookupByLibrary.simpleMessage("Tente novamente"),
|
||||||
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
||||||
"Ative o backup para enviar automaticamente arquivos adicionados a esta pasta do dispositivo para o ente."),
|
"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":
|
"useSelectedPhoto":
|
||||||
MessageLookupByLibrary.simpleMessage("Utilizar foto selecionada"),
|
MessageLookupByLibrary.simpleMessage("Utilizar foto selecionada"),
|
||||||
"usedSpace": MessageLookupByLibrary.simpleMessage("Espaço em uso"),
|
"usedSpace": MessageLookupByLibrary.simpleMessage("Espaço em uso"),
|
||||||
"validTill": m65,
|
"validTill": m64,
|
||||||
"verificationFailedPleaseTryAgain":
|
"verificationFailedPleaseTryAgain":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Falha na verificação, por favor, tente novamente"),
|
"Falha na verificação, por favor, tente novamente"),
|
||||||
|
@ -1509,7 +1505,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("ID de Verificação"),
|
MessageLookupByLibrary.simpleMessage("ID de Verificação"),
|
||||||
"verify": MessageLookupByLibrary.simpleMessage("Verificar"),
|
"verify": MessageLookupByLibrary.simpleMessage("Verificar"),
|
||||||
"verifyEmail": MessageLookupByLibrary.simpleMessage("Verificar email"),
|
"verifyEmail": MessageLookupByLibrary.simpleMessage("Verificar email"),
|
||||||
"verifyEmailID": m66,
|
"verifyEmailID": m65,
|
||||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verificar"),
|
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verificar"),
|
||||||
"verifyPasskey":
|
"verifyPasskey":
|
||||||
MessageLookupByLibrary.simpleMessage("Verificar chave de acesso"),
|
MessageLookupByLibrary.simpleMessage("Verificar chave de acesso"),
|
||||||
|
@ -1542,12 +1538,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||||
MessageLookupByLibrary.simpleMessage(
|
MessageLookupByLibrary.simpleMessage(
|
||||||
"Não suportamos a edição de fotos e álbuns que você ainda não possui"),
|
"Não suportamos a edição de fotos e álbuns que você ainda não possui"),
|
||||||
"weHaveSendEmailTo": m67,
|
"weHaveSendEmailTo": m66,
|
||||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Fraca"),
|
"weakStrength": MessageLookupByLibrary.simpleMessage("Fraca"),
|
||||||
"welcomeBack":
|
"welcomeBack":
|
||||||
MessageLookupByLibrary.simpleMessage("Bem-vindo de volta!"),
|
MessageLookupByLibrary.simpleMessage("Bem-vindo de volta!"),
|
||||||
"yearly": MessageLookupByLibrary.simpleMessage("Anual"),
|
"yearly": MessageLookupByLibrary.simpleMessage("Anual"),
|
||||||
"yearsAgo": m68,
|
"yearsAgo": m67,
|
||||||
"yes": MessageLookupByLibrary.simpleMessage("Sim"),
|
"yes": MessageLookupByLibrary.simpleMessage("Sim"),
|
||||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Sim, cancelar"),
|
"yesCancel": MessageLookupByLibrary.simpleMessage("Sim, cancelar"),
|
||||||
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage(
|
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1578,7 +1574,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"Você não pode compartilhar consigo mesmo"),
|
"Você não pode compartilhar consigo mesmo"),
|
||||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||||
"Você não tem nenhum item arquivado."),
|
"Você não tem nenhum item arquivado."),
|
||||||
"youHaveSuccessfullyFreedUp": m69,
|
"youHaveSuccessfullyFreedUp": m68,
|
||||||
"yourAccountHasBeenDeleted":
|
"yourAccountHasBeenDeleted":
|
||||||
MessageLookupByLibrary.simpleMessage("Sua conta foi excluída"),
|
MessageLookupByLibrary.simpleMessage("Sua conta foi excluída"),
|
||||||
"yourMap": MessageLookupByLibrary.simpleMessage("Seu mapa"),
|
"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 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 m43(userEmail) =>
|
||||||
|
|
||||||
static String m44(userEmail) =>
|
|
||||||
"${userEmail} 将从这个共享相册中删除\n\nTA们添加的任何照片也将从相册中删除";
|
"${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} 个结果')}";
|
"${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}";
|
"嘿,你能确认这是你的 ente.io 验证 ID吗:${verificationID}";
|
||||||
|
|
||||||
static String m51(referralCode, referralStorageInGB) =>
|
static String m50(referralCode, referralStorageInGB) =>
|
||||||
"ente推荐码: ${referralCode} \n\n注册付费计划后在设置 → 常规 → 推荐中应用它以免费获得 ${referralStorageInGB} GB空间\n\nhttps://ente.io";
|
"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} 人共享')}";
|
"${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) =>
|
||||||
"已使用 ${usedAmount} ${usedStorageUnit} / ${totalAmount} ${totalStorageUnit}";
|
"已使用 ${usedAmount} ${usedStorageUnit} / ${totalAmount} ${totalStorageUnit}";
|
||||||
|
|
||||||
static String m59(id) =>
|
static String m58(id) =>
|
||||||
"您的 ${id} 已经链接到另一个ente账户。\n如果您想要通过此账户使用您的 ${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} 天')}";
|
"${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} 年前')}";
|
"${Intl.plural(count, one: '${count} 年前', other: '${count} 年前')}";
|
||||||
|
|
||||||
static String m69(storageSaved) => "您已成功释放了 ${storageSaved}!";
|
static String m68(storageSaved) => "您已成功释放了 ${storageSaved}!";
|
||||||
|
|
||||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
||||||
|
@ -838,7 +836,6 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"paymentDetails": MessageLookupByLibrary.simpleMessage("付款明细"),
|
"paymentDetails": MessageLookupByLibrary.simpleMessage("付款明细"),
|
||||||
"paymentFailed": MessageLookupByLibrary.simpleMessage("支付失败"),
|
"paymentFailed": MessageLookupByLibrary.simpleMessage("支付失败"),
|
||||||
"paymentFailedTalkToProvider": m37,
|
"paymentFailedTalkToProvider": m37,
|
||||||
"paymentFailedWithReason": m38,
|
|
||||||
"pendingItems": MessageLookupByLibrary.simpleMessage("待处理项目"),
|
"pendingItems": MessageLookupByLibrary.simpleMessage("待处理项目"),
|
||||||
"pendingSync": MessageLookupByLibrary.simpleMessage("正在等待同步"),
|
"pendingSync": MessageLookupByLibrary.simpleMessage("正在等待同步"),
|
||||||
"peopleUsingYourCode": MessageLookupByLibrary.simpleMessage("使用您的代码的人"),
|
"peopleUsingYourCode": MessageLookupByLibrary.simpleMessage("使用您的代码的人"),
|
||||||
|
@ -856,7 +853,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"pickCenterPoint": MessageLookupByLibrary.simpleMessage("选择中心点"),
|
"pickCenterPoint": MessageLookupByLibrary.simpleMessage("选择中心点"),
|
||||||
"pinAlbum": MessageLookupByLibrary.simpleMessage("置顶相册"),
|
"pinAlbum": MessageLookupByLibrary.simpleMessage("置顶相册"),
|
||||||
"playOnTv": MessageLookupByLibrary.simpleMessage("在电视上播放相册"),
|
"playOnTv": MessageLookupByLibrary.simpleMessage("在电视上播放相册"),
|
||||||
"playStoreFreeTrialValidTill": m39,
|
"playStoreFreeTrialValidTill": m38,
|
||||||
"playstoreSubscription":
|
"playstoreSubscription":
|
||||||
MessageLookupByLibrary.simpleMessage("PlayStore 订阅"),
|
MessageLookupByLibrary.simpleMessage("PlayStore 订阅"),
|
||||||
"pleaseCheckYourInternetConnectionAndTryAgain":
|
"pleaseCheckYourInternetConnectionAndTryAgain":
|
||||||
|
@ -866,10 +863,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"请用英语联系 support@ente.io ,我们将乐意提供帮助!"),
|
"请用英语联系 support@ente.io ,我们将乐意提供帮助!"),
|
||||||
"pleaseContactSupportIfTheProblemPersists":
|
"pleaseContactSupportIfTheProblemPersists":
|
||||||
MessageLookupByLibrary.simpleMessage("如果问题仍然存在,请联系支持"),
|
MessageLookupByLibrary.simpleMessage("如果问题仍然存在,请联系支持"),
|
||||||
"pleaseEmailUsAt": m40,
|
"pleaseEmailUsAt": m39,
|
||||||
"pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage("请授予权限"),
|
"pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage("请授予权限"),
|
||||||
"pleaseLoginAgain": MessageLookupByLibrary.simpleMessage("请重新登录"),
|
"pleaseLoginAgain": MessageLookupByLibrary.simpleMessage("请重新登录"),
|
||||||
"pleaseSendTheLogsTo": m41,
|
"pleaseSendTheLogsTo": m40,
|
||||||
"pleaseTryAgain": MessageLookupByLibrary.simpleMessage("请重试"),
|
"pleaseTryAgain": MessageLookupByLibrary.simpleMessage("请重试"),
|
||||||
"pleaseVerifyTheCodeYouHaveEntered":
|
"pleaseVerifyTheCodeYouHaveEntered":
|
||||||
MessageLookupByLibrary.simpleMessage("请验证您输入的代码"),
|
MessageLookupByLibrary.simpleMessage("请验证您输入的代码"),
|
||||||
|
@ -895,7 +892,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"raiseTicket": MessageLookupByLibrary.simpleMessage("提升工单"),
|
"raiseTicket": MessageLookupByLibrary.simpleMessage("提升工单"),
|
||||||
"rateTheApp": MessageLookupByLibrary.simpleMessage("为此应用评分"),
|
"rateTheApp": MessageLookupByLibrary.simpleMessage("为此应用评分"),
|
||||||
"rateUs": MessageLookupByLibrary.simpleMessage("给我们评分"),
|
"rateUs": MessageLookupByLibrary.simpleMessage("给我们评分"),
|
||||||
"rateUsOnStore": m42,
|
"rateUsOnStore": m41,
|
||||||
"recover": MessageLookupByLibrary.simpleMessage("恢复"),
|
"recover": MessageLookupByLibrary.simpleMessage("恢复"),
|
||||||
"recoverAccount": MessageLookupByLibrary.simpleMessage("恢复账户"),
|
"recoverAccount": MessageLookupByLibrary.simpleMessage("恢复账户"),
|
||||||
"recoverButton": MessageLookupByLibrary.simpleMessage("恢复"),
|
"recoverButton": MessageLookupByLibrary.simpleMessage("恢复"),
|
||||||
|
@ -920,7 +917,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("把我们推荐给你的朋友然后获得延长一倍的订阅计划"),
|
MessageLookupByLibrary.simpleMessage("把我们推荐给你的朋友然后获得延长一倍的订阅计划"),
|
||||||
"referralStep1": MessageLookupByLibrary.simpleMessage("1. 将此代码提供给您的朋友"),
|
"referralStep1": MessageLookupByLibrary.simpleMessage("1. 将此代码提供给您的朋友"),
|
||||||
"referralStep2": MessageLookupByLibrary.simpleMessage("2. 他们注册一个付费计划"),
|
"referralStep2": MessageLookupByLibrary.simpleMessage("2. 他们注册一个付费计划"),
|
||||||
"referralStep3": m43,
|
"referralStep3": m42,
|
||||||
"referrals": MessageLookupByLibrary.simpleMessage("推荐人"),
|
"referrals": MessageLookupByLibrary.simpleMessage("推荐人"),
|
||||||
"referralsAreCurrentlyPaused":
|
"referralsAreCurrentlyPaused":
|
||||||
MessageLookupByLibrary.simpleMessage("推荐已暂停"),
|
MessageLookupByLibrary.simpleMessage("推荐已暂停"),
|
||||||
|
@ -939,7 +936,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"removeFromFavorite": MessageLookupByLibrary.simpleMessage("从收藏中移除"),
|
"removeFromFavorite": MessageLookupByLibrary.simpleMessage("从收藏中移除"),
|
||||||
"removeLink": MessageLookupByLibrary.simpleMessage("移除链接"),
|
"removeLink": MessageLookupByLibrary.simpleMessage("移除链接"),
|
||||||
"removeParticipant": MessageLookupByLibrary.simpleMessage("移除参与者"),
|
"removeParticipant": MessageLookupByLibrary.simpleMessage("移除参与者"),
|
||||||
"removeParticipantBody": m44,
|
"removeParticipantBody": m43,
|
||||||
"removePublicLink": MessageLookupByLibrary.simpleMessage("删除公开链接"),
|
"removePublicLink": MessageLookupByLibrary.simpleMessage("删除公开链接"),
|
||||||
"removeShareItemsWarning":
|
"removeShareItemsWarning":
|
||||||
MessageLookupByLibrary.simpleMessage("您要删除的某些项目是由其他人添加的,您将无法访问它们"),
|
MessageLookupByLibrary.simpleMessage("您要删除的某些项目是由其他人添加的,您将无法访问它们"),
|
||||||
|
@ -950,7 +947,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"renameAlbum": MessageLookupByLibrary.simpleMessage("重命名相册"),
|
"renameAlbum": MessageLookupByLibrary.simpleMessage("重命名相册"),
|
||||||
"renameFile": MessageLookupByLibrary.simpleMessage("重命名文件"),
|
"renameFile": MessageLookupByLibrary.simpleMessage("重命名文件"),
|
||||||
"renewSubscription": MessageLookupByLibrary.simpleMessage("续费订阅"),
|
"renewSubscription": MessageLookupByLibrary.simpleMessage("续费订阅"),
|
||||||
"renewsOn": m45,
|
"renewsOn": m44,
|
||||||
"reportABug": MessageLookupByLibrary.simpleMessage("报告错误"),
|
"reportABug": MessageLookupByLibrary.simpleMessage("报告错误"),
|
||||||
"reportBug": MessageLookupByLibrary.simpleMessage("报告错误"),
|
"reportBug": MessageLookupByLibrary.simpleMessage("报告错误"),
|
||||||
"resendEmail": MessageLookupByLibrary.simpleMessage("重新发送电子邮件"),
|
"resendEmail": MessageLookupByLibrary.simpleMessage("重新发送电子邮件"),
|
||||||
|
@ -997,7 +994,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("在照片的一定半径内拍摄的几组照片"),
|
MessageLookupByLibrary.simpleMessage("在照片的一定半径内拍摄的几组照片"),
|
||||||
"searchPeopleEmptySection":
|
"searchPeopleEmptySection":
|
||||||
MessageLookupByLibrary.simpleMessage("邀请他人,您将在此看到他们分享的所有照片"),
|
MessageLookupByLibrary.simpleMessage("邀请他人,您将在此看到他们分享的所有照片"),
|
||||||
"searchResultCount": m46,
|
"searchResultCount": m45,
|
||||||
"security": MessageLookupByLibrary.simpleMessage("安全"),
|
"security": MessageLookupByLibrary.simpleMessage("安全"),
|
||||||
"selectALocation": MessageLookupByLibrary.simpleMessage("选择一个位置"),
|
"selectALocation": MessageLookupByLibrary.simpleMessage("选择一个位置"),
|
||||||
"selectALocationFirst":
|
"selectALocationFirst":
|
||||||
|
@ -1017,8 +1014,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("所选文件夹将被加密和备份"),
|
MessageLookupByLibrary.simpleMessage("所选文件夹将被加密和备份"),
|
||||||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||||
MessageLookupByLibrary.simpleMessage("所选项目将从所有相册中删除并移动到回收站。"),
|
MessageLookupByLibrary.simpleMessage("所选项目将从所有相册中删除并移动到回收站。"),
|
||||||
"selectedPhotos": m47,
|
"selectedPhotos": m46,
|
||||||
"selectedPhotosWithYours": m48,
|
"selectedPhotosWithYours": m47,
|
||||||
"send": MessageLookupByLibrary.simpleMessage("发送"),
|
"send": MessageLookupByLibrary.simpleMessage("发送"),
|
||||||
"sendEmail": MessageLookupByLibrary.simpleMessage("发送电子邮件"),
|
"sendEmail": MessageLookupByLibrary.simpleMessage("发送电子邮件"),
|
||||||
"sendInvite": MessageLookupByLibrary.simpleMessage("发送邀请"),
|
"sendInvite": MessageLookupByLibrary.simpleMessage("发送邀请"),
|
||||||
|
@ -1037,16 +1034,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("打开相册并点击右上角的分享按钮进行分享"),
|
MessageLookupByLibrary.simpleMessage("打开相册并点击右上角的分享按钮进行分享"),
|
||||||
"shareAnAlbumNow": MessageLookupByLibrary.simpleMessage("立即分享相册"),
|
"shareAnAlbumNow": MessageLookupByLibrary.simpleMessage("立即分享相册"),
|
||||||
"shareLink": MessageLookupByLibrary.simpleMessage("分享链接"),
|
"shareLink": MessageLookupByLibrary.simpleMessage("分享链接"),
|
||||||
"shareMyVerificationID": m49,
|
"shareMyVerificationID": m48,
|
||||||
"shareOnlyWithThePeopleYouWant":
|
"shareOnlyWithThePeopleYouWant":
|
||||||
MessageLookupByLibrary.simpleMessage("仅与您想要的人分享"),
|
MessageLookupByLibrary.simpleMessage("仅与您想要的人分享"),
|
||||||
"shareTextConfirmOthersVerificationID": m50,
|
"shareTextConfirmOthersVerificationID": m49,
|
||||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||||
"下载 ente,以便我们轻松分享原始质量的照片和视频\n\nhttps://ente.io"),
|
"下载 ente,以便我们轻松分享原始质量的照片和视频\n\nhttps://ente.io"),
|
||||||
"shareTextReferralCode": m51,
|
"shareTextReferralCode": m50,
|
||||||
"shareWithNonenteUsers":
|
"shareWithNonenteUsers":
|
||||||
MessageLookupByLibrary.simpleMessage("与非ente 用户分享"),
|
MessageLookupByLibrary.simpleMessage("与非ente 用户分享"),
|
||||||
"shareWithPeopleSectionTitle": m52,
|
"shareWithPeopleSectionTitle": m51,
|
||||||
"shareYourFirstAlbum":
|
"shareYourFirstAlbum":
|
||||||
MessageLookupByLibrary.simpleMessage("分享您的第一个相册"),
|
MessageLookupByLibrary.simpleMessage("分享您的第一个相册"),
|
||||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||||
|
@ -1057,7 +1054,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("新共享的照片"),
|
MessageLookupByLibrary.simpleMessage("新共享的照片"),
|
||||||
"sharedPhotoNotificationsExplanation":
|
"sharedPhotoNotificationsExplanation":
|
||||||
MessageLookupByLibrary.simpleMessage("当有人将照片添加到您所属的共享相册时收到通知"),
|
MessageLookupByLibrary.simpleMessage("当有人将照片添加到您所属的共享相册时收到通知"),
|
||||||
"sharedWith": m53,
|
"sharedWith": m52,
|
||||||
"sharedWithMe": MessageLookupByLibrary.simpleMessage("与我共享"),
|
"sharedWithMe": MessageLookupByLibrary.simpleMessage("与我共享"),
|
||||||
"sharedWithYou": MessageLookupByLibrary.simpleMessage("已与您共享"),
|
"sharedWithYou": MessageLookupByLibrary.simpleMessage("已与您共享"),
|
||||||
"sharing": MessageLookupByLibrary.simpleMessage("正在分享..."),
|
"sharing": MessageLookupByLibrary.simpleMessage("正在分享..."),
|
||||||
|
@ -1069,11 +1066,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"signOutOtherDevices": MessageLookupByLibrary.simpleMessage("登出其他设备"),
|
"signOutOtherDevices": MessageLookupByLibrary.simpleMessage("登出其他设备"),
|
||||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||||
"我同意 <u-terms>服务条款</u-terms> 和 <u-policy>隐私政策</u-policy>"),
|
"我同意 <u-terms>服务条款</u-terms> 和 <u-policy>隐私政策</u-policy>"),
|
||||||
"singleFileDeleteFromDevice": m54,
|
"singleFileDeleteFromDevice": m53,
|
||||||
"singleFileDeleteHighlight":
|
"singleFileDeleteHighlight":
|
||||||
MessageLookupByLibrary.simpleMessage("它将从所有相册中删除。"),
|
MessageLookupByLibrary.simpleMessage("它将从所有相册中删除。"),
|
||||||
"singleFileInBothLocalAndRemote": m55,
|
"singleFileInBothLocalAndRemote": m54,
|
||||||
"singleFileInRemoteOnly": m56,
|
"singleFileInRemoteOnly": m55,
|
||||||
"skip": MessageLookupByLibrary.simpleMessage("跳过"),
|
"skip": MessageLookupByLibrary.simpleMessage("跳过"),
|
||||||
"social": MessageLookupByLibrary.simpleMessage("社交"),
|
"social": MessageLookupByLibrary.simpleMessage("社交"),
|
||||||
"someItemsAreInBothEnteAndYourDevice":
|
"someItemsAreInBothEnteAndYourDevice":
|
||||||
|
@ -1104,12 +1101,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"storage": MessageLookupByLibrary.simpleMessage("存储空间"),
|
"storage": MessageLookupByLibrary.simpleMessage("存储空间"),
|
||||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("家庭"),
|
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("家庭"),
|
||||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("您"),
|
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("您"),
|
||||||
"storageInGB": m57,
|
"storageInGB": m56,
|
||||||
"storageLimitExceeded": MessageLookupByLibrary.simpleMessage("已超出存储限制"),
|
"storageLimitExceeded": MessageLookupByLibrary.simpleMessage("已超出存储限制"),
|
||||||
"storageUsageInfo": m58,
|
"storageUsageInfo": m57,
|
||||||
"strongStrength": MessageLookupByLibrary.simpleMessage("强"),
|
"strongStrength": MessageLookupByLibrary.simpleMessage("强"),
|
||||||
"subAlreadyLinkedErrMessage": m59,
|
"subAlreadyLinkedErrMessage": m58,
|
||||||
"subWillBeCancelledOn": m60,
|
"subWillBeCancelledOn": m59,
|
||||||
"subscribe": MessageLookupByLibrary.simpleMessage("订阅"),
|
"subscribe": MessageLookupByLibrary.simpleMessage("订阅"),
|
||||||
"subscribeToEnableSharing":
|
"subscribeToEnableSharing":
|
||||||
MessageLookupByLibrary.simpleMessage("您的订阅似乎已过期。请订阅以启用分享。"),
|
MessageLookupByLibrary.simpleMessage("您的订阅似乎已过期。请订阅以启用分享。"),
|
||||||
|
@ -1122,7 +1119,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"successfullyUnhid": MessageLookupByLibrary.simpleMessage("已成功取消隐藏"),
|
"successfullyUnhid": MessageLookupByLibrary.simpleMessage("已成功取消隐藏"),
|
||||||
"suggestFeatures": MessageLookupByLibrary.simpleMessage("建议新功能"),
|
"suggestFeatures": MessageLookupByLibrary.simpleMessage("建议新功能"),
|
||||||
"support": MessageLookupByLibrary.simpleMessage("支持"),
|
"support": MessageLookupByLibrary.simpleMessage("支持"),
|
||||||
"syncProgress": m61,
|
"syncProgress": m60,
|
||||||
"syncStopped": MessageLookupByLibrary.simpleMessage("同步已停止"),
|
"syncStopped": MessageLookupByLibrary.simpleMessage("同步已停止"),
|
||||||
"syncing": MessageLookupByLibrary.simpleMessage("正在同步···"),
|
"syncing": MessageLookupByLibrary.simpleMessage("正在同步···"),
|
||||||
"systemTheme": MessageLookupByLibrary.simpleMessage("适应系统"),
|
"systemTheme": MessageLookupByLibrary.simpleMessage("适应系统"),
|
||||||
|
@ -1145,7 +1142,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"theme": MessageLookupByLibrary.simpleMessage("主题"),
|
"theme": MessageLookupByLibrary.simpleMessage("主题"),
|
||||||
"theseItemsWillBeDeletedFromYourDevice":
|
"theseItemsWillBeDeletedFromYourDevice":
|
||||||
MessageLookupByLibrary.simpleMessage("这些项目将从您的设备中删除。"),
|
MessageLookupByLibrary.simpleMessage("这些项目将从您的设备中删除。"),
|
||||||
"theyAlsoGetXGb": m62,
|
"theyAlsoGetXGb": m61,
|
||||||
"theyWillBeDeletedFromAllAlbums":
|
"theyWillBeDeletedFromAllAlbums":
|
||||||
MessageLookupByLibrary.simpleMessage("他们将从所有相册中删除。"),
|
MessageLookupByLibrary.simpleMessage("他们将从所有相册中删除。"),
|
||||||
"thisActionCannotBeUndone":
|
"thisActionCannotBeUndone":
|
||||||
|
@ -1159,7 +1156,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("这个邮箱地址已经被使用"),
|
MessageLookupByLibrary.simpleMessage("这个邮箱地址已经被使用"),
|
||||||
"thisImageHasNoExifData":
|
"thisImageHasNoExifData":
|
||||||
MessageLookupByLibrary.simpleMessage("此图像没有Exif 数据"),
|
MessageLookupByLibrary.simpleMessage("此图像没有Exif 数据"),
|
||||||
"thisIsPersonVerificationId": m63,
|
"thisIsPersonVerificationId": m62,
|
||||||
"thisIsYourVerificationId":
|
"thisIsYourVerificationId":
|
||||||
MessageLookupByLibrary.simpleMessage("这是您的验证 ID"),
|
MessageLookupByLibrary.simpleMessage("这是您的验证 ID"),
|
||||||
"thisWillLogYouOutOfTheFollowingDevice":
|
"thisWillLogYouOutOfTheFollowingDevice":
|
||||||
|
@ -1173,7 +1170,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"total": MessageLookupByLibrary.simpleMessage("总计"),
|
"total": MessageLookupByLibrary.simpleMessage("总计"),
|
||||||
"totalSize": MessageLookupByLibrary.simpleMessage("总大小"),
|
"totalSize": MessageLookupByLibrary.simpleMessage("总大小"),
|
||||||
"trash": MessageLookupByLibrary.simpleMessage("回收站"),
|
"trash": MessageLookupByLibrary.simpleMessage("回收站"),
|
||||||
"trashDaysLeft": m64,
|
"trashDaysLeft": m63,
|
||||||
"tryAgain": MessageLookupByLibrary.simpleMessage("请再试一次"),
|
"tryAgain": MessageLookupByLibrary.simpleMessage("请再试一次"),
|
||||||
"turnOnBackupForAutoUpload":
|
"turnOnBackupForAutoUpload":
|
||||||
MessageLookupByLibrary.simpleMessage("打开备份以自动上传添加到此设备文件夹的文件。"),
|
MessageLookupByLibrary.simpleMessage("打开备份以自动上传添加到此设备文件夹的文件。"),
|
||||||
|
@ -1216,13 +1213,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"useRecoveryKey": MessageLookupByLibrary.simpleMessage("使用恢复密钥"),
|
"useRecoveryKey": MessageLookupByLibrary.simpleMessage("使用恢复密钥"),
|
||||||
"useSelectedPhoto": MessageLookupByLibrary.simpleMessage("使用所选照片"),
|
"useSelectedPhoto": MessageLookupByLibrary.simpleMessage("使用所选照片"),
|
||||||
"usedSpace": MessageLookupByLibrary.simpleMessage("已用空间"),
|
"usedSpace": MessageLookupByLibrary.simpleMessage("已用空间"),
|
||||||
"validTill": m65,
|
"validTill": m64,
|
||||||
"verificationFailedPleaseTryAgain":
|
"verificationFailedPleaseTryAgain":
|
||||||
MessageLookupByLibrary.simpleMessage("验证失败,请重试"),
|
MessageLookupByLibrary.simpleMessage("验证失败,请重试"),
|
||||||
"verificationId": MessageLookupByLibrary.simpleMessage("验证 ID"),
|
"verificationId": MessageLookupByLibrary.simpleMessage("验证 ID"),
|
||||||
"verify": MessageLookupByLibrary.simpleMessage("验证"),
|
"verify": MessageLookupByLibrary.simpleMessage("验证"),
|
||||||
"verifyEmail": MessageLookupByLibrary.simpleMessage("验证电子邮件"),
|
"verifyEmail": MessageLookupByLibrary.simpleMessage("验证电子邮件"),
|
||||||
"verifyEmailID": m66,
|
"verifyEmailID": m65,
|
||||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("验证"),
|
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("验证"),
|
||||||
"verifyPasskey": MessageLookupByLibrary.simpleMessage("验证通行密钥"),
|
"verifyPasskey": MessageLookupByLibrary.simpleMessage("验证通行密钥"),
|
||||||
"verifyPassword": MessageLookupByLibrary.simpleMessage("验证密码"),
|
"verifyPassword": MessageLookupByLibrary.simpleMessage("验证密码"),
|
||||||
|
@ -1246,11 +1243,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
"weAreOpenSource": MessageLookupByLibrary.simpleMessage("我们是开源的 !"),
|
"weAreOpenSource": MessageLookupByLibrary.simpleMessage("我们是开源的 !"),
|
||||||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||||
MessageLookupByLibrary.simpleMessage("我们不支持编辑您尚未拥有的照片和相册"),
|
MessageLookupByLibrary.simpleMessage("我们不支持编辑您尚未拥有的照片和相册"),
|
||||||
"weHaveSendEmailTo": m67,
|
"weHaveSendEmailTo": m66,
|
||||||
"weakStrength": MessageLookupByLibrary.simpleMessage("弱"),
|
"weakStrength": MessageLookupByLibrary.simpleMessage("弱"),
|
||||||
"welcomeBack": MessageLookupByLibrary.simpleMessage("欢迎回来!"),
|
"welcomeBack": MessageLookupByLibrary.simpleMessage("欢迎回来!"),
|
||||||
"yearly": MessageLookupByLibrary.simpleMessage("每年"),
|
"yearly": MessageLookupByLibrary.simpleMessage("每年"),
|
||||||
"yearsAgo": m68,
|
"yearsAgo": m67,
|
||||||
"yes": MessageLookupByLibrary.simpleMessage("是"),
|
"yes": MessageLookupByLibrary.simpleMessage("是"),
|
||||||
"yesCancel": MessageLookupByLibrary.simpleMessage("是的,取消"),
|
"yesCancel": MessageLookupByLibrary.simpleMessage("是的,取消"),
|
||||||
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage("是的,转换为查看者"),
|
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage("是的,转换为查看者"),
|
||||||
|
@ -1276,7 +1273,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||||
MessageLookupByLibrary.simpleMessage("莫开玩笑,您不能与自己分享"),
|
MessageLookupByLibrary.simpleMessage("莫开玩笑,您不能与自己分享"),
|
||||||
"youDontHaveAnyArchivedItems":
|
"youDontHaveAnyArchivedItems":
|
||||||
MessageLookupByLibrary.simpleMessage("您没有任何存档的项目。"),
|
MessageLookupByLibrary.simpleMessage("您没有任何存档的项目。"),
|
||||||
"youHaveSuccessfullyFreedUp": m69,
|
"youHaveSuccessfullyFreedUp": m68,
|
||||||
"yourAccountHasBeenDeleted":
|
"yourAccountHasBeenDeleted":
|
||||||
MessageLookupByLibrary.simpleMessage("您的账户已删除"),
|
MessageLookupByLibrary.simpleMessage("您的账户已删除"),
|
||||||
"yourMap": 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}`
|
/// `Unfortunately your payment failed. Please contact support and we'll help you out!`
|
||||||
String paymentFailedWithReason(Object reason) {
|
String get paymentFailedMessage {
|
||||||
return Intl.message(
|
return Intl.message(
|
||||||
'Unfortunately your payment failed due to $reason',
|
'Unfortunately your payment failed. Please contact support and we\'ll help you out!',
|
||||||
name: 'paymentFailedWithReason',
|
name: 'paymentFailedMessage',
|
||||||
desc: '',
|
desc: '',
|
||||||
args: [reason],
|
args: [],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -640,7 +640,7 @@
|
||||||
"thankYou": "Thank you",
|
"thankYou": "Thank you",
|
||||||
"failedToVerifyPaymentStatus": "Failed to verify payment status",
|
"failedToVerifyPaymentStatus": "Failed to verify payment status",
|
||||||
"pleaseWaitForSometimeBeforeRetrying": "Please wait for sometime before retrying",
|
"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!",
|
"youAreOnAFamilyPlan": "You are on a family plan!",
|
||||||
"contactFamilyAdmin": "Please contact <green>{familyAdminEmail}</green> to manage your subscription",
|
"contactFamilyAdmin": "Please contact <green>{familyAdminEmail}</green> to manage your subscription",
|
||||||
"leaveFamily": "Leave family",
|
"leaveFamily": "Leave family",
|
||||||
|
|
|
@ -338,11 +338,11 @@
|
||||||
"disableLinkMessage": "Isso removerá o link público para acessar \"{albumName}\".",
|
"disableLinkMessage": "Isso removerá o link público para acessar \"{albumName}\".",
|
||||||
"sharing": "Compartilhando...",
|
"sharing": "Compartilhando...",
|
||||||
"youCannotShareWithYourself": "Você não pode compartilhar consigo mesmo",
|
"youCannotShareWithYourself": "Você não pode compartilhar consigo mesmo",
|
||||||
"archive": "Arquivo",
|
"archive": "Arquivado",
|
||||||
"createAlbumActionHint": "Pressione e segure para selecionar fotos e clique em + para criar um álbum",
|
"createAlbumActionHint": "Pressione e segure para selecionar fotos e clique em + para criar um álbum",
|
||||||
"importing": "Importando....",
|
"importing": "Importando....",
|
||||||
"failedToLoadAlbums": "Falha ao carregar álbuns",
|
"failedToLoadAlbums": "Falha ao carregar álbuns",
|
||||||
"hidden": "Escondido",
|
"hidden": "Oculto",
|
||||||
"authToViewYourHiddenFiles": "Autentique-se para visualizar seus arquivos ocultos",
|
"authToViewYourHiddenFiles": "Autentique-se para visualizar seus arquivos ocultos",
|
||||||
"trash": "Lixeira",
|
"trash": "Lixeira",
|
||||||
"uncategorized": "Sem categoria",
|
"uncategorized": "Sem categoria",
|
||||||
|
@ -545,7 +545,7 @@
|
||||||
"yourStorageDetailsCouldNotBeFetched": "Seus detalhes de armazenamento não puderam ser obtidos",
|
"yourStorageDetailsCouldNotBeFetched": "Seus detalhes de armazenamento não puderam ser obtidos",
|
||||||
"reportABug": "Reportar um problema",
|
"reportABug": "Reportar um problema",
|
||||||
"reportBug": "Reportar um problema",
|
"reportBug": "Reportar um problema",
|
||||||
"suggestFeatures": "Sugerir funcionalidades",
|
"suggestFeatures": "Sugerir recurso",
|
||||||
"support": "Suporte",
|
"support": "Suporte",
|
||||||
"theme": "Tema",
|
"theme": "Tema",
|
||||||
"lightTheme": "Claro",
|
"lightTheme": "Claro",
|
||||||
|
@ -839,7 +839,7 @@
|
||||||
"pressAndHoldToPlayVideo": "Pressione e segure para reproduzir o vídeo",
|
"pressAndHoldToPlayVideo": "Pressione e segure para reproduzir o vídeo",
|
||||||
"pressAndHoldToPlayVideoDetailed": "Pressione e segure na imagem para reproduzir o vídeo",
|
"pressAndHoldToPlayVideoDetailed": "Pressione e segure na imagem para reproduzir o vídeo",
|
||||||
"downloadFailed": "Falha ao baixar",
|
"downloadFailed": "Falha ao baixar",
|
||||||
"deduplicateFiles": "Arquivos Deduplicados",
|
"deduplicateFiles": "Arquivos duplicados",
|
||||||
"deselectAll": "Desmarcar todos",
|
"deselectAll": "Desmarcar todos",
|
||||||
"reviewDeduplicateItems": "Por favor, reveja e exclua os itens que você acredita serem duplicados.",
|
"reviewDeduplicateItems": "Por favor, reveja e exclua os itens que você acredita serem duplicados.",
|
||||||
"clubByCaptureTime": "Agrupar por tempo de captura",
|
"clubByCaptureTime": "Agrupar por tempo de captura",
|
||||||
|
@ -1200,7 +1200,7 @@
|
||||||
"joinDiscord": "Junte-se ao Discord",
|
"joinDiscord": "Junte-se ao Discord",
|
||||||
"locations": "Locais",
|
"locations": "Locais",
|
||||||
"descriptions": "Descrições",
|
"descriptions": "Descrições",
|
||||||
"addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}",
|
"addViewers": "{count, plural, zero {Adicionar visualizador} one {Adicionar visualizador} other {Adicionar Visualizadores}}",
|
||||||
"addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}",
|
"addCollaborators": "{count, plural, zero {Adicionar colaborador} one {Adicionar coloborador} other {Adicionar colaboradores}}",
|
||||||
"longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption."
|
"longPressAnEmailToVerifyEndToEndEncryption": "Pressione e segure um e-mail para verificar a criptografia de ponta a ponta."
|
||||||
}
|
}
|
|
@ -1200,7 +1200,7 @@
|
||||||
"joinDiscord": "加入 Discord",
|
"joinDiscord": "加入 Discord",
|
||||||
"locations": "位置",
|
"locations": "位置",
|
||||||
"descriptions": "描述",
|
"descriptions": "描述",
|
||||||
"addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}",
|
"addViewers": "{count, plural, zero {添加查看者} one {添加查看者} other {添加查看者}}",
|
||||||
"addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}",
|
"addCollaborators": "{count, plural, zero {添加协作者} one {添加协作者} other {添加协作者}}",
|
||||||
"longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption."
|
"longPressAnEmailToVerifyEndToEndEncryption": "长按电子邮件以验证端到端加密。"
|
||||||
}
|
}
|
|
@ -30,6 +30,19 @@ class Subscription {
|
||||||
return expiryTime > DateTime.now().microsecondsSinceEpoch;
|
return expiryTime > DateTime.now().microsecondsSinceEpoch;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool isCancelled() {
|
||||||
|
return attributes?.isCancelled ?? false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool isPastDue() {
|
||||||
|
return !isCancelled() &&
|
||||||
|
expiryTime < DateTime.now().microsecondsSinceEpoch &&
|
||||||
|
expiryTime >=
|
||||||
|
DateTime.now()
|
||||||
|
.subtract(const Duration(days: 30))
|
||||||
|
.microsecondsSinceEpoch;
|
||||||
|
}
|
||||||
|
|
||||||
bool isYearlyPlan() {
|
bool isYearlyPlan() {
|
||||||
return 'year' == period;
|
return 'year' == period;
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,14 +5,15 @@ import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
|
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
|
||||||
import 'package:logging/logging.dart';
|
import 'package:logging/logging.dart';
|
||||||
|
import "package:photos/core/constants.dart";
|
||||||
import 'package:photos/ente_theme_data.dart';
|
import 'package:photos/ente_theme_data.dart';
|
||||||
import "package:photos/generated/l10n.dart";
|
import "package:photos/generated/l10n.dart";
|
||||||
import 'package:photos/models/subscription.dart';
|
import 'package:photos/models/subscription.dart';
|
||||||
import 'package:photos/services/billing_service.dart';
|
import 'package:photos/services/billing_service.dart';
|
||||||
import 'package:photos/services/user_service.dart';
|
import 'package:photos/services/user_service.dart';
|
||||||
import 'package:photos/ui/common/loading_widget.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/dialog_util.dart';
|
||||||
|
import "package:photos/utils/email_util.dart";
|
||||||
|
|
||||||
class PaymentWebPage extends StatefulWidget {
|
class PaymentWebPage extends StatefulWidget {
|
||||||
final String? planId;
|
final String? planId;
|
||||||
|
@ -30,7 +31,6 @@ class _PaymentWebPageState extends State<PaymentWebPage> {
|
||||||
final UserService userService = UserService.instance;
|
final UserService userService = UserService.instance;
|
||||||
final BillingService billingService = BillingService.instance;
|
final BillingService billingService = BillingService.instance;
|
||||||
final String basePaymentUrl = kWebPaymentBaseEndpoint;
|
final String basePaymentUrl = kWebPaymentBaseEndpoint;
|
||||||
late ProgressDialog _dialog;
|
|
||||||
InAppWebViewController? webView;
|
InAppWebViewController? webView;
|
||||||
double progress = 0;
|
double progress = 0;
|
||||||
Uri? initPaymentUrl;
|
Uri? initPaymentUrl;
|
||||||
|
@ -49,11 +49,6 @@ class _PaymentWebPageState extends State<PaymentWebPage> {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
_dialog = createProgressDialog(
|
|
||||||
context,
|
|
||||||
S.of(context).pleaseWait,
|
|
||||||
isDismissible: true,
|
|
||||||
);
|
|
||||||
if (initPaymentUrl == null) {
|
if (initPaymentUrl == null) {
|
||||||
return const EnteLoadingWidget();
|
return const EnteLoadingWidget();
|
||||||
}
|
}
|
||||||
|
@ -93,27 +88,20 @@ class _PaymentWebPageState extends State<PaymentWebPage> {
|
||||||
return NavigationActionPolicy.ALLOW;
|
return NavigationActionPolicy.ALLOW;
|
||||||
},
|
},
|
||||||
onConsoleMessage: (controller, consoleMessage) {
|
onConsoleMessage: (controller, consoleMessage) {
|
||||||
_logger.info(consoleMessage);
|
_logger.info("onConsoleMessage $consoleMessage");
|
||||||
},
|
},
|
||||||
onLoadStart: (controller, navigationAction) async {
|
onLoadStart: (controller, navigationAction) async {
|
||||||
if (!_dialog.isShowing()) {
|
_logger.info("onLoadStart $navigationAction");
|
||||||
await _dialog.show();
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
onLoadError: (controller, navigationAction, code, msg) async {
|
onLoadError: (controller, navigationAction, code, msg) async {
|
||||||
if (_dialog.isShowing()) {
|
_logger.severe("onLoadError $navigationAction $code $msg");
|
||||||
await _dialog.hide();
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
onLoadHttpError:
|
onLoadHttpError:
|
||||||
(controller, navigationAction, code, msg) async {
|
(controller, navigationAction, code, msg) async {
|
||||||
_logger.info("onHttpError with $code and msg = $msg");
|
_logger.info("onHttpError with $code and msg = $msg");
|
||||||
},
|
},
|
||||||
onLoadStop: (controller, navigationAction) async {
|
onLoadStop: (controller, navigationAction) async {
|
||||||
_logger.info("loadStart" + navigationAction.toString());
|
_logger.info("onLoadStop $navigationAction");
|
||||||
if (_dialog.isShowing()) {
|
|
||||||
await _dialog.hide();
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -125,7 +113,6 @@ class _PaymentWebPageState extends State<PaymentWebPage> {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
_dialog.hide();
|
|
||||||
super.dispose();
|
super.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -207,12 +194,17 @@ class _PaymentWebPageState extends State<PaymentWebPage> {
|
||||||
barrierDismissible: false,
|
barrierDismissible: false,
|
||||||
builder: (context) => AlertDialog(
|
builder: (context) => AlertDialog(
|
||||||
title: Text(S.of(context).paymentFailed),
|
title: Text(S.of(context).paymentFailed),
|
||||||
content: Text(S.of(context).paymentFailedWithReason(reason)),
|
content: Text(S.of(context).paymentFailedMessage),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
TextButton(
|
TextButton(
|
||||||
child: Text(S.of(context).ok),
|
child: Text(S.of(context).contactSupport),
|
||||||
onPressed: () {
|
onPressed: () async {
|
||||||
Navigator.of(context).pop('dialog');
|
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
|
// return true if verifySubscription didn't throw any exceptions
|
||||||
Future<void> _handlePaymentSuccess(Map<String, String> queryParams) async {
|
Future<void> _handlePaymentSuccess(Map<String, String> queryParams) async {
|
||||||
final checkoutSessionID = queryParams['session_id'] ?? '';
|
final checkoutSessionID = queryParams['session_id'] ?? '';
|
||||||
await _dialog.show();
|
|
||||||
try {
|
try {
|
||||||
// ignore: unused_local_variable
|
// ignore: unused_local_variable
|
||||||
final response = await billingService.verifySubscription(
|
final response = await billingService.verifySubscription(
|
||||||
|
@ -232,7 +223,6 @@ class _PaymentWebPageState extends State<PaymentWebPage> {
|
||||||
checkoutSessionID,
|
checkoutSessionID,
|
||||||
paymentProvider: stripe,
|
paymentProvider: stripe,
|
||||||
);
|
);
|
||||||
await _dialog.hide();
|
|
||||||
final content = widget.actionType == 'buy'
|
final content = widget.actionType == 'buy'
|
||||||
? S.of(context).yourPurchaseWasSuccessful
|
? S.of(context).yourPurchaseWasSuccessful
|
||||||
: S.of(context).yourSubscriptionWasUpdatedSuccessfully;
|
: S.of(context).yourSubscriptionWasUpdatedSuccessfully;
|
||||||
|
@ -242,7 +232,6 @@ class _PaymentWebPageState extends State<PaymentWebPage> {
|
||||||
);
|
);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
_logger.severe(error);
|
_logger.severe(error);
|
||||||
await _dialog.hide();
|
|
||||||
await _showExitPageDialog(
|
await _showExitPageDialog(
|
||||||
title: S.of(context).failedToVerifyPaymentStatus,
|
title: S.of(context).failedToVerifyPaymentStatus,
|
||||||
content: S.of(context).pleaseWaitForSometimeBeforeRetrying,
|
content: S.of(context).pleaseWaitForSometimeBeforeRetrying,
|
||||||
|
|
|
@ -81,6 +81,11 @@ class _StripeSubscriptionPageState extends State<StripeSubscriptionPage> {
|
||||||
userDetails.hasPaidAddon();
|
userDetails.hasPaidAddon();
|
||||||
_hasActiveSubscription = _currentSubscription!.isValid();
|
_hasActiveSubscription = _currentSubscription!.isValid();
|
||||||
_isStripeSubscriber = _currentSubscription!.paymentProvider == stripe;
|
_isStripeSubscriber = _currentSubscription!.paymentProvider == stripe;
|
||||||
|
|
||||||
|
if (_isStripeSubscriber && _currentSubscription!.isPastDue()) {
|
||||||
|
_redirectToPaymentPortal();
|
||||||
|
}
|
||||||
|
|
||||||
return _filterStripeForUI().then((value) {
|
return _filterStripeForUI().then((value) {
|
||||||
_hasLoadedData = true;
|
_hasLoadedData = true;
|
||||||
setState(() {});
|
setState(() {});
|
||||||
|
@ -254,7 +259,7 @@ class _StripeSubscriptionPageState extends State<StripeSubscriptionPage> {
|
||||||
singleBorderRadius: 4,
|
singleBorderRadius: 4,
|
||||||
alignCaptionedTextToLeft: true,
|
alignCaptionedTextToLeft: true,
|
||||||
onTap: () async {
|
onTap: () async {
|
||||||
_onStripSupportedPaymentDetailsTap();
|
_redirectToPaymentPortal();
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -295,9 +300,9 @@ class _StripeSubscriptionPageState extends State<StripeSubscriptionPage> {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// _onStripSupportedPaymentDetailsTap action allows the user to update
|
// _redirectToPaymentPortal action allows the user to update
|
||||||
// their stripe payment details
|
// their stripe payment details
|
||||||
void _onStripSupportedPaymentDetailsTap() async {
|
void _redirectToPaymentPortal() async {
|
||||||
final String paymentProvider = _currentSubscription!.paymentProvider;
|
final String paymentProvider = _currentSubscription!.paymentProvider;
|
||||||
switch (_currentSubscription!.paymentProvider) {
|
switch (_currentSubscription!.paymentProvider) {
|
||||||
case stripe:
|
case stripe:
|
||||||
|
|
|
@ -38,7 +38,13 @@ And ping again
|
||||||
This time you'll see the updated message.
|
This time you'll see the updated message.
|
||||||
|
|
||||||
For more details about how to get museum up and running, see
|
For more details about how to get museum up and running, see
|
||||||
[RUNNING.md](RUNNING.md).
|
[RUNNING](RUNNING.md).
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
>
|
||||||
|
> Also, there is a way to use our pre-built Docker images to directly start a
|
||||||
|
> cluster without needing to clone this repository - see
|
||||||
|
> [docs/docker](docs/docker.md).
|
||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
|
@ -84,10 +90,11 @@ And it is built with containerization in mind - both during development and
|
||||||
deployment. Just use the provided Dockerfile, configure to taste and you're off
|
deployment. Just use the provided Dockerfile, configure to taste and you're off
|
||||||
to the races.
|
to the races.
|
||||||
|
|
||||||
> [!CAUTION]
|
Overall, there are [three approaches](RUNNING.md) you can take:
|
||||||
>
|
|
||||||
> We don't publish any official docker images (yet). For self-hosters, the
|
* Run using Docker using a pre-built Docker image
|
||||||
> recommendation is to build your own image using the provided `Dockerfile`.
|
* Run using Docker but build an image from source
|
||||||
|
* Run without Docker
|
||||||
|
|
||||||
Everything that you might needed to run museum is all in here, since this is the
|
Everything that you might needed to run museum is all in here, since this is the
|
||||||
setup we ourselves use in production.
|
setup we ourselves use in production.
|
||||||
|
|
|
@ -8,13 +8,14 @@ environment that doesn't clutter your machine.
|
||||||
You can also run museum directly on your machine if you wish - it is a single
|
You can also run museum directly on your machine if you wish - it is a single
|
||||||
static go binary.
|
static go binary.
|
||||||
|
|
||||||
This document describes both these approaches, and also outlines configuration.
|
This document describes these approaches, and also outlines configuration.
|
||||||
|
|
||||||
- [Running using Docker](#docker)
|
- [Run using Docker using a pre-built Docker image](docs/docker.md)
|
||||||
- [Running without Docker](#without-docker)
|
- [Run using Docker but build an image from source](#build-and-run-using-docker)
|
||||||
|
- [Running without Docker](#run-without-docker)
|
||||||
- [Configuration](#configuration)
|
- [Configuration](#configuration)
|
||||||
|
|
||||||
## Docker
|
## Build and run using Docker
|
||||||
|
|
||||||
Start the cluster
|
Start the cluster
|
||||||
|
|
||||||
|
@ -70,7 +71,7 @@ Each time museum gets rebuilt from source, a new image gets created but the old
|
||||||
one is retained as a dangling image. You can use `docker image prune --force`,
|
one is retained as a dangling image. You can use `docker image prune --force`,
|
||||||
or `docker system prune` if that's fine with you, to remove these.
|
or `docker system prune` if that's fine with you, to remove these.
|
||||||
|
|
||||||
## Without Docker
|
## Running without Docker
|
||||||
|
|
||||||
The museum binary can be run by using `go run cmd/museum/main.go`. But first,
|
The museum binary can be run by using `go run cmd/museum/main.go`. But first,
|
||||||
you'll need to prepare your machine for development. Here we give the steps,
|
you'll need to prepare your machine for development. Here we give the steps,
|
||||||
|
@ -132,7 +133,7 @@ pg_ctl -D /usr/local/var/postgres -l logfile start
|
||||||
createuser -s postgres
|
createuser -s postgres
|
||||||
```
|
```
|
||||||
|
|
||||||
## Start museum
|
### Start museum
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
export ENTE_DB_USER=postgres
|
export ENTE_DB_USER=postgres
|
||||||
|
@ -148,7 +149,7 @@ ENTE_DB_USER=ente_user
|
||||||
air
|
air
|
||||||
```
|
```
|
||||||
|
|
||||||
## Testing
|
### Testing
|
||||||
|
|
||||||
Set up a local database for testing. This is not required for running the server.
|
Set up a local database for testing. This is not required for running the server.
|
||||||
Create a test database with the following name and credentials:
|
Create a test database with the following name and credentials:
|
||||||
|
|
83
server/docs/docker.md
Normal file
83
server/docs/docker.md
Normal file
|
@ -0,0 +1,83 @@
|
||||||
|
# Running using published Docker images
|
||||||
|
|
||||||
|
Here we describe a way to run an Ente instance using a starter Docker compose
|
||||||
|
file and using the pre-built Docker images that we publish. This method does not
|
||||||
|
require you to clone the repository or build any images.
|
||||||
|
|
||||||
|
1. Create a directory where you'll run Ente
|
||||||
|
|
||||||
|
```sh
|
||||||
|
mkdir ente && cd ente
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Copy the starter compose.yaml and two of its support files from the
|
||||||
|
repository onto your directory. You can do it by hand, or use (e.g.) curl
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# compose.yaml
|
||||||
|
curl -LO https://raw.githubusercontent.com/ente-io/ente/main/server/compose.yaml
|
||||||
|
|
||||||
|
mkdir -p scripts/compose
|
||||||
|
cd scripts/compose
|
||||||
|
|
||||||
|
# scripts/compose/credentials.yaml
|
||||||
|
curl -LO https://raw.githubusercontent.com/ente-io/ente/main/server/scripts/compose/credentials.yaml
|
||||||
|
|
||||||
|
# scripts/compose/minio-provision.sh
|
||||||
|
curl -LO https://raw.githubusercontent.com/ente-io/ente/main/server/scripts/compose/minio-provision.sh
|
||||||
|
|
||||||
|
cd ../..
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Modify `compose.yaml`. Instead of building from source, we want directly use
|
||||||
|
the published Docker image from `ghcr.io/ente-io/server`
|
||||||
|
|
||||||
|
```diff
|
||||||
|
--- a/server/compose.yaml
|
||||||
|
+++ b/server/compose.yaml
|
||||||
|
@@ -1,9 +1,6 @@
|
||||||
|
services:
|
||||||
|
museum:
|
||||||
|
- build:
|
||||||
|
- context: .
|
||||||
|
- args:
|
||||||
|
- GIT_COMMIT: development-cluster
|
||||||
|
+ image: ghcr.io/ente-io/server
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Create an (empty) configuration file. Yyou can later put your custom
|
||||||
|
configuration in this if needed.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
touch museum.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
5. That is all. You can now start everything.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
docker compose up
|
||||||
|
```
|
||||||
|
|
||||||
|
This will start a cluster containing:
|
||||||
|
|
||||||
|
* Ente's own server
|
||||||
|
* PostgresQL (DB)
|
||||||
|
* MinIO (the S3 layer)
|
||||||
|
|
||||||
|
For each of these, it'll use the latest published Docker image.
|
||||||
|
|
||||||
|
You can do a quick smoke test by pinging the API:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl localhost:8080/ping
|
||||||
|
```
|
||||||
|
|
||||||
|
## Only the server
|
||||||
|
|
||||||
|
Alternatively, if you have setup the database and object storage externally and
|
||||||
|
only want to run Ente's server, you can skip the steps above and directly pull
|
||||||
|
and run the image from **`ghcr.io/ente-io/server`**.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
docker pull ghcr.io/ente-io/server
|
||||||
|
```
|
41
server/docs/publish.md
Normal file
41
server/docs/publish.md
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
# Publishing images
|
||||||
|
|
||||||
|
There are two different images we publish - internal and external.
|
||||||
|
|
||||||
|
## Internal
|
||||||
|
|
||||||
|
The internal images can be built and run by triggering the "Server (release)"
|
||||||
|
workflow. You can trigger it either from GitHub's UI on the Actions tab, or use
|
||||||
|
the following command:
|
||||||
|
|
||||||
|
gh workflow run server-release.yml
|
||||||
|
|
||||||
|
This will take the latest main, package it into a Docker image, and publish it
|
||||||
|
to our Scaleway registry. From there, we can update our production instances to
|
||||||
|
use this new image (see [deploy/README](../scripts/deploy/README.md)).
|
||||||
|
|
||||||
|
## External
|
||||||
|
|
||||||
|
Periodically, we can republish a new image from an existing known-to-be-good
|
||||||
|
commit to the GitHub Container Registry (GHCR) so that it can be used by folks
|
||||||
|
without needing to clone our repository just for building an image. For more
|
||||||
|
details about the use case, see [docker.md](docker.md).
|
||||||
|
|
||||||
|
To publish such an external image, firstly find the commit of the currently
|
||||||
|
running production instance.
|
||||||
|
|
||||||
|
curl -s https://api.ente.io/ping | jq -r '.id'
|
||||||
|
|
||||||
|
> We can publish from any arbitrary commit really, but by using the commit
|
||||||
|
> that's already seen production for a few days, we avoid externally publishing
|
||||||
|
> images with issues.
|
||||||
|
|
||||||
|
Then, trigger the "Publish (server)" workflow, providing it the commit. You can
|
||||||
|
trigger it either from GitHub's UI or using the `gh cli`. With the CLI, we can
|
||||||
|
combine both these steps too.
|
||||||
|
|
||||||
|
gh workflow run server-publish.yml -F commit=`curl -s https://api.ente.io/ping | jq -r '.id'`
|
||||||
|
|
||||||
|
Once the workflow completes, the resultant image will be available at
|
||||||
|
`ghcr.io/ente-io/server`. The image will be tagged by the commit SHA. The latest
|
||||||
|
image will also be tagged, well, "latest".
|
|
@ -42,7 +42,7 @@ const (
|
||||||
OnHoldTemplate = "on_hold.html"
|
OnHoldTemplate = "on_hold.html"
|
||||||
|
|
||||||
// AccountOnHoldEmailSubject is the subject of account on hold email
|
// 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,
|
// Template for the email we send out when the user's subscription ends,
|
||||||
// either because the user cancelled their subscription, or because it
|
// either because the user cancelled their subscription, or because it
|
||||||
|
|
|
@ -215,11 +215,11 @@
|
||||||
has informed us that
|
has informed us that
|
||||||
they were
|
they were
|
||||||
unable to renew your
|
unable to renew your
|
||||||
ente subscription.
|
subscription.
|
||||||
Please update your
|
Please update your
|
||||||
payment method
|
payment method
|
||||||
within
|
within
|
||||||
{{.PaymentProvider}}
|
the app
|
||||||
so that your
|
so that your
|
||||||
subscription can be
|
subscription can be
|
||||||
renewed.</div>
|
renewed.</div>
|
||||||
|
@ -234,7 +234,7 @@
|
||||||
from
|
from
|
||||||
{{.PaymentProvider}}
|
{{.PaymentProvider}}
|
||||||
within the next
|
within the next
|
||||||
30 days, our systems
|
31 days, our systems
|
||||||
may remove your
|
may remove your
|
||||||
account and all
|
account and all
|
||||||
associated data with
|
associated data with
|
||||||
|
|
|
@ -1,14 +1,15 @@
|
||||||
package controller
|
package controller
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
|
||||||
"database/sql"
|
"database/sql"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/ente-io/museum/pkg/controller/commonbilling"
|
|
||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"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/discord"
|
||||||
"github.com/ente-io/museum/pkg/controller/offer"
|
"github.com/ente-io/museum/pkg/controller/offer"
|
||||||
|
@ -24,7 +25,6 @@ import (
|
||||||
"github.com/spf13/viper"
|
"github.com/spf13/viper"
|
||||||
"github.com/stripe/stripe-go/v72"
|
"github.com/stripe/stripe-go/v72"
|
||||||
"github.com/stripe/stripe-go/v72/client"
|
"github.com/stripe/stripe-go/v72/client"
|
||||||
"github.com/stripe/stripe-go/v72/invoice"
|
|
||||||
"github.com/stripe/stripe-go/v72/webhook"
|
"github.com/stripe/stripe-go/v72/webhook"
|
||||||
"golang.org/x/text/currency"
|
"golang.org/x/text/currency"
|
||||||
)
|
)
|
||||||
|
@ -43,12 +43,7 @@ type StripeController struct {
|
||||||
CommonBillCtrl *commonbilling.Controller
|
CommonBillCtrl *commonbilling.Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
// A flag we set on Stripe subscriptions to indicate that we should skip on
|
const BufferPeriodOnPaymentFailureInDays = 7
|
||||||
// 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"
|
|
||||||
|
|
||||||
// Return a new instance of StripeController
|
// 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 {
|
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, "")
|
return "", stacktrace.Propagate(ente.ErrBadRequest, "")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if subscription.PaymentProvider == ente.Stripe && !subscription.Attributes.IsCancelled {
|
if hasStripeSubscription {
|
||||||
// user had bought a stripe subscription earlier,
|
client := c.StripeClients[subscription.Attributes.StripeAccountCountry]
|
||||||
err := c.cancelExistingStripeSubscription(subscription, userID)
|
stripeSubscription, err := client.Subscriptions.Get(subscription.OriginalTransactionID, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", stacktrace.Propagate(err, "")
|
return "", stacktrace.Propagate(err, "")
|
||||||
}
|
}
|
||||||
|
if stripeSubscription.Status != stripe.SubscriptionStatusCanceled {
|
||||||
|
return "", stacktrace.Propagate(ente.ErrBadRequest, "")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
stripeSuccessURL := redirectRootURL + viper.GetString("stripe.path.success")
|
stripeSuccessURL := redirectRootURL + viper.GetString("stripe.path.success")
|
||||||
stripeCancelURL := redirectRootURL + viper.GetString("stripe.path.cancel")
|
stripeCancelURL := redirectRootURL + viper.GetString("stripe.path.cancel")
|
||||||
|
@ -160,7 +158,7 @@ func (c *StripeController) HandleUSNotification(payload []byte, header string) e
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return stacktrace.Propagate(err, "")
|
return stacktrace.Propagate(err, "")
|
||||||
}
|
}
|
||||||
return c.handleWebhookEvent(event)
|
return c.handleWebhookEvent(event, ente.StripeUS)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *StripeController) HandleINNotification(payload []byte, header string) error {
|
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 {
|
if err != nil {
|
||||||
return stacktrace.Propagate(err, "")
|
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
|
// 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
|
// 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.
|
// 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)
|
log.Error("Received an unexpected webhook from stripe:", event.Type)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
eventLog, err := handler(event)
|
eventLog, err := handler(event, country)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return stacktrace.Propagate(err, "")
|
return stacktrace.Propagate(err, "")
|
||||||
}
|
}
|
||||||
|
@ -196,16 +194,16 @@ func (c *StripeController) handleWebhookEvent(event stripe.Event) error {
|
||||||
return stacktrace.Propagate(err, "")
|
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 {
|
switch event.Type {
|
||||||
case "checkout.session.completed":
|
case "checkout.session.completed":
|
||||||
return c.handleCheckoutSessionCompleted
|
return c.handleCheckoutSessionCompleted
|
||||||
case "customer.subscription.deleted":
|
|
||||||
return c.handleCustomerSubscriptionDeleted
|
|
||||||
case "customer.subscription.updated":
|
case "customer.subscription.updated":
|
||||||
return c.handleCustomerSubscriptionUpdated
|
return c.handleCustomerSubscriptionUpdated
|
||||||
case "invoice.paid":
|
case "invoice.paid":
|
||||||
return c.handleInvoicePaid
|
return c.handleInvoicePaid
|
||||||
|
case "payment_intent.payment_failed":
|
||||||
|
return c.handlePaymentIntentFailed
|
||||||
default:
|
default:
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -213,7 +211,7 @@ func (c *StripeController) findHandlerForEvent(event stripe.Event) func(event st
|
||||||
|
|
||||||
// Payment is successful and the subscription is created.
|
// Payment is successful and the subscription is created.
|
||||||
// You should provision the subscription.
|
// 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
|
var session stripe.CheckoutSession
|
||||||
json.Unmarshal(event.Data.Raw, &session)
|
json.Unmarshal(event.Data.Raw, &session)
|
||||||
if session.ClientReferenceID != "" { // via payments.ente.io, where we inserted the userID
|
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
|
return ente.StripeEventLog{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Occurs whenever a customer's subscription ends.
|
// Stripe fires this when a subscription starts or changes. For example,
|
||||||
func (c *StripeController) handleCustomerSubscriptionDeleted(event stripe.Event) (ente.StripeEventLog, error) {
|
// renewing a subscription, adding a coupon, applying a discount, adding an
|
||||||
var stripeSubscription stripe.Subscription
|
// invoice item, and changing plans all trigger this event. In our case, we use
|
||||||
json.Unmarshal(event.Data.Raw, &stripeSubscription)
|
// this only to track plan changes and renewal failures resulting in
|
||||||
currentSubscription, err := c.BillingRepo.GetSubscriptionForTransaction(stripeSubscription.ID, ente.Stripe)
|
// subscriptions going past due.
|
||||||
if err != nil {
|
func (c *StripeController) handleCustomerSubscriptionUpdated(event stripe.Event, country ente.StripeAccountCountry) (ente.StripeEventLog, error) {
|
||||||
// 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) {
|
|
||||||
var stripeSubscription stripe.Subscription
|
var stripeSubscription stripe.Subscription
|
||||||
json.Unmarshal(event.Data.Raw, &stripeSubscription)
|
json.Unmarshal(event.Data.Raw, &stripeSubscription)
|
||||||
currentSubscription, err := c.BillingRepo.GetSubscriptionForTransaction(stripeSubscription.ID, ente.Stripe)
|
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, "")
|
return ente.StripeEventLog{}, stacktrace.Propagate(err, "")
|
||||||
}
|
}
|
||||||
|
|
||||||
userID := currentSubscription.UserID
|
userID := currentSubscription.UserID
|
||||||
switch stripeSubscription.Status {
|
newSubscription, err := c.getEnteSubscriptionFromStripeSubscription(userID, stripeSubscription)
|
||||||
case stripe.SubscriptionStatusPastDue:
|
if err != nil {
|
||||||
user, err := c.UserRepo.Get(userID)
|
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 {
|
if err != nil {
|
||||||
return ente.StripeEventLog{}, stacktrace.Propagate(err, "")
|
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
|
return ente.StripeEventLog{UserID: userID, StripeSubscription: stripeSubscription, Event: event}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Continue to provision the subscription as payments continue to be made.
|
// 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
|
var invoice stripe.Invoice
|
||||||
json.Unmarshal(event.Data.Raw, &invoice)
|
json.Unmarshal(event.Data.Raw, &invoice)
|
||||||
stripeSubscriptionID := invoice.Subscription.ID
|
stripeSubscriptionID := invoice.Subscription.ID
|
||||||
|
@ -409,6 +352,74 @@ func (c *StripeController) handleInvoicePaid(event stripe.Event) (ente.StripeEve
|
||||||
return ente.StripeEventLog{UserID: userID, StripeSubscription: *stripeSubscription, Event: event}, nil
|
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.BillingRepo.UpdateSubscriptionCancellationStatus(userID, true)
|
||||||
|
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) {
|
func (c *StripeController) UpdateSubscription(stripeID string, userID int64) (ente.SubscriptionUpdateResponse, error) {
|
||||||
subscription, err := c.BillingRepo.GetUserSubscription(userID)
|
subscription, err := c.BillingRepo.GetUserSubscription(userID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -432,11 +443,17 @@ func (c *StripeController) UpdateSubscription(stripeID string, userID int64) (en
|
||||||
log.Info("Usage is good")
|
log.Info("Usage is good")
|
||||||
|
|
||||||
}
|
}
|
||||||
client := c.StripeClients[subscription.Attributes.StripeAccountCountry]
|
stripeSubscription, err := c.getStripeSubscriptionWithPaymentMethod(subscription)
|
||||||
stripeSubscription, err := client.Subscriptions.Get(subscription.OriginalTransactionID, nil)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return ente.SubscriptionUpdateResponse{}, stacktrace.Propagate(err, "")
|
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{
|
params := stripe.SubscriptionParams{
|
||||||
ProrationBehavior: stripe.String(string(stripe.SubscriptionProrationBehaviorAlwaysInvoice)),
|
ProrationBehavior: stripe.String(string(stripe.SubscriptionProrationBehaviorAlwaysInvoice)),
|
||||||
Items: []*stripe.SubscriptionItemsParams{
|
Items: []*stripe.SubscriptionItemsParams{
|
||||||
|
@ -445,9 +462,10 @@ func (c *StripeController) UpdateSubscription(stripeID string, userID int64) (en
|
||||||
Price: stripe.String(stripeID),
|
Price: stripe.String(stripeID),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
PaymentBehavior: stripe.String(string(stripe.SubscriptionPaymentBehaviorPendingIfIncomplete)),
|
PaymentBehavior: stripe.String(string(paymentBehavior)),
|
||||||
}
|
}
|
||||||
params.AddExpand("latest_invoice.payment_intent")
|
params.AddExpand("latest_invoice.payment_intent")
|
||||||
|
client := c.StripeClients[subscription.Attributes.StripeAccountCountry]
|
||||||
newStripeSubscription, err := client.Subscriptions.Update(subscription.OriginalTransactionID, ¶ms)
|
newStripeSubscription, err := client.Subscriptions.Update(subscription.OriginalTransactionID, ¶ms)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
stripeError := err.(*stripe.Error)
|
stripeError := err.(*stripe.Error)
|
||||||
|
@ -458,19 +476,31 @@ func (c *StripeController) UpdateSubscription(stripeID string, userID int64) (en
|
||||||
return ente.SubscriptionUpdateResponse{}, stacktrace.Propagate(err, "")
|
return ente.SubscriptionUpdateResponse{}, stacktrace.Propagate(err, "")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if newStripeSubscription.PendingUpdate != nil {
|
if isSEPA {
|
||||||
switch newStripeSubscription.LatestInvoice.PaymentIntent.Status {
|
if newStripeSubscription.Status == stripe.SubscriptionStatusPastDue {
|
||||||
case stripe.PaymentIntentStatusRequiresAction:
|
if newStripeSubscription.LatestInvoice.PaymentIntent.Status == stripe.PaymentIntentStatusRequiresAction {
|
||||||
return ente.SubscriptionUpdateResponse{Status: "requires_action", ClientSecret: newStripeSubscription.LatestInvoice.PaymentIntent.ClientSecret}, nil
|
return ente.SubscriptionUpdateResponse{Status: "requires_action", ClientSecret: newStripeSubscription.LatestInvoice.PaymentIntent.ClientSecret}, nil
|
||||||
case stripe.PaymentIntentStatusRequiresPaymentMethod:
|
} else if newStripeSubscription.LatestInvoice.PaymentIntent.Status == stripe.PaymentIntentStatusRequiresPaymentMethod {
|
||||||
inv := newStripeSubscription.LatestInvoice
|
return ente.SubscriptionUpdateResponse{Status: "requires_payment_method"}, nil
|
||||||
invoice.VoidInvoice(inv.ID, nil)
|
} else if newStripeSubscription.LatestInvoice.PaymentIntent.Status == stripe.PaymentIntentStatusProcessing {
|
||||||
return ente.SubscriptionUpdateResponse{Status: "requires_payment_method"}, nil
|
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
|
return ente.SubscriptionUpdateResponse{Status: "success"}, nil
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *StripeController) UpdateSubscriptionCancellationStatus(userID int64, status bool) (ente.Subscription, error) {
|
func (c *StripeController) UpdateSubscriptionCancellationStatus(userID int64, status bool) (ente.Subscription, error) {
|
||||||
|
@ -525,6 +555,29 @@ func (c *StripeController) GetStripeCustomerPortal(userID int64, redirectRootURL
|
||||||
return ps.URL, nil
|
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) {
|
func (c *StripeController) getStripeSubscriptionFromSession(userID int64, checkoutSessionID string) (stripe.Subscription, error) {
|
||||||
subscription, err := c.BillingRepo.GetUserSubscription(userID)
|
subscription, err := c.BillingRepo.GetUserSubscription(userID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -624,9 +677,7 @@ func (c *StripeController) CancelSubAndDeleteCustomer(subscription ente.Subscrip
|
||||||
if !subscription.Attributes.IsCancelled {
|
if !subscription.Attributes.IsCancelled {
|
||||||
prorateRefund := true
|
prorateRefund := true
|
||||||
logger.Info("cancelling sub with prorated refund")
|
logger.Info("cancelling sub with prorated refund")
|
||||||
updateParams := &stripe.SubscriptionParams{}
|
_, err := client.Subscriptions.Update(subscription.OriginalTransactionID, nil)
|
||||||
updateParams.AddMetadata(SkipMailKey, "true")
|
|
||||||
_, err := client.Subscriptions.Update(subscription.OriginalTransactionID, updateParams)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
stripeError := err.(*stripe.Error)
|
stripeError := err.(*stripe.Error)
|
||||||
errorMsg := fmt.Sprintf("subscription updation failed during account deletion: %s, %s", stripeError.Msg, stripeError.Code)
|
errorMsg := fmt.Sprintf("subscription updation failed during account deletion: %s, %s", stripeError.Msg, stripeError.Code)
|
||||||
|
@ -677,34 +728,12 @@ func (c *StripeController) CancelSubAndDeleteCustomer(subscription ente.Subscrip
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// cancel the earlier past_due subscription
|
func isSEPASubscription(stripeSubscription stripe.Subscription) bool {
|
||||||
// and add skip mail metadata entry to avoid sending account deletion mail while re-subscription
|
isSEPA := false
|
||||||
func (c *StripeController) cancelExistingStripeSubscription(subscription ente.Subscription, userID int64) error {
|
if stripeSubscription.DefaultPaymentMethod != nil {
|
||||||
updateParams := &stripe.SubscriptionParams{}
|
isSEPA = stripeSubscription.DefaultPaymentMethod.Type == stripe.PaymentMethodTypeSepaDebit
|
||||||
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, "")
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
_, err = client.Subscriptions.Cancel(subscription.OriginalTransactionID, nil)
|
log.Info("No default payment method found")
|
||||||
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, "")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return nil
|
return isSEPA
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@ import {
|
||||||
isOnFreePlan,
|
isOnFreePlan,
|
||||||
isSubscriptionActive,
|
isSubscriptionActive,
|
||||||
isSubscriptionCancelled,
|
isSubscriptionCancelled,
|
||||||
|
isSubscriptionPastDue,
|
||||||
} from "utils/billing";
|
} from "utils/billing";
|
||||||
|
|
||||||
import { Typography } from "@mui/material";
|
import { Typography } from "@mui/material";
|
||||||
|
@ -54,7 +55,10 @@ export default function SubscriptionStatus({
|
||||||
showPlanSelectorModal();
|
showPlanSelectorModal();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (hasStripeSubscription(userDetails.subscription)) {
|
if (
|
||||||
|
hasStripeSubscription(userDetails.subscription) &&
|
||||||
|
isSubscriptionPastDue(userDetails.subscription)
|
||||||
|
) {
|
||||||
billingService.redirectToCustomerPortal();
|
billingService.redirectToCustomerPortal();
|
||||||
} else {
|
} else {
|
||||||
showPlanSelectorModal();
|
showPlanSelectorModal();
|
||||||
|
|
|
@ -4,8 +4,10 @@ import { Box, Skeleton } from "@mui/material";
|
||||||
import Typography from "@mui/material/Typography";
|
import Typography from "@mui/material/Typography";
|
||||||
import { GalleryContext } from "pages/gallery";
|
import { GalleryContext } from "pages/gallery";
|
||||||
import { useContext, useEffect, useMemo, useState } from "react";
|
import { useContext, useEffect, useMemo, useState } from "react";
|
||||||
|
import billingService from "services/billingService";
|
||||||
import { getUserDetailsV2 } from "services/userService";
|
import { getUserDetailsV2 } from "services/userService";
|
||||||
import { UserDetails } from "types/user";
|
import { UserDetails } from "types/user";
|
||||||
|
import { hasStripeSubscription, isSubscriptionPastDue } from "utils/billing";
|
||||||
import { isFamilyAdmin, isPartOfFamily } from "utils/user/family";
|
import { isFamilyAdmin, isPartOfFamily } from "utils/user/family";
|
||||||
import { MemberSubscriptionManage } from "../MemberSubscriptionManage";
|
import { MemberSubscriptionManage } from "../MemberSubscriptionManage";
|
||||||
import SubscriptionCard from "./SubscriptionCard";
|
import SubscriptionCard from "./SubscriptionCard";
|
||||||
|
@ -50,9 +52,20 @@ export default function UserDetailsSection({ sidebarView }) {
|
||||||
[userDetails],
|
[userDetails],
|
||||||
);
|
);
|
||||||
|
|
||||||
const handleSubscriptionCardClick = isMemberSubscription
|
const handleSubscriptionCardClick = () => {
|
||||||
? openMemberSubscriptionManage
|
if (isMemberSubscription) {
|
||||||
: galleryContext.showPlanSelectorModal;
|
openMemberSubscriptionManage();
|
||||||
|
} else {
|
||||||
|
if (
|
||||||
|
hasStripeSubscription(userDetails.subscription) &&
|
||||||
|
isSubscriptionPastDue(userDetails.subscription)
|
||||||
|
) {
|
||||||
|
billingService.redirectToCustomerPortal();
|
||||||
|
} else {
|
||||||
|
galleryContext.showPlanSelectorModal();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
|
|
@ -17,6 +17,7 @@ const PAYMENT_PROVIDER_STRIPE = "stripe";
|
||||||
const PAYMENT_PROVIDER_APPSTORE = "appstore";
|
const PAYMENT_PROVIDER_APPSTORE = "appstore";
|
||||||
const PAYMENT_PROVIDER_PLAYSTORE = "playstore";
|
const PAYMENT_PROVIDER_PLAYSTORE = "playstore";
|
||||||
const FREE_PLAN = "free";
|
const FREE_PLAN = "free";
|
||||||
|
const THIRTY_DAYS_IN_MICROSECONDS = 30 * 24 * 60 * 60 * 1000 * 1000;
|
||||||
|
|
||||||
enum FAILURE_REASON {
|
enum FAILURE_REASON {
|
||||||
AUTHENTICATION_FAILED = "authentication_failed",
|
AUTHENTICATION_FAILED = "authentication_failed",
|
||||||
|
@ -151,6 +152,15 @@ export function hasExceededStorageQuota(userDetails: UserDetails) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function isSubscriptionPastDue(subscription: Subscription) {
|
||||||
|
const currentTime = Date.now() * 1000;
|
||||||
|
return (
|
||||||
|
!isSubscriptionCancelled(subscription) &&
|
||||||
|
subscription.expiryTime < currentTime &&
|
||||||
|
subscription.expiryTime >= currentTime - THIRTY_DAYS_IN_MICROSECONDS
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
export function isPopularPlan(plan: Plan) {
|
export function isPopularPlan(plan: Plan) {
|
||||||
return plan.storage === 100 * ONE_GB;
|
return plan.storage === 100 * ONE_GB;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue