Merge remote-tracking branch 'origin/main' into beta
This commit is contained in:
commit
37a1f01b3f
83 changed files with 2555 additions and 1596 deletions
|
@ -267,6 +267,10 @@
|
|||
"title": "Revolt",
|
||||
"hex": "858585"
|
||||
},
|
||||
{
|
||||
"title": "Rockstar Games",
|
||||
"slug": "rockstar_games"
|
||||
},
|
||||
{
|
||||
"title": "Rust Language Forum",
|
||||
"slug": "rust_language_forum",
|
||||
|
|
1
auth/assets/custom-icons/icons/rockstar_games.svg
Normal file
1
auth/assets/custom-icons/icons/rockstar_games.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="6.525 7.459 339.266 319.582"><path fill="orange" d="M71.598 11.25H280.72c33.844 0 61.282 25.782 61.282 57.586v196.512c0 31.804-27.437 57.586-61.282 57.586H71.598c-33.845 0-61.28-25.782-61.28-57.586V68.836c0-31.804 27.435-57.586 61.28-57.586z"/><path d="M280.719 326.725H71.598c-35.881 0-65.072-27.533-65.072-61.377V68.836c0-33.844 29.19-61.377 65.072-61.377H280.72c35.88 0 65.072 27.533 65.072 61.377v196.512c0 33.844-29.192 61.377-65.073 61.377zM71.598 15.042c-31.7 0-57.49 24.131-57.49 53.794v196.512c0 29.662 25.79 53.794 57.49 53.794H280.72c31.7 0 57.49-24.132 57.49-53.794V68.836c0-29.662-25.79-53.794-57.49-53.794H71.598z"/><path d="M127.423 64.013l62.975.149c13.161-.099 22.989 2.002 29.48 6.303 7.928 5.272 11.89 14.343 11.89 27.213 0 21.19-9.828 33.195-29.482 36.012v.297c8.667 2.159 13.048 9.335 13.146 21.528 0 6.245-.233 14.245-.7 24 0 6.542 1.384 12.202 4.156 16.98H184.38c-1.611-1.747-2.416-5.305-2.416-10.677.66-8.98.99-16.347.99-22.098 0-11.617-5.582-17.425-16.746-17.425h-22.329l-9.738 46.987h-33.613l26.895-129.269zm53.236 26.941h-24.744l-6.453 31.192h26.775c14.967 0 22.497-5.906 22.595-17.721.001-8.98-6.058-13.47-18.173-13.47z"/><path d="M223.456 196.346l24.915-43.18 6.717 43.478h42.506l-38.349 27.534 6.14 43.18-33.204-26.05-44.633 27.089 20.878-45.973-24.333-26.2 39.363.122zm113.568 113.887c1.38 0 2.726.362 4.04 1.086 1.315.723 2.339 1.76 3.07 3.108.735 1.348 1.101 2.753 1.101 4.216 0 1.449-.36 2.841-1.084 4.177a7.735 7.735 0 01-3.039 3.114c-1.302.74-2.665 1.108-4.09 1.108-1.421 0-2.784-.37-4.089-1.108a7.762 7.762 0 01-3.044-3.114c-.725-1.336-1.089-2.73-1.089-4.177 0-1.463.369-2.868 1.106-4.216.738-1.348 1.763-2.384 3.077-3.108 1.316-.725 2.662-1.086 4.04-1.086zm0 1.391c-1.154 0-2.278.303-3.37.909a6.451 6.451 0 00-2.566 2.594c-.617 1.126-.926 2.297-.926 3.514 0 1.211.304 2.372.91 3.482a6.542 6.542 0 002.542 2.596c1.089.619 2.224.93 3.409.93 1.183 0 2.32-.311 3.41-.93a6.498 6.498 0 002.536-2.596c.603-1.11.904-2.27.904-3.482 0-1.218-.308-2.388-.92-3.514a6.39 6.39 0 00-2.565-2.594c-1.094-.606-2.216-.909-3.364-.909zm-3.604 11.664v-9.045h3.038c1.039 0 1.79.083 2.254.25.466.167.835.459 1.11.875.277.416.415.857.415 1.325 0 .661-.23 1.237-.692 1.726-.46.49-1.072.764-1.835.824.312.135.563.294.75.48.358.356.792.954 1.308 1.792l1.078 1.772h-1.742l-.783-1.426c-.617-1.12-1.115-1.823-1.492-2.105-.262-.209-.643-.313-1.145-.313h-.838v3.844h-1.426zm1.426-5.092h1.732c.829 0 1.393-.126 1.694-.38.3-.25.451-.586.451-1.002a1.24 1.24 0 00-.218-.718 1.302 1.302 0 00-.604-.473c-.258-.103-.734-.157-1.431-.157h-1.624v2.73z"/><path fill="#FFF" d="M252.503 221.088l25.47-18.142h-28.177l-4.881-31.464-17.882 31.168h-28.467l17.302 18.587-14.305 31.193 31.052-18.735 24.48 19.18-4.592-31.787z"/></svg>
|
After Width: | Height: | Size: 2.7 KiB |
|
@ -22,3 +22,10 @@ In brief,
|
|||
|
||||
- You can invite 5 family members. So including yourself, it will be 6 people
|
||||
who can share a single subscription, paying only once.
|
||||
|
||||
|
||||
## FAQ
|
||||
|
||||
* **Can you assign a storage quota for each individual member in the family plan?**
|
||||
Unfortunately, at this moment, assigning a storage quota for each individual member in the family plan is not supported. For updates on this feature request, please follow [this thread](https://github.com/ente-io/ente/discussions/857).
|
||||
|
||||
|
|
40
infra/services/nginx/README.md
Normal file
40
infra/services/nginx/README.md
Normal file
|
@ -0,0 +1,40 @@
|
|||
# Nginx
|
||||
|
||||
This is a base Nginx service that terminates TLS, and can be used as a reverse
|
||||
proxy for arbitrary services by adding new entries in `/root/nginx/conf.d` and
|
||||
`sudo systemctl restart nginx`.
|
||||
|
||||
## Installation
|
||||
|
||||
Copy the service definition
|
||||
|
||||
```sh
|
||||
scp services/nginx/nginx.service <instance>:
|
||||
|
||||
sudo mv nginx.service /etc/systemd/system/nginx.service
|
||||
```
|
||||
|
||||
Create a directory to house service specific configuration
|
||||
|
||||
sudo mkdir -p /root/nginx/conf.d
|
||||
|
||||
Add the SSL certificate provided by Cloudflare
|
||||
|
||||
sudo tee /root/nginx/cert.pem
|
||||
sudo tee /root/nginx/key.pem
|
||||
|
||||
Tell systemd to pick up new service definition, enable it (so that it
|
||||
automatically starts on boot going forward), and start it.
|
||||
|
||||
```sh
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable --now nginx
|
||||
```
|
||||
|
||||
## Adding a service
|
||||
|
||||
When adding new services that sit behind Nginx,
|
||||
|
||||
1. Add its nginx conf file to `/root/nginx/conf.d`
|
||||
|
||||
2. Restart nginx (`sudo systemctl restart nginx`)
|
19
infra/services/nginx/nginx.service
Normal file
19
infra/services/nginx/nginx.service
Normal file
|
@ -0,0 +1,19 @@
|
|||
[Unit]
|
||||
Documentation=https://www.docker.com/blog/how-to-use-the-official-nginx-docker-image/
|
||||
Requires=docker.service
|
||||
After=docker.service
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
[Service]
|
||||
ExecStartPre=docker pull nginx
|
||||
ExecStartPre=-docker stop nginx
|
||||
ExecStartPre=-docker rm nginx
|
||||
ExecStart=docker run --name nginx \
|
||||
--add-host=host.docker.internal:host-gateway \
|
||||
-p 443:443 \
|
||||
-v /root/nginx/cert.pem:/etc/ssl/certs/cert.pem:ro \
|
||||
-v /root/nginx/key.pem:/etc/ssl/private/key.pem:ro \
|
||||
-v /root/nginx/conf.d:/etc/nginx/conf.d:ro \
|
||||
nginx
|
|
@ -3,9 +3,10 @@
|
|||
Install `prometheus.service` on an instance if it is running something that
|
||||
exports custom Prometheus metrics. In particular, museum does.
|
||||
|
||||
Also install `node-exporter.service` (after installing
|
||||
[node-exporter](https://prometheus.io/docs/guides/node-exporter/) itself) if it
|
||||
is a production instance whose metrics (CPU, disk, RAM etc) we want to monitor.
|
||||
If it is an instance whose metrics (CPU, disk, RAM etc) we want to monitor, also
|
||||
install `node-exporter.service` after installing
|
||||
[node-exporter](https://prometheus.io/docs/guides/node-exporter/) itself (Note
|
||||
that our prepare-instance script already installs node-exporter) .
|
||||
|
||||
## Installing
|
||||
|
||||
|
@ -14,7 +15,8 @@ remember to change the hardcoded `XX-HOSTNAME` too in addition to adding the
|
|||
`remote_write` configuration.
|
||||
|
||||
```sh
|
||||
scp -P 7426 services/prometheus/* <instance>:
|
||||
scp services/prometheus/prometheus.* <instance>:
|
||||
scp services/prometheus/node-exporter.service <instance>:
|
||||
|
||||
nano prometheus.yml
|
||||
sudo mv prometheus.yml /root/prometheus.yml
|
||||
|
|
|
@ -9,7 +9,7 @@ Replace `client.url` in the config file with the Loki URL that Promtail should
|
|||
connect to, and move the files to their expected place.
|
||||
|
||||
```sh
|
||||
scp -P 7426 services/promtail/* <instance>:
|
||||
scp services/promtail/promtail.* <instance>:
|
||||
|
||||
nano promtail.yaml
|
||||
sudo mv promtail.yaml /root/promtail.yaml
|
||||
|
@ -21,6 +21,5 @@ automatically starts on boot), and start it this time around.
|
|||
|
||||
```sh
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable promtail
|
||||
sudo systemctl start promtail
|
||||
sudo systemctl enable --now promtail
|
||||
```
|
||||
|
|
11
mobile/lib/generated/intl/messages_cs.dart
generated
11
mobile/lib/generated/intl/messages_cs.dart
generated
|
@ -20,10 +20,18 @@ typedef String MessageIfAbsent(String messageStr, List<dynamic> args);
|
|||
class MessageLookup extends MessageLookupByLibrary {
|
||||
String get localeName => 'cs';
|
||||
|
||||
static String m0(count) =>
|
||||
"${Intl.plural(count, zero: 'Add collaborator', one: 'Add collaborator', other: 'Add collaborators')}";
|
||||
|
||||
static String m1(count) =>
|
||||
"${Intl.plural(count, zero: 'Add viewer', one: 'Add viewer', other: 'Add viewers')}";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
||||
"addCollaborators": m0,
|
||||
"addToHiddenAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Add to hidden album"),
|
||||
"addViewers": m1,
|
||||
"changeLocationOfSelectedItems": MessageLookupByLibrary.simpleMessage(
|
||||
"Change location of selected items?"),
|
||||
"contacts": MessageLookupByLibrary.simpleMessage("Contacts"),
|
||||
|
@ -37,6 +45,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"fileTypes": MessageLookupByLibrary.simpleMessage("File types"),
|
||||
"joinDiscord": MessageLookupByLibrary.simpleMessage("Join Discord"),
|
||||
"locations": MessageLookupByLibrary.simpleMessage("Locations"),
|
||||
"longPressAnEmailToVerifyEndToEndEncryption":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Long press an email to verify end to end encryption."),
|
||||
"modifyYourQueryOrTrySearchingFor":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Modify your query, or try searching for"),
|
||||
|
|
326
mobile/lib/generated/intl/messages_de.dart
generated
326
mobile/lib/generated/intl/messages_de.dart
generated
|
@ -21,27 +21,33 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
String get localeName => 'de';
|
||||
|
||||
static String m0(count) =>
|
||||
"${Intl.plural(count, zero: 'Add collaborator', one: 'Add collaborator', other: 'Add collaborators')}";
|
||||
|
||||
static String m2(count) =>
|
||||
"${Intl.plural(count, one: 'Element hinzufügen', other: 'Elemente hinzufügen')}";
|
||||
|
||||
static String m1(storageAmount, endDate) =>
|
||||
static String m3(storageAmount, endDate) =>
|
||||
"Dein ${storageAmount} Add-on ist gültig bis ${endDate}";
|
||||
|
||||
static String m2(emailOrName) => "Von ${emailOrName} hinzugefügt";
|
||||
static String m1(count) =>
|
||||
"${Intl.plural(count, zero: 'Add viewer', one: 'Add viewer', other: 'Add viewers')}";
|
||||
|
||||
static String m3(albumName) => "Erfolgreich zu ${albumName} hinzugefügt";
|
||||
static String m4(emailOrName) => "Von ${emailOrName} hinzugefügt";
|
||||
|
||||
static String m4(count) =>
|
||||
static String m5(albumName) => "Erfolgreich zu ${albumName} hinzugefügt";
|
||||
|
||||
static String m6(count) =>
|
||||
"${Intl.plural(count, zero: 'Keine Teilnehmer', one: '1 Teilnehmer', other: '${count} Teilnehmer')}";
|
||||
|
||||
static String m5(versionValue) => "Version: ${versionValue}";
|
||||
static String m7(versionValue) => "Version: ${versionValue}";
|
||||
|
||||
static String m6(paymentProvider) =>
|
||||
static String m8(paymentProvider) =>
|
||||
"Bitte kündigen Sie Ihr aktuelles Abo über ${paymentProvider} zuerst";
|
||||
|
||||
static String m7(user) =>
|
||||
static String m9(user) =>
|
||||
"Der Nutzer \"${user}\" wird keine weiteren Fotos zum Album hinzufügen können.\n\nJedoch kann er weiterhin vorhandene Bilder, welche durch ihn hinzugefügt worden sind, wieder entfernen";
|
||||
|
||||
static String m8(isFamilyMember, storageAmountInGb) =>
|
||||
static String m10(isFamilyMember, storageAmountInGb) =>
|
||||
"${Intl.select(isFamilyMember, {
|
||||
'true':
|
||||
'Deine Familiengruppe hat bereits ${storageAmountInGb} GB erhalten',
|
||||
|
@ -49,166 +55,166 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
'other': 'Du hast bereits ${storageAmountInGb} GB erhalten!',
|
||||
})}";
|
||||
|
||||
static String m9(albumName) =>
|
||||
static String m11(albumName) =>
|
||||
"Kollaborativer Link für ${albumName} erstellt";
|
||||
|
||||
static String m10(familyAdminEmail) =>
|
||||
static String m12(familyAdminEmail) =>
|
||||
"Bitte kontaktiere <green>${familyAdminEmail}</green> um dein Abo zu verwalten";
|
||||
|
||||
static String m11(provider) =>
|
||||
static String m13(provider) =>
|
||||
"Bitte kontaktieren Sie uns über support@ente.io, um Ihr ${provider} Abo zu verwalten.";
|
||||
|
||||
static String m12(count) =>
|
||||
static String m14(count) =>
|
||||
"${Intl.plural(count, one: 'Lösche ${count} Element', other: 'Lösche ${count} Elemente')}";
|
||||
|
||||
static String m13(currentlyDeleting, totalCount) =>
|
||||
static String m15(currentlyDeleting, totalCount) =>
|
||||
"Lösche ${currentlyDeleting} / ${totalCount}";
|
||||
|
||||
static String m14(albumName) =>
|
||||
static String m16(albumName) =>
|
||||
"Der öffentliche Link zum Zugriff auf \"${albumName}\" wird entfernt.";
|
||||
|
||||
static String m15(supportEmail) =>
|
||||
static String m17(supportEmail) =>
|
||||
"Bitte sende eine E-Mail an ${supportEmail} von deiner registrierten E-Mail-Adresse";
|
||||
|
||||
static String m16(count, storageSaved) =>
|
||||
static String m18(count, storageSaved) =>
|
||||
"Du hast ${Intl.plural(count, one: '${count} duplizierte Datei', other: '${count} dupliziere Dateien')} gelöscht und (${storageSaved}!) freigegeben";
|
||||
|
||||
static String m17(count, formattedSize) =>
|
||||
static String m19(count, formattedSize) =>
|
||||
"${count} Dateien, ${formattedSize} jede";
|
||||
|
||||
static String m18(newEmail) => "E-Mail-Adresse geändert zu ${newEmail}";
|
||||
static String m20(newEmail) => "E-Mail-Adresse geändert zu ${newEmail}";
|
||||
|
||||
static String m19(email) =>
|
||||
static String m21(email) =>
|
||||
"${email} hat kein Ente-Konto.\n\nSenden Sie eine Einladung, um Fotos zu teilen.";
|
||||
|
||||
static String m20(count, formattedNumber) =>
|
||||
static String m22(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 Datei', other: '${formattedNumber} Dateien')} auf diesem Gerät wurde(n) sicher gespeichert";
|
||||
|
||||
static String m21(count, formattedNumber) =>
|
||||
static String m23(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 Datei', other: '${formattedNumber} Dateien')} in diesem Album wurde(n) sicher gespeichert";
|
||||
|
||||
static String m22(storageAmountInGB) =>
|
||||
static String m24(storageAmountInGB) =>
|
||||
"${storageAmountInGB} GB jedes Mal, wenn sich jemand mit deinem Code für einen bezahlten Tarif anmeldet";
|
||||
|
||||
static String m23(freeAmount, storageUnit) =>
|
||||
static String m25(freeAmount, storageUnit) =>
|
||||
"${freeAmount} ${storageUnit} kostenlos";
|
||||
|
||||
static String m24(endDate) => "Kostenlose Demo verfügbar bis zum ${endDate}";
|
||||
static String m26(endDate) => "Kostenlose Demo verfügbar bis zum ${endDate}";
|
||||
|
||||
static String m25(count) =>
|
||||
static String m27(count) =>
|
||||
"Sie können immer noch ${Intl.plural(count, one: 'darauf', other: 'auf sie')} auf ente zugreifen, solange Sie ein aktives Abonnement haben";
|
||||
|
||||
static String m26(sizeInMBorGB) => "${sizeInMBorGB} freigeben";
|
||||
static String m28(sizeInMBorGB) => "${sizeInMBorGB} freigeben";
|
||||
|
||||
static String m27(count, formattedSize) =>
|
||||
static String m29(count, formattedSize) =>
|
||||
"${Intl.plural(count, one: 'Es kann vom Gerät gelöscht werden, um ${formattedSize} freizugeben', other: 'Sie können vom Gerät gelöscht werden, um ${formattedSize} freizugeben')}";
|
||||
|
||||
static String m28(currentlyProcessing, totalCount) =>
|
||||
static String m30(currentlyProcessing, totalCount) =>
|
||||
"Verarbeite ${currentlyProcessing} / ${totalCount}";
|
||||
|
||||
static String m29(count) =>
|
||||
static String m31(count) =>
|
||||
"${Intl.plural(count, one: '${count} Objekt', other: '${count} Objekte')}";
|
||||
|
||||
static String m30(expiryTime) => "Link läuft am ${expiryTime} ab";
|
||||
static String m32(expiryTime) => "Link läuft am ${expiryTime} ab";
|
||||
|
||||
static String m31(count, formattedCount) =>
|
||||
static String m33(count, formattedCount) =>
|
||||
"${Intl.plural(count, zero: 'keine Erinnerungsstücke', one: '${formattedCount} Erinnerung', other: '${formattedCount} Erinnerungsstücke')}";
|
||||
|
||||
static String m32(count) =>
|
||||
static String m34(count) =>
|
||||
"${Intl.plural(count, one: 'Element verschieben', other: 'Elemente verschieben')}";
|
||||
|
||||
static String m33(albumName) => "Erfolgreich zu ${albumName} hinzugefügt";
|
||||
static String m35(albumName) => "Erfolgreich zu ${albumName} hinzugefügt";
|
||||
|
||||
static String m34(passwordStrengthValue) =>
|
||||
static String m36(passwordStrengthValue) =>
|
||||
"Passwortstärke: ${passwordStrengthValue}";
|
||||
|
||||
static String m35(providerName) =>
|
||||
static String m37(providerName) =>
|
||||
"Bitte kontaktiere den Support von ${providerName}, falls etwas abgebucht wurde";
|
||||
|
||||
static String m36(reason) =>
|
||||
static String m38(reason) =>
|
||||
"Leider ist deine Zahlung aus folgendem Grund fehlgeschlagen: ${reason}";
|
||||
|
||||
static String m37(endDate) =>
|
||||
static String m39(endDate) =>
|
||||
"Kostenlose Testversion gültig bis ${endDate}.\nSie können anschließend ein bezahltes Paket auswählen.";
|
||||
|
||||
static String m38(toEmail) => "Bitte sende uns eine E-Mail an ${toEmail}";
|
||||
static String m40(toEmail) => "Bitte sende uns eine E-Mail an ${toEmail}";
|
||||
|
||||
static String m39(toEmail) => "Bitte sende die Protokolle an ${toEmail}";
|
||||
static String m41(toEmail) => "Bitte sende die Protokolle an ${toEmail}";
|
||||
|
||||
static String m40(storeName) => "Bewerte uns auf ${storeName}";
|
||||
static String m42(storeName) => "Bewerte uns auf ${storeName}";
|
||||
|
||||
static String m41(storageInGB) =>
|
||||
static String m43(storageInGB) =>
|
||||
"3. Ihr beide erhaltet ${storageInGB} GB* kostenlos";
|
||||
|
||||
static String m42(userEmail) =>
|
||||
static String m44(userEmail) =>
|
||||
"${userEmail} wird aus diesem geteilten Album entfernt\n\nAlle von ihnen hinzugefügte Fotos werden ebenfalls aus dem Album entfernt";
|
||||
|
||||
static String m43(endDate) => "Erneuert am ${endDate}";
|
||||
static String m45(endDate) => "Erneuert am ${endDate}";
|
||||
|
||||
static String m44(count) =>
|
||||
static String m46(count) =>
|
||||
"${Intl.plural(count, one: '${count} Ergebnis gefunden', other: '${count} Ergebnisse gefunden')}";
|
||||
|
||||
static String m45(count) => "${count} ausgewählt";
|
||||
static String m47(count) => "${count} ausgewählt";
|
||||
|
||||
static String m46(count, yourCount) =>
|
||||
static String m48(count, yourCount) =>
|
||||
"${count} ausgewählt (${yourCount} von Ihnen)";
|
||||
|
||||
static String m47(verificationID) =>
|
||||
static String m49(verificationID) =>
|
||||
"Hier ist meine Verifizierungs-ID: ${verificationID} für ente.io.";
|
||||
|
||||
static String m48(verificationID) =>
|
||||
static String m50(verificationID) =>
|
||||
"Hey, kannst du bestätigen, dass dies deine ente.io Verifizierungs-ID ist: ${verificationID}";
|
||||
|
||||
static String m49(referralCode, referralStorageInGB) =>
|
||||
static String m51(referralCode, referralStorageInGB) =>
|
||||
"ente Weiterempfehlungs-Code: ${referralCode} \n\nEinlösen unter Einstellungen → Allgemein → Weiterempfehlungen, um ${referralStorageInGB} GB kostenlos zu erhalten, sobald Sie einen kostenpflichtigen Tarif abgeschlossen haben\n\nhttps://ente.io";
|
||||
|
||||
static String m50(numberOfPeople) =>
|
||||
static String m52(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: 'Teile mit bestimmten Personen', one: 'Teilen mit 1 Person', other: 'Teilen mit ${numberOfPeople} Personen')}";
|
||||
|
||||
static String m51(emailIDs) => "Geteilt mit ${emailIDs}";
|
||||
|
||||
static String m52(fileType) =>
|
||||
"Dieses ${fileType} wird von deinem Gerät gelöscht.";
|
||||
|
||||
static String m53(fileType) =>
|
||||
"Dieses ${fileType} existiert auf ente.io und deinem Gerät.";
|
||||
static String m53(emailIDs) => "Geteilt mit ${emailIDs}";
|
||||
|
||||
static String m54(fileType) =>
|
||||
"Dieses ${fileType} wird von deinem Gerät gelöscht.";
|
||||
|
||||
static String m55(fileType) =>
|
||||
"Dieses ${fileType} existiert auf ente.io und deinem Gerät.";
|
||||
|
||||
static String m56(fileType) =>
|
||||
"Dieses ${fileType} wird auf ente.io gelöscht.";
|
||||
|
||||
static String m55(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
static String m57(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
|
||||
static String m56(
|
||||
static String m58(
|
||||
usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) =>
|
||||
"${usedAmount} ${usedStorageUnit} von ${totalAmount} ${totalStorageUnit} verwendet";
|
||||
|
||||
static String m57(id) =>
|
||||
static String m59(id) =>
|
||||
"Ihr ${id} ist bereits mit einem anderen \'ente\'-Konto verknüpft.\nWenn Sie Ihre ${id} mit diesem Konto verwenden möchten, kontaktieren Sie bitte unseren Support\'";
|
||||
|
||||
static String m58(endDate) => "Ihr Abo endet am ${endDate}";
|
||||
static String m60(endDate) => "Ihr Abo endet am ${endDate}";
|
||||
|
||||
static String m59(completed, total) =>
|
||||
static String m61(completed, total) =>
|
||||
"${completed}/${total} Erinnerungsstücke gesichert";
|
||||
|
||||
static String m60(storageAmountInGB) =>
|
||||
static String m62(storageAmountInGB) =>
|
||||
"Diese erhalten auch ${storageAmountInGB} GB";
|
||||
|
||||
static String m61(email) => "Dies ist ${email}s Verifizierungs-ID";
|
||||
static String m63(email) => "Dies ist ${email}s Verifizierungs-ID";
|
||||
|
||||
static String m62(count) =>
|
||||
static String m64(count) =>
|
||||
"${Intl.plural(count, zero: '', one: '1 Tag', other: '${count} Tage')}";
|
||||
|
||||
static String m63(endDate) => "Gültig bis ${endDate}";
|
||||
static String m65(endDate) => "Gültig bis ${endDate}";
|
||||
|
||||
static String m64(email) => "Verifiziere ${email}";
|
||||
static String m66(email) => "Verifiziere ${email}";
|
||||
|
||||
static String m65(email) =>
|
||||
static String m67(email) =>
|
||||
"Wir haben eine E-Mail an <green>${email}</green> gesendet";
|
||||
|
||||
static String m66(count) =>
|
||||
static String m68(count) =>
|
||||
"${Intl.plural(count, one: 'vor einem Jahr', other: 'vor ${count} Jahren')}";
|
||||
|
||||
static String m67(storageSaved) =>
|
||||
static String m69(storageSaved) =>
|
||||
"Du hast ${storageSaved} erfolgreich freigegeben!";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
|
@ -228,16 +234,17 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Neue E-Mail-Adresse hinzufügen"),
|
||||
"addCollaborator":
|
||||
MessageLookupByLibrary.simpleMessage("Bearbeiter hinzufügen"),
|
||||
"addCollaborators": m0,
|
||||
"addFromDevice":
|
||||
MessageLookupByLibrary.simpleMessage("Vom Gerät hinzufügen"),
|
||||
"addItem": m0,
|
||||
"addItem": m2,
|
||||
"addLocation": MessageLookupByLibrary.simpleMessage("Ort hinzufügen"),
|
||||
"addLocationButton": MessageLookupByLibrary.simpleMessage("Hinzufügen"),
|
||||
"addMore": MessageLookupByLibrary.simpleMessage("Mehr hinzufügen"),
|
||||
"addNew": MessageLookupByLibrary.simpleMessage("Hinzufügen"),
|
||||
"addOnPageSubtitle":
|
||||
MessageLookupByLibrary.simpleMessage("Details der Add-ons"),
|
||||
"addOnValidTill": m1,
|
||||
"addOnValidTill": m3,
|
||||
"addOns": MessageLookupByLibrary.simpleMessage("Add-ons"),
|
||||
"addPhotos": MessageLookupByLibrary.simpleMessage("Fotos hinzufügen"),
|
||||
"addSelected":
|
||||
|
@ -248,11 +255,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"addToHiddenAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
"Zum versteckten Album hinzufügen"),
|
||||
"addViewer": MessageLookupByLibrary.simpleMessage("Album teilen"),
|
||||
"addViewers": m1,
|
||||
"addYourPhotosNow":
|
||||
MessageLookupByLibrary.simpleMessage("Füge deine Foto jetzt hinzu"),
|
||||
"addedAs": MessageLookupByLibrary.simpleMessage("Hinzugefügt als"),
|
||||
"addedBy": m2,
|
||||
"addedSuccessfullyTo": m3,
|
||||
"addedBy": m4,
|
||||
"addedSuccessfullyTo": m5,
|
||||
"addingToFavorites": MessageLookupByLibrary.simpleMessage(
|
||||
"Wird zu Favoriten hinzugefügt..."),
|
||||
"advanced": MessageLookupByLibrary.simpleMessage("Erweitert"),
|
||||
|
@ -263,7 +271,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"after1Week": MessageLookupByLibrary.simpleMessage("Nach 1 Woche"),
|
||||
"after1Year": MessageLookupByLibrary.simpleMessage("Nach 1 Jahr"),
|
||||
"albumOwner": MessageLookupByLibrary.simpleMessage("Besitzer"),
|
||||
"albumParticipantsCount": m4,
|
||||
"albumParticipantsCount": m6,
|
||||
"albumTitle": MessageLookupByLibrary.simpleMessage("Albumtitel"),
|
||||
"albumUpdated":
|
||||
MessageLookupByLibrary.simpleMessage("Album aktualisiert"),
|
||||
|
@ -301,7 +309,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Android, iOS, Web, Desktop"),
|
||||
"androidSignInTitle": MessageLookupByLibrary.simpleMessage(
|
||||
"Authentifizierung erforderlich"),
|
||||
"appVersion": m5,
|
||||
"appVersion": m7,
|
||||
"appleId": MessageLookupByLibrary.simpleMessage("Apple ID"),
|
||||
"apply": MessageLookupByLibrary.simpleMessage("Anwenden"),
|
||||
"applyCodeTitle": MessageLookupByLibrary.simpleMessage("Code nutzen"),
|
||||
|
@ -387,12 +395,14 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage(
|
||||
"Du kannst nur Dateien entfernen, die dir gehören"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("Abbrechen"),
|
||||
"cancelOtherSubscription": m6,
|
||||
"cancelOtherSubscription": m8,
|
||||
"cancelSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Abonnement kündigen"),
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m7,
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m9,
|
||||
"cannotDeleteSharedFiles": MessageLookupByLibrary.simpleMessage(
|
||||
"Konnte geteilte Dateien nicht löschen"),
|
||||
"castInstruction": MessageLookupByLibrary.simpleMessage(
|
||||
"Besuche cast.ente.io auf dem Gerät, das du verbinden möchtest.\n\nGib den unten angegebenen Code ein, um das Album auf deinem Fernseher abzuspielen."),
|
||||
"centerPoint": MessageLookupByLibrary.simpleMessage("Mittelpunkt"),
|
||||
"changeEmail":
|
||||
MessageLookupByLibrary.simpleMessage("E-Mail-Adresse ändern"),
|
||||
|
@ -413,10 +423,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Freien Speicher einlösen"),
|
||||
"claimMore": MessageLookupByLibrary.simpleMessage("Mehr einlösen!"),
|
||||
"claimed": MessageLookupByLibrary.simpleMessage("Eingelöst"),
|
||||
"claimedStorageSoFar": m8,
|
||||
"claimedStorageSoFar": m10,
|
||||
"cleanUncategorized":
|
||||
MessageLookupByLibrary.simpleMessage("Unkategorisiert leeren"),
|
||||
"cleanUncategorizedDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Entferne alle Dateien von \"Unkategorisiert\" die in anderen Alben vorhanden sind"),
|
||||
"clearCaches": MessageLookupByLibrary.simpleMessage("Cache löschen"),
|
||||
"clearIndexes": MessageLookupByLibrary.simpleMessage("Indexe löschen"),
|
||||
"click": MessageLookupByLibrary.simpleMessage("• Klick"),
|
||||
"clickOnTheOverflowMenu": MessageLookupByLibrary.simpleMessage(
|
||||
"• Klicken Sie auf das Überlaufmenü"),
|
||||
|
@ -435,7 +448,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Erstelle einen Link, um anderen zu ermöglichen, Fotos in deinem geteilten Album hinzuzufügen und zu sehen - ohne dass diese ein Konto von ente.io oder die App benötigen. Ideal, um Fotos von Events zu sammeln."),
|
||||
"collaborativeLink":
|
||||
MessageLookupByLibrary.simpleMessage("Gemeinschaftlicher Link"),
|
||||
"collaborativeLinkCreatedFor": m9,
|
||||
"collaborativeLinkCreatedFor": m11,
|
||||
"collaborator": MessageLookupByLibrary.simpleMessage("Bearbeiter"),
|
||||
"collaboratorsCanAddPhotosAndVideosToTheSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -462,10 +475,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Wiederherstellungsschlüssel bestätigen"),
|
||||
"confirmYourRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Bestätigen Sie ihren Wiederherstellungsschlüssel"),
|
||||
"contactFamilyAdmin": m10,
|
||||
"contactFamilyAdmin": m12,
|
||||
"contactSupport":
|
||||
MessageLookupByLibrary.simpleMessage("Support kontaktieren"),
|
||||
"contactToManageSubscription": m11,
|
||||
"contactToManageSubscription": m13,
|
||||
"contacts": MessageLookupByLibrary.simpleMessage("Kontakte"),
|
||||
"contents": MessageLookupByLibrary.simpleMessage("Inhalte"),
|
||||
"continueLabel": MessageLookupByLibrary.simpleMessage("Weiter"),
|
||||
|
@ -543,11 +556,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Vom Gerät löschen"),
|
||||
"deleteFromEnte":
|
||||
MessageLookupByLibrary.simpleMessage("Auf ente.io löschen"),
|
||||
"deleteItemCount": m12,
|
||||
"deleteItemCount": m14,
|
||||
"deleteLocation":
|
||||
MessageLookupByLibrary.simpleMessage("Standort löschen"),
|
||||
"deletePhotos": MessageLookupByLibrary.simpleMessage("Fotos löschen"),
|
||||
"deleteProgress": m13,
|
||||
"deleteProgress": m15,
|
||||
"deleteReason1": MessageLookupByLibrary.simpleMessage(
|
||||
"Es fehlt eine zentrale Funktion, die ich benötige"),
|
||||
"deleteReason2": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -562,17 +575,20 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Geteiltes Album löschen?"),
|
||||
"deleteSharedAlbumDialogBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Dieses Album wird für alle gelöscht\n\nDu wirst den Zugriff auf geteilte Fotos in diesem Album, die anderen gehören, verlieren"),
|
||||
"descriptions": MessageLookupByLibrary.simpleMessage("Descriptions"),
|
||||
"descriptions": MessageLookupByLibrary.simpleMessage("Beschreibungen"),
|
||||
"deselectAll": MessageLookupByLibrary.simpleMessage("Alle abwählen"),
|
||||
"designedToOutlive":
|
||||
MessageLookupByLibrary.simpleMessage("Entwickelt um zu bewahren"),
|
||||
"details": MessageLookupByLibrary.simpleMessage("Details"),
|
||||
"devAccountChanged": MessageLookupByLibrary.simpleMessage(
|
||||
"Das Entwicklerkonto, das wir verwenden, um ente im App Store zu veröffentlichen, hat sich geändert. Aus diesem Grund musst du dich erneut anmelden.\n\nWir entschuldigen uns für die Unannehmlichkeiten, aber das war unvermeidlich."),
|
||||
"deviceCodeHint": MessageLookupByLibrary.simpleMessage("Code eingeben"),
|
||||
"deviceFilesAutoUploading": MessageLookupByLibrary.simpleMessage(
|
||||
"Dateien, die zu diesem Album hinzugefügt werden, werden automatisch zu ente hochgeladen."),
|
||||
"deviceLockExplanation": MessageLookupByLibrary.simpleMessage(
|
||||
"Das Sperren des Gerätes verhindern, solange \'ente\' im Vordergrund geöffnet ist und eine Sicherung läuft. \nDies wird für gewöhnlich nicht benötigt, kann aber dabei helfen große Transfers schneller durchzuführen."),
|
||||
"deviceNotFound":
|
||||
MessageLookupByLibrary.simpleMessage("Gerät nicht gefunden"),
|
||||
"didYouKnow": MessageLookupByLibrary.simpleMessage("Schon gewusst?"),
|
||||
"disableAutoLock": MessageLookupByLibrary.simpleMessage(
|
||||
"Automatische Sperre deaktivieren"),
|
||||
|
@ -580,7 +596,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Zuschauer können weiterhin Screenshots oder mit anderen externen Programmen Kopien der Bilder machen."),
|
||||
"disableDownloadWarningTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Bitte beachten Sie:"),
|
||||
"disableLinkMessage": m14,
|
||||
"disableLinkMessage": m16,
|
||||
"disableTwofactor": MessageLookupByLibrary.simpleMessage(
|
||||
"Zweiten Faktor (2FA) deaktivieren"),
|
||||
"disablingTwofactorAuthentication":
|
||||
|
@ -603,9 +619,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Herunterladen fehlgeschlagen"),
|
||||
"downloading":
|
||||
MessageLookupByLibrary.simpleMessage("Wird heruntergeladen..."),
|
||||
"dropSupportEmail": m15,
|
||||
"duplicateFileCountWithStorageSaved": m16,
|
||||
"duplicateItemsGroup": m17,
|
||||
"dropSupportEmail": m17,
|
||||
"duplicateFileCountWithStorageSaved": m18,
|
||||
"duplicateItemsGroup": m19,
|
||||
"edit": MessageLookupByLibrary.simpleMessage("Bearbeiten"),
|
||||
"editLocation":
|
||||
MessageLookupByLibrary.simpleMessage("Standort bearbeiten"),
|
||||
|
@ -618,8 +634,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Änderungen des Standorts werden nur in ente sichtbar sein"),
|
||||
"eligible": MessageLookupByLibrary.simpleMessage("zulässig"),
|
||||
"email": MessageLookupByLibrary.simpleMessage("E-Mail"),
|
||||
"emailChangedTo": m18,
|
||||
"emailNoEnteAccount": m19,
|
||||
"emailChangedTo": m20,
|
||||
"emailNoEnteAccount": m21,
|
||||
"emailVerificationToggle":
|
||||
MessageLookupByLibrary.simpleMessage("E-Mail-Verifizierung"),
|
||||
"emailYourLogs": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -719,8 +735,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"fileTypes": MessageLookupByLibrary.simpleMessage("Dateitypen"),
|
||||
"fileTypesAndNames":
|
||||
MessageLookupByLibrary.simpleMessage("Dateitypen und -namen"),
|
||||
"filesBackedUpFromDevice": m20,
|
||||
"filesBackedUpInAlbum": m21,
|
||||
"filesBackedUpFromDevice": m22,
|
||||
"filesBackedUpInAlbum": m23,
|
||||
"filesDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Dateien gelöscht"),
|
||||
"flip": MessageLookupByLibrary.simpleMessage("Spiegeln"),
|
||||
|
@ -730,26 +746,26 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Passwort vergessen"),
|
||||
"freeStorageClaimed": MessageLookupByLibrary.simpleMessage(
|
||||
"Kostenlos hinzugefügter Speicherplatz"),
|
||||
"freeStorageOnReferralSuccess": m22,
|
||||
"freeStorageSpace": m23,
|
||||
"freeStorageOnReferralSuccess": m24,
|
||||
"freeStorageSpace": m25,
|
||||
"freeStorageUsable": MessageLookupByLibrary.simpleMessage(
|
||||
"Freier Speicherplatz nutzbar"),
|
||||
"freeTrial":
|
||||
MessageLookupByLibrary.simpleMessage("Kostenlose Testphase"),
|
||||
"freeTrialValidTill": m24,
|
||||
"freeUpAccessPostDelete": m25,
|
||||
"freeUpAmount": m26,
|
||||
"freeTrialValidTill": m26,
|
||||
"freeUpAccessPostDelete": m27,
|
||||
"freeUpAmount": m28,
|
||||
"freeUpDeviceSpace":
|
||||
MessageLookupByLibrary.simpleMessage("Gerätespeicher freiräumen"),
|
||||
"freeUpSpace":
|
||||
MessageLookupByLibrary.simpleMessage("Speicherplatz freigeben"),
|
||||
"freeUpSpaceSaving": m27,
|
||||
"freeUpSpaceSaving": m29,
|
||||
"galleryMemoryLimitInfo": MessageLookupByLibrary.simpleMessage(
|
||||
"Bis zu 1000 Erinnerungsstücke angezeigt in der Galerie"),
|
||||
"general": MessageLookupByLibrary.simpleMessage("Allgemein"),
|
||||
"generatingEncryptionKeys": MessageLookupByLibrary.simpleMessage(
|
||||
"Generierung von Verschlüsselungscodes..."),
|
||||
"genericProgress": m28,
|
||||
"genericProgress": m30,
|
||||
"goToSettings":
|
||||
MessageLookupByLibrary.simpleMessage("Zu den Einstellungen"),
|
||||
"googlePlayId": MessageLookupByLibrary.simpleMessage("Google Play ID"),
|
||||
|
@ -790,6 +806,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Der eingegebene Schlüssel ist ungültig"),
|
||||
"incorrectRecoveryKeyTitle": MessageLookupByLibrary.simpleMessage(
|
||||
"Falscher Wiederherstellungs-Schlüssel"),
|
||||
"indexedItems":
|
||||
MessageLookupByLibrary.simpleMessage("Indizierte Elemente"),
|
||||
"insecureDevice":
|
||||
MessageLookupByLibrary.simpleMessage("Unsicheres Gerät"),
|
||||
"installManually":
|
||||
|
@ -810,13 +828,14 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Etwas ist schiefgelaufen. Bitte versuche es später noch einmal. Sollte der Fehler weiter bestehen, kontaktiere unser Supportteam."),
|
||||
"itemCount": m29,
|
||||
"itemCount": m31,
|
||||
"itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Elemente zeigen die Anzahl der Tage bis zum dauerhaften Löschen an"),
|
||||
"itemsWillBeRemovedFromAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
"Ausgewählte Elemente werden aus diesem Album entfernt"),
|
||||
"joinDiscord": MessageLookupByLibrary.simpleMessage("Join Discord"),
|
||||
"joinDiscord":
|
||||
MessageLookupByLibrary.simpleMessage("Discord beitreten"),
|
||||
"keepPhotos": MessageLookupByLibrary.simpleMessage("Fotos behalten"),
|
||||
"kiloMeterUnit": MessageLookupByLibrary.simpleMessage("km"),
|
||||
"kindlyHelpUsWithThisInformation":
|
||||
|
@ -837,7 +856,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"linkDeviceLimit": MessageLookupByLibrary.simpleMessage("Geräte Limit"),
|
||||
"linkEnabled": MessageLookupByLibrary.simpleMessage("Aktiviert"),
|
||||
"linkExpired": MessageLookupByLibrary.simpleMessage("Abgelaufen"),
|
||||
"linkExpiresOn": m30,
|
||||
"linkExpiresOn": m32,
|
||||
"linkExpiry":
|
||||
MessageLookupByLibrary.simpleMessage("Ablaufdatum des Links"),
|
||||
"linkHasExpired":
|
||||
|
@ -868,12 +887,14 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Lade Galerie …"),
|
||||
"loadingMessage":
|
||||
MessageLookupByLibrary.simpleMessage("Fotos werden geladen..."),
|
||||
"loadingModel":
|
||||
MessageLookupByLibrary.simpleMessage("Lade Modelle herunter..."),
|
||||
"localGallery": MessageLookupByLibrary.simpleMessage("Lokale Galerie"),
|
||||
"location": MessageLookupByLibrary.simpleMessage("Standort"),
|
||||
"locationName": MessageLookupByLibrary.simpleMessage("Standortname"),
|
||||
"locationTagFeatureDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Ein Standort-Tag gruppiert alle Fotos, die in einem Radius eines Fotos aufgenommen wurden"),
|
||||
"locations": MessageLookupByLibrary.simpleMessage("Locations"),
|
||||
"locations": MessageLookupByLibrary.simpleMessage("Orte"),
|
||||
"lockButtonLabel": MessageLookupByLibrary.simpleMessage("Sperren"),
|
||||
"lockScreenEnablePreSteps": MessageLookupByLibrary.simpleMessage(
|
||||
"Um den Sperrbildschirm zu aktivieren, legen Sie bitte den Geräte-Passcode oder die Bildschirmsperre in den Systemeinstellungen fest."),
|
||||
|
@ -885,9 +906,17 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"logout": MessageLookupByLibrary.simpleMessage("Ausloggen"),
|
||||
"logsDialogBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Dies wird über Logs gesendet, um uns zu helfen, Ihr Problem zu beheben. Bitte beachten Sie, dass Dateinamen aufgenommen werden, um Probleme mit bestimmten Dateien zu beheben."),
|
||||
"longPressAnEmailToVerifyEndToEndEncryption":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Long press an email to verify end to end encryption."),
|
||||
"longpressOnAnItemToViewInFullscreen": MessageLookupByLibrary.simpleMessage(
|
||||
"Drücken Sie lange auf ein Element, um es im Vollbildmodus anzuzeigen"),
|
||||
"lostDevice": MessageLookupByLibrary.simpleMessage("Gerät verloren?"),
|
||||
"machineLearning":
|
||||
MessageLookupByLibrary.simpleMessage("Maschinelles Lernen"),
|
||||
"magicSearch": MessageLookupByLibrary.simpleMessage("Magische Suche"),
|
||||
"magicSearchDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Bitte beachten Sie, dass dies mehr Bandbreite nutzt und zu einem höheren Akkuverbrauch führt, bis alle Elemente indiziert sind."),
|
||||
"manage": MessageLookupByLibrary.simpleMessage("Verwalten"),
|
||||
"manageDeviceStorage":
|
||||
MessageLookupByLibrary.simpleMessage("Gerätespeicher verwalten"),
|
||||
|
@ -901,7 +930,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"maps": MessageLookupByLibrary.simpleMessage("Karten"),
|
||||
"mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"),
|
||||
"matrix": MessageLookupByLibrary.simpleMessage("Matrix"),
|
||||
"memoryCount": m31,
|
||||
"memoryCount": m33,
|
||||
"merchandise": MessageLookupByLibrary.simpleMessage("Merchandise"),
|
||||
"mobileWebDesktop":
|
||||
MessageLookupByLibrary.simpleMessage("Mobil, Web, Desktop"),
|
||||
|
@ -911,12 +940,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Ändere deine Suchanfrage oder suche nach"),
|
||||
"moments": MessageLookupByLibrary.simpleMessage("Momente"),
|
||||
"monthly": MessageLookupByLibrary.simpleMessage("Monatlich"),
|
||||
"moveItem": m32,
|
||||
"moveItem": m34,
|
||||
"moveToAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Zum Album verschieben"),
|
||||
"moveToHiddenAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
"Zu verstecktem Album verschieben"),
|
||||
"movedSuccessfullyTo": m33,
|
||||
"movedSuccessfullyTo": m35,
|
||||
"movedToTrash": MessageLookupByLibrary.simpleMessage(
|
||||
"In den Papierkorb verschoben"),
|
||||
"movingFilesToAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -981,19 +1010,25 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Bei Bedarf auch so kurz wie Sie wollen..."),
|
||||
"orPickAnExistingOne": MessageLookupByLibrary.simpleMessage(
|
||||
"Oder eine Vorherige auswählen"),
|
||||
"pair": MessageLookupByLibrary.simpleMessage("Koppeln"),
|
||||
"passkey": MessageLookupByLibrary.simpleMessage("Passkey"),
|
||||
"passkeyAuthTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Passkey-Verifizierung"),
|
||||
"password": MessageLookupByLibrary.simpleMessage("Passwort"),
|
||||
"passwordChangedSuccessfully": MessageLookupByLibrary.simpleMessage(
|
||||
"Passwort erfolgreich geändert"),
|
||||
"passwordLock": MessageLookupByLibrary.simpleMessage("Passwort Sperre"),
|
||||
"passwordStrength": m34,
|
||||
"passwordStrength": m36,
|
||||
"passwordWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Wir speichern dieses Passwort nicht. Wenn du es vergisst, <underline>können wir deine Daten nicht entschlüsseln</underline>"),
|
||||
"paymentDetails":
|
||||
MessageLookupByLibrary.simpleMessage("Zahlungsdetails"),
|
||||
"paymentFailed":
|
||||
MessageLookupByLibrary.simpleMessage("Zahlung fehlgeschlagen"),
|
||||
"paymentFailedTalkToProvider": m35,
|
||||
"paymentFailedWithReason": m36,
|
||||
"paymentFailedTalkToProvider": m37,
|
||||
"paymentFailedWithReason": m38,
|
||||
"pendingItems":
|
||||
MessageLookupByLibrary.simpleMessage("Ausstehende Elemente"),
|
||||
"pendingSync":
|
||||
MessageLookupByLibrary.simpleMessage("Synchronisation anstehend"),
|
||||
"peopleUsingYourCode": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1016,7 +1051,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"pickCenterPoint":
|
||||
MessageLookupByLibrary.simpleMessage("Mittelpunkt auswählen"),
|
||||
"pinAlbum": MessageLookupByLibrary.simpleMessage("Album anheften"),
|
||||
"playStoreFreeTrialValidTill": m37,
|
||||
"playOnTv": MessageLookupByLibrary.simpleMessage(
|
||||
"Album auf dem Fernseher wiedergeben"),
|
||||
"playStoreFreeTrialValidTill": m39,
|
||||
"playstoreSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("PlayStore Abo"),
|
||||
"pleaseCheckYourInternetConnectionAndTryAgain":
|
||||
|
@ -1028,12 +1065,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"pleaseContactSupportIfTheProblemPersists":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Bitte wenden Sie sich an den Support, falls das Problem weiterhin besteht"),
|
||||
"pleaseEmailUsAt": m38,
|
||||
"pleaseEmailUsAt": m40,
|
||||
"pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage(
|
||||
"Bitte erteile die nötigen Berechtigungen"),
|
||||
"pleaseLoginAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Bitte logge dich erneut ein"),
|
||||
"pleaseSendTheLogsTo": m39,
|
||||
"pleaseSendTheLogsTo": m41,
|
||||
"pleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Bitte versuche es erneut"),
|
||||
"pleaseVerifyTheCodeYouHaveEntered":
|
||||
|
@ -1069,7 +1106,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"raiseTicket": MessageLookupByLibrary.simpleMessage("Ticket erstellen"),
|
||||
"rateTheApp": MessageLookupByLibrary.simpleMessage("App bewerten"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("Bewerte uns"),
|
||||
"rateUsOnStore": m40,
|
||||
"rateUsOnStore": m42,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Wiederherstellen"),
|
||||
"recoverAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Konto wiederherstellen"),
|
||||
|
@ -1102,7 +1139,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"1. Gib diesen Code an deine Freunde"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||
"2. Sie schließen ein bezahltes Abo ab"),
|
||||
"referralStep3": m41,
|
||||
"referralStep3": m43,
|
||||
"referrals": MessageLookupByLibrary.simpleMessage("Weiterempfehlungen"),
|
||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||
"Einlösungen sind derzeit pausiert"),
|
||||
|
@ -1128,7 +1165,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"removeLink": MessageLookupByLibrary.simpleMessage("Link entfernen"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Teilnehmer entfernen"),
|
||||
"removeParticipantBody": m42,
|
||||
"removeParticipantBody": m44,
|
||||
"removePublicLink":
|
||||
MessageLookupByLibrary.simpleMessage("Öffentlichen Link entfernen"),
|
||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1142,7 +1179,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"renameFile": MessageLookupByLibrary.simpleMessage("Datei umbenennen"),
|
||||
"renewSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Abonnement erneuern"),
|
||||
"renewsOn": m43,
|
||||
"renewsOn": m45,
|
||||
"reportABug": MessageLookupByLibrary.simpleMessage("Fehler melden"),
|
||||
"reportBug": MessageLookupByLibrary.simpleMessage("Fehler melden"),
|
||||
"resendEmail":
|
||||
|
@ -1205,7 +1242,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Gruppiere Fotos, die innerhalb des Radius eines bestimmten Fotos aufgenommen wurden"),
|
||||
"searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage(
|
||||
"Laden Sie Personen ein, damit Sie geteilte Fotos hier einsehen können"),
|
||||
"searchResultCount": m44,
|
||||
"searchResultCount": m46,
|
||||
"security": MessageLookupByLibrary.simpleMessage("Sicherheit"),
|
||||
"selectALocation":
|
||||
MessageLookupByLibrary.simpleMessage("Standort auswählen"),
|
||||
|
@ -1232,8 +1269,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Ausgewählte Elemente werden aus allen Alben gelöscht und in den Papierkorb verschoben."),
|
||||
"selectedPhotos": m45,
|
||||
"selectedPhotosWithYours": m46,
|
||||
"selectedPhotos": m47,
|
||||
"selectedPhotosWithYours": m48,
|
||||
"send": MessageLookupByLibrary.simpleMessage("Absenden"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("E-Mail senden"),
|
||||
"sendInvite": MessageLookupByLibrary.simpleMessage("Einladung senden"),
|
||||
|
@ -1256,16 +1293,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"shareAnAlbumNow":
|
||||
MessageLookupByLibrary.simpleMessage("Teile jetzt ein Album"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("Link teilen"),
|
||||
"shareMyVerificationID": m47,
|
||||
"shareMyVerificationID": m49,
|
||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||
"Teile mit ausgewählten Personen"),
|
||||
"shareTextConfirmOthersVerificationID": m48,
|
||||
"shareTextConfirmOthersVerificationID": m50,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Lade ente herunter, damit wir einfach Fotos und Videos in höchster Qualität teilen können\n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m49,
|
||||
"shareTextReferralCode": m51,
|
||||
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||
"Mit Nicht-Ente-Benutzern teilen"),
|
||||
"shareWithPeopleSectionTitle": m50,
|
||||
"shareWithPeopleSectionTitle": m52,
|
||||
"shareYourFirstAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Teile dein erstes Album"),
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1276,7 +1313,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Neue geteilte Fotos"),
|
||||
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||
"Erhalte Benachrichtigungen, wenn jemand ein Foto zu einem gemeinsam genutzten Album hinzufügt, dem du angehörst"),
|
||||
"sharedWith": m51,
|
||||
"sharedWith": m53,
|
||||
"sharedWithMe": MessageLookupByLibrary.simpleMessage("Mit mir geteilt"),
|
||||
"sharedWithYou":
|
||||
MessageLookupByLibrary.simpleMessage("Mit dir geteilt"),
|
||||
|
@ -1291,11 +1328,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Andere Geräte abmelden"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"Ich stimme den <u-terms>Nutzungsbedingungen</u-terms> und der <u-policy>Datenschutzerklärung</u-policy> zu"),
|
||||
"singleFileDeleteFromDevice": m52,
|
||||
"singleFileDeleteFromDevice": m54,
|
||||
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||
"Es wird aus allen Alben gelöscht."),
|
||||
"singleFileInBothLocalAndRemote": m53,
|
||||
"singleFileInRemoteOnly": m54,
|
||||
"singleFileInBothLocalAndRemote": m55,
|
||||
"singleFileInRemoteOnly": m56,
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Überspringen"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("Social Media"),
|
||||
"someItemsAreInBothEnteAndYourDevice":
|
||||
|
@ -1333,16 +1370,17 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("✨ Abgeschlossen"),
|
||||
"startBackup":
|
||||
MessageLookupByLibrary.simpleMessage("Sicherung starten"),
|
||||
"status": MessageLookupByLibrary.simpleMessage("Status"),
|
||||
"storage": MessageLookupByLibrary.simpleMessage("Speicherplatz"),
|
||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Familie"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Sie"),
|
||||
"storageInGB": m55,
|
||||
"storageInGB": m57,
|
||||
"storageLimitExceeded": MessageLookupByLibrary.simpleMessage(
|
||||
"Speichergrenze überschritten"),
|
||||
"storageUsageInfo": m56,
|
||||
"storageUsageInfo": m58,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Stark"),
|
||||
"subAlreadyLinkedErrMessage": m57,
|
||||
"subWillBeCancelledOn": m58,
|
||||
"subAlreadyLinkedErrMessage": m59,
|
||||
"subWillBeCancelledOn": m60,
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("Abonnieren"),
|
||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||
"Sieht aus, als sei dein Abonnement abgelaufen. Bitte abonniere, um das Teilen zu aktivieren."),
|
||||
|
@ -1359,7 +1397,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"suggestFeatures":
|
||||
MessageLookupByLibrary.simpleMessage("Verbesserung vorschlagen"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("Support"),
|
||||
"syncProgress": m59,
|
||||
"syncProgress": m61,
|
||||
"syncStopped":
|
||||
MessageLookupByLibrary.simpleMessage("Synchronisierung angehalten"),
|
||||
"syncing": MessageLookupByLibrary.simpleMessage("Synchronisiere …"),
|
||||
|
@ -1388,7 +1426,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"theseItemsWillBeDeletedFromYourDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Diese Elemente werden von deinem Gerät gelöscht."),
|
||||
"theyAlsoGetXGb": m60,
|
||||
"theyAlsoGetXGb": m62,
|
||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||
"Sie werden aus allen Alben gelöscht."),
|
||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1404,7 +1442,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Diese E-Mail-Adresse wird bereits verwendet"),
|
||||
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
||||
"Dieses Bild hat keine Exif-Daten"),
|
||||
"thisIsPersonVerificationId": m61,
|
||||
"thisIsPersonVerificationId": m63,
|
||||
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
||||
"Dies ist deine Verifizierungs-ID"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
|
@ -1421,7 +1459,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"total": MessageLookupByLibrary.simpleMessage("Gesamt"),
|
||||
"totalSize": MessageLookupByLibrary.simpleMessage("Gesamtgröße"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("Papierkorb"),
|
||||
"trashDaysLeft": m62,
|
||||
"trashDaysLeft": m64,
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Erneut versuchen"),
|
||||
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
||||
"Aktiviere die Sicherung, um automatisch neu hinzugefügte Dateien dieses Ordners auf ente hochzuladen."),
|
||||
|
@ -1476,7 +1514,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Ausgewähltes Foto verwenden"),
|
||||
"usedSpace":
|
||||
MessageLookupByLibrary.simpleMessage("Belegter Speicherplatz"),
|
||||
"validTill": m63,
|
||||
"validTill": m65,
|
||||
"verificationFailedPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Verifizierung fehlgeschlagen, bitte versuchen Sie es erneut"),
|
||||
|
@ -1485,8 +1523,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"verify": MessageLookupByLibrary.simpleMessage("Überprüfen"),
|
||||
"verifyEmail":
|
||||
MessageLookupByLibrary.simpleMessage("E-Mail-Adresse verifizieren"),
|
||||
"verifyEmailID": m64,
|
||||
"verifyEmailID": m66,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Überprüfen"),
|
||||
"verifyPasskey":
|
||||
MessageLookupByLibrary.simpleMessage("Passkey verifizieren"),
|
||||
"verifyPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Passwort überprüfen"),
|
||||
"verifying": MessageLookupByLibrary.simpleMessage("Verifiziere …"),
|
||||
|
@ -1507,17 +1547,21 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"viewer": MessageLookupByLibrary.simpleMessage("Zuschauer"),
|
||||
"visitWebToManage": MessageLookupByLibrary.simpleMessage(
|
||||
"Bitte rufen Sie \"web.ente.io\" auf um ihr Abo zu verwalten"),
|
||||
"waitingForVerification":
|
||||
MessageLookupByLibrary.simpleMessage("Warte auf Bestätigung..."),
|
||||
"waitingForWifi":
|
||||
MessageLookupByLibrary.simpleMessage("Warte auf WLAN..."),
|
||||
"weAreOpenSource": MessageLookupByLibrary.simpleMessage(
|
||||
"Unser Quellcode ist offen einsehbar!"),
|
||||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Wir unterstützen keine Bearbeitung von Fotos und Alben, die du noch nicht besitzt"),
|
||||
"weHaveSendEmailTo": m65,
|
||||
"weHaveSendEmailTo": m67,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Schwach"),
|
||||
"welcomeBack":
|
||||
MessageLookupByLibrary.simpleMessage("Willkommen zurück!"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("Jährlich"),
|
||||
"yearsAgo": m66,
|
||||
"yearsAgo": m68,
|
||||
"yes": MessageLookupByLibrary.simpleMessage("Ja"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Ja, kündigen"),
|
||||
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1547,7 +1591,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Du kannst nicht mit dir selbst teilen"),
|
||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||
"Du hast keine archivierten Elemente."),
|
||||
"youHaveSuccessfullyFreedUp": m67,
|
||||
"youHaveSuccessfullyFreedUp": m69,
|
||||
"yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage(
|
||||
"Dein Benutzerkonto wurde gelöscht"),
|
||||
"yourMap": MessageLookupByLibrary.simpleMessage("Deine Karte"),
|
||||
|
|
281
mobile/lib/generated/intl/messages_en.dart
generated
281
mobile/lib/generated/intl/messages_en.dart
generated
|
@ -21,191 +21,197 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
String get localeName => 'en';
|
||||
|
||||
static String m0(count) =>
|
||||
"${Intl.plural(count, zero: 'Add collaborator', one: 'Add collaborator', other: 'Add collaborators')}";
|
||||
|
||||
static String m2(count) =>
|
||||
"${Intl.plural(count, one: 'Add item', other: 'Add items')}";
|
||||
|
||||
static String m1(storageAmount, endDate) =>
|
||||
static String m3(storageAmount, endDate) =>
|
||||
"Your ${storageAmount} add-on is valid till ${endDate}";
|
||||
|
||||
static String m2(emailOrName) => "Added by ${emailOrName}";
|
||||
static String m1(count) =>
|
||||
"${Intl.plural(count, zero: 'Add viewer', one: 'Add viewer', other: 'Add viewers')}";
|
||||
|
||||
static String m3(albumName) => "Added successfully to ${albumName}";
|
||||
static String m4(emailOrName) => "Added by ${emailOrName}";
|
||||
|
||||
static String m4(count) =>
|
||||
static String m5(albumName) => "Added successfully to ${albumName}";
|
||||
|
||||
static String m6(count) =>
|
||||
"${Intl.plural(count, zero: 'No Participants', one: '1 Participant', other: '${count} Participants')}";
|
||||
|
||||
static String m5(versionValue) => "Version: ${versionValue}";
|
||||
static String m7(versionValue) => "Version: ${versionValue}";
|
||||
|
||||
static String m6(paymentProvider) =>
|
||||
static String m8(paymentProvider) =>
|
||||
"Please cancel your existing subscription from ${paymentProvider} first";
|
||||
|
||||
static String m7(user) =>
|
||||
static String m9(user) =>
|
||||
"${user} will not be able to add more photos to this album\n\nThey will still be able to remove existing photos added by them";
|
||||
|
||||
static String m8(isFamilyMember, storageAmountInGb) =>
|
||||
static String m10(isFamilyMember, storageAmountInGb) =>
|
||||
"${Intl.select(isFamilyMember, {
|
||||
'true': 'Your family has claimed ${storageAmountInGb} GB so far',
|
||||
'false': 'You have claimed ${storageAmountInGb} GB so far',
|
||||
'other': 'You have claimed ${storageAmountInGb} GB so far!',
|
||||
})}";
|
||||
|
||||
static String m9(albumName) => "Collaborative link created for ${albumName}";
|
||||
static String m11(albumName) => "Collaborative link created for ${albumName}";
|
||||
|
||||
static String m10(familyAdminEmail) =>
|
||||
static String m12(familyAdminEmail) =>
|
||||
"Please contact <green>${familyAdminEmail}</green> to manage your subscription";
|
||||
|
||||
static String m11(provider) =>
|
||||
static String m13(provider) =>
|
||||
"Please contact us at support@ente.io to manage your ${provider} subscription.";
|
||||
|
||||
static String m12(count) =>
|
||||
static String m14(count) =>
|
||||
"${Intl.plural(count, one: 'Delete ${count} item', other: 'Delete ${count} items')}";
|
||||
|
||||
static String m13(currentlyDeleting, totalCount) =>
|
||||
static String m15(currentlyDeleting, totalCount) =>
|
||||
"Deleting ${currentlyDeleting} / ${totalCount}";
|
||||
|
||||
static String m14(albumName) =>
|
||||
static String m16(albumName) =>
|
||||
"This will remove the public link for accessing \"${albumName}\".";
|
||||
|
||||
static String m15(supportEmail) =>
|
||||
static String m17(supportEmail) =>
|
||||
"Please drop an email to ${supportEmail} from your registered email address";
|
||||
|
||||
static String m16(count, storageSaved) =>
|
||||
static String m18(count, storageSaved) =>
|
||||
"You have cleaned up ${Intl.plural(count, one: '${count} duplicate file', other: '${count} duplicate files')}, saving (${storageSaved}!)";
|
||||
|
||||
static String m17(count, formattedSize) =>
|
||||
static String m19(count, formattedSize) =>
|
||||
"${count} files, ${formattedSize} each";
|
||||
|
||||
static String m18(newEmail) => "Email changed to ${newEmail}";
|
||||
static String m20(newEmail) => "Email changed to ${newEmail}";
|
||||
|
||||
static String m19(email) =>
|
||||
static String m21(email) =>
|
||||
"${email} does not have an ente account.\n\nSend them an invite to share photos.";
|
||||
|
||||
static String m20(count, formattedNumber) =>
|
||||
static String m22(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 file', other: '${formattedNumber} files')} on this device have been backed up safely";
|
||||
|
||||
static String m21(count, formattedNumber) =>
|
||||
static String m23(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 file', other: '${formattedNumber} files')} in this album has been backed up safely";
|
||||
|
||||
static String m22(storageAmountInGB) =>
|
||||
static String m24(storageAmountInGB) =>
|
||||
"${storageAmountInGB} GB each time someone signs up for a paid plan and applies your code";
|
||||
|
||||
static String m23(freeAmount, storageUnit) =>
|
||||
static String m25(freeAmount, storageUnit) =>
|
||||
"${freeAmount} ${storageUnit} free";
|
||||
|
||||
static String m24(endDate) => "Free trial valid till ${endDate}";
|
||||
static String m26(endDate) => "Free trial valid till ${endDate}";
|
||||
|
||||
static String m25(count) =>
|
||||
static String m27(count) =>
|
||||
"You can still access ${Intl.plural(count, one: 'it', other: 'them')} on ente as long as you have an active subscription";
|
||||
|
||||
static String m26(sizeInMBorGB) => "Free up ${sizeInMBorGB}";
|
||||
static String m28(sizeInMBorGB) => "Free up ${sizeInMBorGB}";
|
||||
|
||||
static String m27(count, formattedSize) =>
|
||||
static String m29(count, formattedSize) =>
|
||||
"${Intl.plural(count, one: 'It can be deleted from the device to free up ${formattedSize}', other: 'They can be deleted from the device to free up ${formattedSize}')}";
|
||||
|
||||
static String m28(currentlyProcessing, totalCount) =>
|
||||
static String m30(currentlyProcessing, totalCount) =>
|
||||
"Processing ${currentlyProcessing} / ${totalCount}";
|
||||
|
||||
static String m29(count) =>
|
||||
static String m31(count) =>
|
||||
"${Intl.plural(count, one: '${count} item', other: '${count} items')}";
|
||||
|
||||
static String m30(expiryTime) => "Link will expire on ${expiryTime}";
|
||||
static String m32(expiryTime) => "Link will expire on ${expiryTime}";
|
||||
|
||||
static String m31(count, formattedCount) =>
|
||||
static String m33(count, formattedCount) =>
|
||||
"${Intl.plural(count, zero: 'no memories', one: '${formattedCount} memory', other: '${formattedCount} memories')}";
|
||||
|
||||
static String m32(count) =>
|
||||
static String m34(count) =>
|
||||
"${Intl.plural(count, one: 'Move item', other: 'Move items')}";
|
||||
|
||||
static String m33(albumName) => "Moved successfully to ${albumName}";
|
||||
static String m35(albumName) => "Moved successfully to ${albumName}";
|
||||
|
||||
static String m34(passwordStrengthValue) =>
|
||||
static String m36(passwordStrengthValue) =>
|
||||
"Password strength: ${passwordStrengthValue}";
|
||||
|
||||
static String m35(providerName) =>
|
||||
static String m37(providerName) =>
|
||||
"Please talk to ${providerName} support if you were charged";
|
||||
|
||||
static String m36(reason) =>
|
||||
static String m38(reason) =>
|
||||
"Unfortunately your payment failed due to ${reason}";
|
||||
|
||||
static String m37(endDate) =>
|
||||
static String m39(endDate) =>
|
||||
"Free trial valid till ${endDate}.\nYou can choose a paid plan afterwards.";
|
||||
|
||||
static String m38(toEmail) => "Please email us at ${toEmail}";
|
||||
static String m40(toEmail) => "Please email us at ${toEmail}";
|
||||
|
||||
static String m39(toEmail) => "Please send the logs to \n${toEmail}";
|
||||
static String m41(toEmail) => "Please send the logs to \n${toEmail}";
|
||||
|
||||
static String m40(storeName) => "Rate us on ${storeName}";
|
||||
static String m42(storeName) => "Rate us on ${storeName}";
|
||||
|
||||
static String m41(storageInGB) =>
|
||||
static String m43(storageInGB) =>
|
||||
"3. Both of you get ${storageInGB} GB* free";
|
||||
|
||||
static String m42(userEmail) =>
|
||||
static String m44(userEmail) =>
|
||||
"${userEmail} will be removed from this shared album\n\nAny photos added by them will also be removed from the album";
|
||||
|
||||
static String m43(endDate) => "Subscription renews on ${endDate}";
|
||||
static String m45(endDate) => "Subscription renews on ${endDate}";
|
||||
|
||||
static String m44(count) =>
|
||||
static String m46(count) =>
|
||||
"${Intl.plural(count, one: '${count} result found', other: '${count} results found')}";
|
||||
|
||||
static String m45(count) => "${count} selected";
|
||||
static String m47(count) => "${count} selected";
|
||||
|
||||
static String m46(count, yourCount) =>
|
||||
static String m48(count, yourCount) =>
|
||||
"${count} selected (${yourCount} yours)";
|
||||
|
||||
static String m47(verificationID) =>
|
||||
static String m49(verificationID) =>
|
||||
"Here\'s my verification ID: ${verificationID} for ente.io.";
|
||||
|
||||
static String m48(verificationID) =>
|
||||
static String m50(verificationID) =>
|
||||
"Hey, can you confirm that this is your ente.io verification ID: ${verificationID}";
|
||||
|
||||
static String m49(referralCode, referralStorageInGB) =>
|
||||
static String m51(referralCode, referralStorageInGB) =>
|
||||
"ente referral code: ${referralCode} \n\nApply it in Settings → General → Referrals to get ${referralStorageInGB} GB free after you signup for a paid plan\n\nhttps://ente.io";
|
||||
|
||||
static String m50(numberOfPeople) =>
|
||||
static String m52(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: 'Share with specific people', one: 'Shared with 1 person', other: 'Shared with ${numberOfPeople} people')}";
|
||||
|
||||
static String m51(emailIDs) => "Shared with ${emailIDs}";
|
||||
static String m53(emailIDs) => "Shared with ${emailIDs}";
|
||||
|
||||
static String m52(fileType) =>
|
||||
static String m54(fileType) =>
|
||||
"This ${fileType} will be deleted from your device.";
|
||||
|
||||
static String m53(fileType) =>
|
||||
static String m55(fileType) =>
|
||||
"This ${fileType} is in both ente and your device.";
|
||||
|
||||
static String m54(fileType) => "This ${fileType} will be deleted from ente.";
|
||||
static String m56(fileType) => "This ${fileType} will be deleted from ente.";
|
||||
|
||||
static String m55(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
static String m57(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
|
||||
static String m56(
|
||||
static String m58(
|
||||
usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) =>
|
||||
"${usedAmount} ${usedStorageUnit} of ${totalAmount} ${totalStorageUnit} used";
|
||||
|
||||
static String m57(id) =>
|
||||
static String m59(id) =>
|
||||
"Your ${id} is already linked to another ente account.\nIf you would like to use your ${id} with this account, please contact our support\'\'";
|
||||
|
||||
static String m58(endDate) =>
|
||||
static String m60(endDate) =>
|
||||
"Your subscription will be cancelled on ${endDate}";
|
||||
|
||||
static String m59(completed, total) =>
|
||||
static String m61(completed, total) =>
|
||||
"${completed}/${total} memories preserved";
|
||||
|
||||
static String m60(storageAmountInGB) =>
|
||||
static String m62(storageAmountInGB) =>
|
||||
"They also get ${storageAmountInGB} GB";
|
||||
|
||||
static String m61(email) => "This is ${email}\'s Verification ID";
|
||||
static String m63(email) => "This is ${email}\'s Verification ID";
|
||||
|
||||
static String m62(count) =>
|
||||
static String m64(count) =>
|
||||
"${Intl.plural(count, zero: '', one: '1 day', other: '${count} days')}";
|
||||
|
||||
static String m63(endDate) => "Valid till ${endDate}";
|
||||
static String m65(endDate) => "Valid till ${endDate}";
|
||||
|
||||
static String m64(email) => "Verify ${email}";
|
||||
static String m66(email) => "Verify ${email}";
|
||||
|
||||
static String m65(email) => "We have sent a mail to <green>${email}</green>";
|
||||
static String m67(email) => "We have sent a mail to <green>${email}</green>";
|
||||
|
||||
static String m66(count) =>
|
||||
static String m68(count) =>
|
||||
"${Intl.plural(count, one: '${count} year ago', other: '${count} years ago')}";
|
||||
|
||||
static String m67(storageSaved) =>
|
||||
static String m69(storageSaved) =>
|
||||
"You have successfully freed up ${storageSaved}!";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
|
@ -223,16 +229,17 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"addANewEmail": MessageLookupByLibrary.simpleMessage("Add a new email"),
|
||||
"addCollaborator":
|
||||
MessageLookupByLibrary.simpleMessage("Add collaborator"),
|
||||
"addCollaborators": m0,
|
||||
"addFromDevice":
|
||||
MessageLookupByLibrary.simpleMessage("Add from device"),
|
||||
"addItem": m0,
|
||||
"addItem": m2,
|
||||
"addLocation": MessageLookupByLibrary.simpleMessage("Add location"),
|
||||
"addLocationButton": MessageLookupByLibrary.simpleMessage("Add"),
|
||||
"addMore": MessageLookupByLibrary.simpleMessage("Add more"),
|
||||
"addNew": MessageLookupByLibrary.simpleMessage("Add new"),
|
||||
"addOnPageSubtitle":
|
||||
MessageLookupByLibrary.simpleMessage("Details of add-ons"),
|
||||
"addOnValidTill": m1,
|
||||
"addOnValidTill": m3,
|
||||
"addOns": MessageLookupByLibrary.simpleMessage("Add-ons"),
|
||||
"addPhotos": MessageLookupByLibrary.simpleMessage("Add photos"),
|
||||
"addSelected": MessageLookupByLibrary.simpleMessage("Add selected"),
|
||||
|
@ -241,11 +248,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"addToHiddenAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Add to hidden album"),
|
||||
"addViewer": MessageLookupByLibrary.simpleMessage("Add viewer"),
|
||||
"addViewers": m1,
|
||||
"addYourPhotosNow":
|
||||
MessageLookupByLibrary.simpleMessage("Add your photos now"),
|
||||
"addedAs": MessageLookupByLibrary.simpleMessage("Added as"),
|
||||
"addedBy": m2,
|
||||
"addedSuccessfullyTo": m3,
|
||||
"addedBy": m4,
|
||||
"addedSuccessfullyTo": m5,
|
||||
"addingToFavorites":
|
||||
MessageLookupByLibrary.simpleMessage("Adding to favorites..."),
|
||||
"advanced": MessageLookupByLibrary.simpleMessage("Advanced"),
|
||||
|
@ -256,7 +264,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"after1Week": MessageLookupByLibrary.simpleMessage("After 1 week"),
|
||||
"after1Year": MessageLookupByLibrary.simpleMessage("After 1 year"),
|
||||
"albumOwner": MessageLookupByLibrary.simpleMessage("Owner"),
|
||||
"albumParticipantsCount": m4,
|
||||
"albumParticipantsCount": m6,
|
||||
"albumTitle": MessageLookupByLibrary.simpleMessage("Album title"),
|
||||
"albumUpdated": MessageLookupByLibrary.simpleMessage("Album updated"),
|
||||
"albums": MessageLookupByLibrary.simpleMessage("Albums"),
|
||||
|
@ -290,7 +298,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Android, iOS, Web, Desktop"),
|
||||
"androidSignInTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Authentication required"),
|
||||
"appVersion": m5,
|
||||
"appVersion": m7,
|
||||
"appleId": MessageLookupByLibrary.simpleMessage("Apple ID"),
|
||||
"apply": MessageLookupByLibrary.simpleMessage("Apply"),
|
||||
"applyCodeTitle": MessageLookupByLibrary.simpleMessage("Apply code"),
|
||||
|
@ -374,10 +382,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage(
|
||||
"Can only remove files owned by you"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("Cancel"),
|
||||
"cancelOtherSubscription": m6,
|
||||
"cancelOtherSubscription": m8,
|
||||
"cancelSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Cancel subscription"),
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m7,
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m9,
|
||||
"cannotDeleteSharedFiles":
|
||||
MessageLookupByLibrary.simpleMessage("Cannot delete shared files"),
|
||||
"castInstruction": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -401,7 +409,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Claim free storage"),
|
||||
"claimMore": MessageLookupByLibrary.simpleMessage("Claim more!"),
|
||||
"claimed": MessageLookupByLibrary.simpleMessage("Claimed"),
|
||||
"claimedStorageSoFar": m8,
|
||||
"claimedStorageSoFar": m10,
|
||||
"cleanUncategorized":
|
||||
MessageLookupByLibrary.simpleMessage("Clean Uncategorized"),
|
||||
"cleanUncategorizedDescription": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -426,7 +434,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Create a link to allow people to add and view photos in your shared album without needing an ente app or account. Great for collecting event photos."),
|
||||
"collaborativeLink":
|
||||
MessageLookupByLibrary.simpleMessage("Collaborative link"),
|
||||
"collaborativeLinkCreatedFor": m9,
|
||||
"collaborativeLinkCreatedFor": m11,
|
||||
"collaborator": MessageLookupByLibrary.simpleMessage("Collaborator"),
|
||||
"collaboratorsCanAddPhotosAndVideosToTheSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -453,10 +461,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Confirm recovery key"),
|
||||
"confirmYourRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("Confirm your recovery key"),
|
||||
"contactFamilyAdmin": m10,
|
||||
"contactFamilyAdmin": m12,
|
||||
"contactSupport":
|
||||
MessageLookupByLibrary.simpleMessage("Contact support"),
|
||||
"contactToManageSubscription": m11,
|
||||
"contactToManageSubscription": m13,
|
||||
"contacts": MessageLookupByLibrary.simpleMessage("Contacts"),
|
||||
"contents": MessageLookupByLibrary.simpleMessage("Contents"),
|
||||
"continueLabel": MessageLookupByLibrary.simpleMessage("Continue"),
|
||||
|
@ -531,11 +539,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Delete from device"),
|
||||
"deleteFromEnte":
|
||||
MessageLookupByLibrary.simpleMessage("Delete from ente"),
|
||||
"deleteItemCount": m12,
|
||||
"deleteItemCount": m14,
|
||||
"deleteLocation":
|
||||
MessageLookupByLibrary.simpleMessage("Delete location"),
|
||||
"deletePhotos": MessageLookupByLibrary.simpleMessage("Delete photos"),
|
||||
"deleteProgress": m13,
|
||||
"deleteProgress": m15,
|
||||
"deleteReason1": MessageLookupByLibrary.simpleMessage(
|
||||
"It’s missing a key feature that I need"),
|
||||
"deleteReason2": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -572,7 +580,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Viewers can still take screenshots or save a copy of your photos using external tools"),
|
||||
"disableDownloadWarningTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Please note"),
|
||||
"disableLinkMessage": m14,
|
||||
"disableLinkMessage": m16,
|
||||
"disableTwofactor":
|
||||
MessageLookupByLibrary.simpleMessage("Disable two-factor"),
|
||||
"disablingTwofactorAuthentication":
|
||||
|
@ -593,9 +601,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"downloadFailed":
|
||||
MessageLookupByLibrary.simpleMessage("Download failed"),
|
||||
"downloading": MessageLookupByLibrary.simpleMessage("Downloading..."),
|
||||
"dropSupportEmail": m15,
|
||||
"duplicateFileCountWithStorageSaved": m16,
|
||||
"duplicateItemsGroup": m17,
|
||||
"dropSupportEmail": m17,
|
||||
"duplicateFileCountWithStorageSaved": m18,
|
||||
"duplicateItemsGroup": m19,
|
||||
"edit": MessageLookupByLibrary.simpleMessage("Edit"),
|
||||
"editLocation": MessageLookupByLibrary.simpleMessage("Edit location"),
|
||||
"editLocationTagTitle":
|
||||
|
@ -606,8 +614,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Edits to location will only be seen within Ente"),
|
||||
"eligible": MessageLookupByLibrary.simpleMessage("eligible"),
|
||||
"email": MessageLookupByLibrary.simpleMessage("Email"),
|
||||
"emailChangedTo": m18,
|
||||
"emailNoEnteAccount": m19,
|
||||
"emailChangedTo": m20,
|
||||
"emailNoEnteAccount": m21,
|
||||
"emailVerificationToggle":
|
||||
MessageLookupByLibrary.simpleMessage("Email verification"),
|
||||
"emailYourLogs":
|
||||
|
@ -702,8 +710,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"fileTypes": MessageLookupByLibrary.simpleMessage("File types"),
|
||||
"fileTypesAndNames":
|
||||
MessageLookupByLibrary.simpleMessage("File types and names"),
|
||||
"filesBackedUpFromDevice": m20,
|
||||
"filesBackedUpInAlbum": m21,
|
||||
"filesBackedUpFromDevice": m22,
|
||||
"filesBackedUpInAlbum": m23,
|
||||
"filesDeleted": MessageLookupByLibrary.simpleMessage("Files deleted"),
|
||||
"flip": MessageLookupByLibrary.simpleMessage("Flip"),
|
||||
"forYourMemories":
|
||||
|
@ -712,24 +720,24 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Forgot password"),
|
||||
"freeStorageClaimed":
|
||||
MessageLookupByLibrary.simpleMessage("Free storage claimed"),
|
||||
"freeStorageOnReferralSuccess": m22,
|
||||
"freeStorageSpace": m23,
|
||||
"freeStorageOnReferralSuccess": m24,
|
||||
"freeStorageSpace": m25,
|
||||
"freeStorageUsable":
|
||||
MessageLookupByLibrary.simpleMessage("Free storage usable"),
|
||||
"freeTrial": MessageLookupByLibrary.simpleMessage("Free trial"),
|
||||
"freeTrialValidTill": m24,
|
||||
"freeUpAccessPostDelete": m25,
|
||||
"freeUpAmount": m26,
|
||||
"freeTrialValidTill": m26,
|
||||
"freeUpAccessPostDelete": m27,
|
||||
"freeUpAmount": m28,
|
||||
"freeUpDeviceSpace":
|
||||
MessageLookupByLibrary.simpleMessage("Free up device space"),
|
||||
"freeUpSpace": MessageLookupByLibrary.simpleMessage("Free up space"),
|
||||
"freeUpSpaceSaving": m27,
|
||||
"freeUpSpaceSaving": m29,
|
||||
"galleryMemoryLimitInfo": MessageLookupByLibrary.simpleMessage(
|
||||
"Up to 1000 memories shown in gallery"),
|
||||
"general": MessageLookupByLibrary.simpleMessage("General"),
|
||||
"generatingEncryptionKeys": MessageLookupByLibrary.simpleMessage(
|
||||
"Generating encryption keys..."),
|
||||
"genericProgress": m28,
|
||||
"genericProgress": m30,
|
||||
"goToSettings": MessageLookupByLibrary.simpleMessage("Go to settings"),
|
||||
"googlePlayId": MessageLookupByLibrary.simpleMessage("Google Play ID"),
|
||||
"grantFullAccessPrompt": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -787,7 +795,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"It looks like something went wrong. Please retry after some time. If the error persists, please contact our support team."),
|
||||
"itemCount": m29,
|
||||
"itemCount": m31,
|
||||
"itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Items show the number of days remaining before permanent deletion"),
|
||||
|
@ -812,7 +820,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"linkDeviceLimit": MessageLookupByLibrary.simpleMessage("Device limit"),
|
||||
"linkEnabled": MessageLookupByLibrary.simpleMessage("Enabled"),
|
||||
"linkExpired": MessageLookupByLibrary.simpleMessage("Expired"),
|
||||
"linkExpiresOn": m30,
|
||||
"linkExpiresOn": m32,
|
||||
"linkExpiry": MessageLookupByLibrary.simpleMessage("Link expiry"),
|
||||
"linkHasExpired":
|
||||
MessageLookupByLibrary.simpleMessage("Link has expired"),
|
||||
|
@ -861,6 +869,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"logout": MessageLookupByLibrary.simpleMessage("Logout"),
|
||||
"logsDialogBody": MessageLookupByLibrary.simpleMessage(
|
||||
"This will send across logs to help us debug your issue. Please note that file names will be included to help track issues with specific files."),
|
||||
"longPressAnEmailToVerifyEndToEndEncryption":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Long press an email to verify end to end encryption."),
|
||||
"longpressOnAnItemToViewInFullscreen":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Long-press on an item to view in full-screen"),
|
||||
|
@ -882,7 +893,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"maps": MessageLookupByLibrary.simpleMessage("Maps"),
|
||||
"mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"),
|
||||
"matrix": MessageLookupByLibrary.simpleMessage("Matrix"),
|
||||
"memoryCount": m31,
|
||||
"memoryCount": m33,
|
||||
"merchandise": MessageLookupByLibrary.simpleMessage("Merchandise"),
|
||||
"mobileWebDesktop":
|
||||
MessageLookupByLibrary.simpleMessage("Mobile, Web, Desktop"),
|
||||
|
@ -892,11 +903,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Modify your query, or try searching for"),
|
||||
"moments": MessageLookupByLibrary.simpleMessage("Moments"),
|
||||
"monthly": MessageLookupByLibrary.simpleMessage("Monthly"),
|
||||
"moveItem": m32,
|
||||
"moveItem": m34,
|
||||
"moveToAlbum": MessageLookupByLibrary.simpleMessage("Move to album"),
|
||||
"moveToHiddenAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Move to hidden album"),
|
||||
"movedSuccessfullyTo": m33,
|
||||
"movedSuccessfullyTo": m35,
|
||||
"movedToTrash": MessageLookupByLibrary.simpleMessage("Moved to trash"),
|
||||
"movingFilesToAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Moving files to album..."),
|
||||
|
@ -965,14 +976,14 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"passwordChangedSuccessfully": MessageLookupByLibrary.simpleMessage(
|
||||
"Password changed successfully"),
|
||||
"passwordLock": MessageLookupByLibrary.simpleMessage("Password lock"),
|
||||
"passwordStrength": m34,
|
||||
"passwordStrength": m36,
|
||||
"passwordWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"We don\'t store this password, so if you forget, <underline>we cannot decrypt your data</underline>"),
|
||||
"paymentDetails":
|
||||
MessageLookupByLibrary.simpleMessage("Payment details"),
|
||||
"paymentFailed": MessageLookupByLibrary.simpleMessage("Payment failed"),
|
||||
"paymentFailedTalkToProvider": m35,
|
||||
"paymentFailedWithReason": m36,
|
||||
"paymentFailedTalkToProvider": m37,
|
||||
"paymentFailedWithReason": m38,
|
||||
"pendingItems": MessageLookupByLibrary.simpleMessage("Pending items"),
|
||||
"pendingSync": MessageLookupByLibrary.simpleMessage("Pending sync"),
|
||||
"peopleUsingYourCode":
|
||||
|
@ -996,7 +1007,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Pick center point"),
|
||||
"pinAlbum": MessageLookupByLibrary.simpleMessage("Pin album"),
|
||||
"playOnTv": MessageLookupByLibrary.simpleMessage("Play album on TV"),
|
||||
"playStoreFreeTrialValidTill": m37,
|
||||
"playStoreFreeTrialValidTill": m39,
|
||||
"playstoreSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("PlayStore subscription"),
|
||||
"pleaseCheckYourInternetConnectionAndTryAgain":
|
||||
|
@ -1008,12 +1019,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"pleaseContactSupportIfTheProblemPersists":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Please contact support if the problem persists"),
|
||||
"pleaseEmailUsAt": m38,
|
||||
"pleaseEmailUsAt": m40,
|
||||
"pleaseGrantPermissions":
|
||||
MessageLookupByLibrary.simpleMessage("Please grant permissions"),
|
||||
"pleaseLoginAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Please login again"),
|
||||
"pleaseSendTheLogsTo": m39,
|
||||
"pleaseSendTheLogsTo": m41,
|
||||
"pleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Please try again"),
|
||||
"pleaseVerifyTheCodeYouHaveEntered":
|
||||
|
@ -1048,7 +1059,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"raiseTicket": MessageLookupByLibrary.simpleMessage("Raise ticket"),
|
||||
"rateTheApp": MessageLookupByLibrary.simpleMessage("Rate the app"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("Rate us"),
|
||||
"rateUsOnStore": m40,
|
||||
"rateUsOnStore": m42,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Recover"),
|
||||
"recoverAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Recover account"),
|
||||
|
@ -1079,7 +1090,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"1. Give this code to your friends"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||
"2. They sign up for a paid plan"),
|
||||
"referralStep3": m41,
|
||||
"referralStep3": m43,
|
||||
"referrals": MessageLookupByLibrary.simpleMessage("Referrals"),
|
||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||
"Referrals are currently paused"),
|
||||
|
@ -1103,7 +1114,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"removeLink": MessageLookupByLibrary.simpleMessage("Remove link"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Remove participant"),
|
||||
"removeParticipantBody": m42,
|
||||
"removeParticipantBody": m44,
|
||||
"removePublicLink":
|
||||
MessageLookupByLibrary.simpleMessage("Remove public link"),
|
||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1117,7 +1128,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"renameFile": MessageLookupByLibrary.simpleMessage("Rename file"),
|
||||
"renewSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Renew subscription"),
|
||||
"renewsOn": m43,
|
||||
"renewsOn": m45,
|
||||
"reportABug": MessageLookupByLibrary.simpleMessage("Report a bug"),
|
||||
"reportBug": MessageLookupByLibrary.simpleMessage("Report bug"),
|
||||
"resendEmail": MessageLookupByLibrary.simpleMessage("Resend email"),
|
||||
|
@ -1177,7 +1188,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Group photos that are taken within some radius of a photo"),
|
||||
"searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage(
|
||||
"Invite people, and you\'ll see all photos shared by them here"),
|
||||
"searchResultCount": m44,
|
||||
"searchResultCount": m46,
|
||||
"security": MessageLookupByLibrary.simpleMessage("Security"),
|
||||
"selectALocation":
|
||||
MessageLookupByLibrary.simpleMessage("Select a location"),
|
||||
|
@ -1204,8 +1215,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Selected items will be deleted from all albums and moved to trash."),
|
||||
"selectedPhotos": m45,
|
||||
"selectedPhotosWithYours": m46,
|
||||
"selectedPhotos": m47,
|
||||
"selectedPhotosWithYours": m48,
|
||||
"send": MessageLookupByLibrary.simpleMessage("Send"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("Send email"),
|
||||
"sendInvite": MessageLookupByLibrary.simpleMessage("Send invite"),
|
||||
|
@ -1227,16 +1238,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"shareAnAlbumNow":
|
||||
MessageLookupByLibrary.simpleMessage("Share an album now"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("Share link"),
|
||||
"shareMyVerificationID": m47,
|
||||
"shareMyVerificationID": m49,
|
||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||
"Share only with the people you want"),
|
||||
"shareTextConfirmOthersVerificationID": m48,
|
||||
"shareTextConfirmOthersVerificationID": m50,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Download ente so we can easily share original quality photos and videos\n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m49,
|
||||
"shareTextReferralCode": m51,
|
||||
"shareWithNonenteUsers":
|
||||
MessageLookupByLibrary.simpleMessage("Share with non-ente users"),
|
||||
"shareWithPeopleSectionTitle": m50,
|
||||
"shareWithPeopleSectionTitle": m52,
|
||||
"shareYourFirstAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Share your first album"),
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1247,7 +1258,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("New shared photos"),
|
||||
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||
"Receive notifications when someone adds a photo to a shared album that you\'re a part of"),
|
||||
"sharedWith": m51,
|
||||
"sharedWith": m53,
|
||||
"sharedWithMe": MessageLookupByLibrary.simpleMessage("Shared with me"),
|
||||
"sharedWithYou":
|
||||
MessageLookupByLibrary.simpleMessage("Shared with you"),
|
||||
|
@ -1261,11 +1272,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Sign out other devices"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"I agree to the <u-terms>terms of service</u-terms> and <u-policy>privacy policy</u-policy>"),
|
||||
"singleFileDeleteFromDevice": m52,
|
||||
"singleFileDeleteFromDevice": m54,
|
||||
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||
"It will be deleted from all albums."),
|
||||
"singleFileInBothLocalAndRemote": m53,
|
||||
"singleFileInRemoteOnly": m54,
|
||||
"singleFileInBothLocalAndRemote": m55,
|
||||
"singleFileInRemoteOnly": m56,
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Skip"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("Social"),
|
||||
"someItemsAreInBothEnteAndYourDevice":
|
||||
|
@ -1303,13 +1314,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"storage": MessageLookupByLibrary.simpleMessage("Storage"),
|
||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Family"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("You"),
|
||||
"storageInGB": m55,
|
||||
"storageInGB": m57,
|
||||
"storageLimitExceeded":
|
||||
MessageLookupByLibrary.simpleMessage("Storage limit exceeded"),
|
||||
"storageUsageInfo": m56,
|
||||
"storageUsageInfo": m58,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Strong"),
|
||||
"subAlreadyLinkedErrMessage": m57,
|
||||
"subWillBeCancelledOn": m58,
|
||||
"subAlreadyLinkedErrMessage": m59,
|
||||
"subWillBeCancelledOn": m60,
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("Subscribe"),
|
||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||
"Looks like your subscription has expired. Please subscribe to enable sharing."),
|
||||
|
@ -1326,7 +1337,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"suggestFeatures":
|
||||
MessageLookupByLibrary.simpleMessage("Suggest features"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("Support"),
|
||||
"syncProgress": m59,
|
||||
"syncProgress": m61,
|
||||
"syncStopped": MessageLookupByLibrary.simpleMessage("Sync stopped"),
|
||||
"syncing": MessageLookupByLibrary.simpleMessage("Syncing..."),
|
||||
"systemTheme": MessageLookupByLibrary.simpleMessage("System"),
|
||||
|
@ -1352,7 +1363,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"theseItemsWillBeDeletedFromYourDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"These items will be deleted from your device."),
|
||||
"theyAlsoGetXGb": m60,
|
||||
"theyAlsoGetXGb": m62,
|
||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||
"They will be deleted from all albums."),
|
||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1368,7 +1379,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"This email is already in use"),
|
||||
"thisImageHasNoExifData":
|
||||
MessageLookupByLibrary.simpleMessage("This image has no exif data"),
|
||||
"thisIsPersonVerificationId": m61,
|
||||
"thisIsPersonVerificationId": m63,
|
||||
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
||||
"This is your Verification ID"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
|
@ -1384,7 +1395,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"total": MessageLookupByLibrary.simpleMessage("total"),
|
||||
"totalSize": MessageLookupByLibrary.simpleMessage("Total size"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("Trash"),
|
||||
"trashDaysLeft": m62,
|
||||
"trashDaysLeft": m64,
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Try again"),
|
||||
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
||||
"Turn on backup to automatically upload files added to this device folder to ente."),
|
||||
|
@ -1436,7 +1447,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"useSelectedPhoto":
|
||||
MessageLookupByLibrary.simpleMessage("Use selected photo"),
|
||||
"usedSpace": MessageLookupByLibrary.simpleMessage("Used space"),
|
||||
"validTill": m63,
|
||||
"validTill": m65,
|
||||
"verificationFailedPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Verification failed, please try again"),
|
||||
|
@ -1444,7 +1455,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Verification ID"),
|
||||
"verify": MessageLookupByLibrary.simpleMessage("Verify"),
|
||||
"verifyEmail": MessageLookupByLibrary.simpleMessage("Verify email"),
|
||||
"verifyEmailID": m64,
|
||||
"verifyEmailID": m66,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verify"),
|
||||
"verifyPasskey": MessageLookupByLibrary.simpleMessage("Verify passkey"),
|
||||
"verifyPassword":
|
||||
|
@ -1475,11 +1486,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"We don\'t support editing photos and albums that you don\'t own yet"),
|
||||
"weHaveSendEmailTo": m65,
|
||||
"weHaveSendEmailTo": m67,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Weak"),
|
||||
"welcomeBack": MessageLookupByLibrary.simpleMessage("Welcome back!"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("Yearly"),
|
||||
"yearsAgo": m66,
|
||||
"yearsAgo": m68,
|
||||
"yes": MessageLookupByLibrary.simpleMessage("Yes"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Yes, cancel"),
|
||||
"yesConvertToViewer":
|
||||
|
@ -1509,7 +1520,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"You cannot share with yourself"),
|
||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||
"You don\'t have any archived items."),
|
||||
"youHaveSuccessfullyFreedUp": m67,
|
||||
"youHaveSuccessfullyFreedUp": m69,
|
||||
"yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage(
|
||||
"Your account has been deleted"),
|
||||
"yourMap": MessageLookupByLibrary.simpleMessage("Your map"),
|
||||
|
|
250
mobile/lib/generated/intl/messages_es.dart
generated
250
mobile/lib/generated/intl/messages_es.dart
generated
|
@ -21,24 +21,30 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
String get localeName => 'es';
|
||||
|
||||
static String m0(count) =>
|
||||
"${Intl.plural(count, zero: 'Add collaborator', one: 'Add collaborator', other: 'Add collaborators')}";
|
||||
|
||||
static String m2(count) =>
|
||||
"${Intl.plural(count, one: 'Agregar elemento', other: 'Agregar elementos')}}";
|
||||
|
||||
static String m2(emailOrName) => "Añadido por ${emailOrName}";
|
||||
static String m1(count) =>
|
||||
"${Intl.plural(count, zero: 'Add viewer', one: 'Add viewer', other: 'Add viewers')}";
|
||||
|
||||
static String m3(albumName) => "Añadido exitosamente a ${albumName}";
|
||||
static String m4(emailOrName) => "Añadido por ${emailOrName}";
|
||||
|
||||
static String m4(count) =>
|
||||
static String m5(albumName) => "Añadido exitosamente a ${albumName}";
|
||||
|
||||
static String m6(count) =>
|
||||
"${Intl.plural(count, zero: 'No hay Participantes', one: '1 Participante', other: '${count} Participantes')}";
|
||||
|
||||
static String m5(versionValue) => "Versión: ${versionValue}";
|
||||
static String m7(versionValue) => "Versión: ${versionValue}";
|
||||
|
||||
static String m6(paymentProvider) =>
|
||||
static String m8(paymentProvider) =>
|
||||
"Por favor, cancele primero su suscripción existente de ${paymentProvider}";
|
||||
|
||||
static String m7(user) =>
|
||||
static String m9(user) =>
|
||||
"${user} no podrá añadir más fotos a este álbum\n\nTodavía podrán eliminar las fotos ya añadidas por ellos";
|
||||
|
||||
static String m8(isFamilyMember, storageAmountInGb) =>
|
||||
static String m10(isFamilyMember, storageAmountInGb) =>
|
||||
"${Intl.select(isFamilyMember, {
|
||||
'true':
|
||||
'Su familia ha reclamado ${storageAmountInGb} GB hasta el momento',
|
||||
|
@ -48,145 +54,146 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
'¡Tú has reclamado ${storageAmountInGb} GB hasta el momento!',
|
||||
})}";
|
||||
|
||||
static String m9(albumName) => "Enlace colaborativo creado para ${albumName}";
|
||||
static String m11(albumName) =>
|
||||
"Enlace colaborativo creado para ${albumName}";
|
||||
|
||||
static String m10(familyAdminEmail) =>
|
||||
static String m12(familyAdminEmail) =>
|
||||
"Por favor contacta con <green>${familyAdminEmail}</green> para administrar tu suscripción";
|
||||
|
||||
static String m11(provider) =>
|
||||
static String m13(provider) =>
|
||||
"Por favor, contáctenos en support@ente.io para gestionar su suscripción a ${provider}.";
|
||||
|
||||
static String m13(currentlyDeleting, totalCount) =>
|
||||
static String m15(currentlyDeleting, totalCount) =>
|
||||
"Borrando ${currentlyDeleting} / ${totalCount}";
|
||||
|
||||
static String m14(albumName) =>
|
||||
static String m16(albumName) =>
|
||||
"Esto eliminará el enlace público para acceder a \"${albumName}\".";
|
||||
|
||||
static String m15(supportEmail) =>
|
||||
static String m17(supportEmail) =>
|
||||
"Por favor, envíe un email a ${supportEmail} desde su dirección de correo electrónico registrada";
|
||||
|
||||
static String m16(count, storageSaved) =>
|
||||
static String m18(count, storageSaved) =>
|
||||
"¡Has limpiado ${Intl.plural(count, one: '${count} archivo duplicado', other: '${count} archivos duplicados')}, ahorrando (${storageSaved}!)";
|
||||
|
||||
static String m18(newEmail) => "Correo cambiado a ${newEmail}";
|
||||
static String m20(newEmail) => "Correo cambiado a ${newEmail}";
|
||||
|
||||
static String m19(email) =>
|
||||
static String m21(email) =>
|
||||
"${email} no tiene una cuenta ente.\n\nEnvíale una invitación para compartir fotos.";
|
||||
|
||||
static String m20(count, formattedNumber) =>
|
||||
static String m22(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 archivo', other: '${formattedNumber} archivos')} en este dispositivo han sido respaldados de forma segura";
|
||||
|
||||
static String m21(count, formattedNumber) =>
|
||||
static String m23(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 archivo', other: '${formattedNumber} archivos')} en este álbum ha sido respaldado de forma segura";
|
||||
|
||||
static String m22(storageAmountInGB) =>
|
||||
static String m24(storageAmountInGB) =>
|
||||
"${storageAmountInGB} GB cada vez que alguien se registra en un plan de pago y aplica tu código";
|
||||
|
||||
static String m23(freeAmount, storageUnit) =>
|
||||
static String m25(freeAmount, storageUnit) =>
|
||||
"${freeAmount} ${storageUnit} gratis";
|
||||
|
||||
static String m24(endDate) => "Prueba gratuita válida hasta${endDate}";
|
||||
static String m26(endDate) => "Prueba gratuita válida hasta${endDate}";
|
||||
|
||||
static String m25(count) =>
|
||||
static String m27(count) =>
|
||||
"Aún puedes acceder ${Intl.plural(count, one: 'si', other: 'entonces')} en ente mientras mantengas una suscripción activa";
|
||||
|
||||
static String m26(sizeInMBorGB) => "Liberar ${sizeInMBorGB}";
|
||||
static String m28(sizeInMBorGB) => "Liberar ${sizeInMBorGB}";
|
||||
|
||||
static String m27(count, formattedSize) =>
|
||||
static String m29(count, formattedSize) =>
|
||||
"${Intl.plural(count, one: 'Se puede eliminar del dispositivo para liberar ${formattedSize}', other: 'Se pueden eliminar del dispositivo para liberar ${formattedSize}')}";
|
||||
|
||||
static String m29(count) =>
|
||||
static String m31(count) =>
|
||||
"${Intl.plural(count, one: '${count} elemento', other: '${count} elementos')}";
|
||||
|
||||
static String m30(expiryTime) => "El enlace caducará en ${expiryTime}";
|
||||
static String m32(expiryTime) => "El enlace caducará en ${expiryTime}";
|
||||
|
||||
static String m31(count, formattedCount) =>
|
||||
static String m33(count, formattedCount) =>
|
||||
"${Intl.plural(count, zero: 'no recuerdos', one: '${formattedCount} recuerdo', other: '${formattedCount} recuerdos')}\n";
|
||||
|
||||
static String m32(count) =>
|
||||
static String m34(count) =>
|
||||
"${Intl.plural(count, one: 'Mover elemento', other: 'Mover elementos')}";
|
||||
|
||||
static String m33(albumName) => "Movido exitosamente a ${albumName}";
|
||||
static String m35(albumName) => "Movido exitosamente a ${albumName}";
|
||||
|
||||
static String m34(passwordStrengthValue) =>
|
||||
static String m36(passwordStrengthValue) =>
|
||||
"Seguridad de la contraseña : ${passwordStrengthValue}";
|
||||
|
||||
static String m35(providerName) =>
|
||||
static String m37(providerName) =>
|
||||
"Por favor hable con el soporte de ${providerName} si se le cobró";
|
||||
|
||||
static String m36(reason) =>
|
||||
static String m38(reason) =>
|
||||
"Lamentablemente tu pago falló debido a ${reason}";
|
||||
|
||||
static String m38(toEmail) =>
|
||||
static String m40(toEmail) =>
|
||||
"Por favor, envíanos un correo electrónico a ${toEmail}";
|
||||
|
||||
static String m39(toEmail) => "Por favor, envíe los registros a ${toEmail}";
|
||||
static String m41(toEmail) => "Por favor, envíe los registros a ${toEmail}";
|
||||
|
||||
static String m40(storeName) => "Califícanos en ${storeName}";
|
||||
static String m42(storeName) => "Califícanos en ${storeName}";
|
||||
|
||||
static String m41(storageInGB) =>
|
||||
static String m43(storageInGB) =>
|
||||
"3. Ambos obtienen ${storageInGB} GB* gratis";
|
||||
|
||||
static String m42(userEmail) =>
|
||||
static String m44(userEmail) =>
|
||||
"${userEmail} será eliminado de este álbum compartido\n\nCualquier foto añadida por ellos también será eliminada del álbum";
|
||||
|
||||
static String m43(endDate) => "Se renueva el ${endDate}";
|
||||
static String m45(endDate) => "Se renueva el ${endDate}";
|
||||
|
||||
static String m45(count) => "${count} seleccionados";
|
||||
static String m47(count) => "${count} seleccionados";
|
||||
|
||||
static String m46(count, yourCount) =>
|
||||
static String m48(count, yourCount) =>
|
||||
"${count} seleccionados (${yourCount} tuyos)";
|
||||
|
||||
static String m47(verificationID) =>
|
||||
static String m49(verificationID) =>
|
||||
"Aquí está mi ID de verificación: ${verificationID} para ente.io.";
|
||||
|
||||
static String m48(verificationID) =>
|
||||
static String m50(verificationID) =>
|
||||
"Hola, ¿puedes confirmar que esta es tu ID de verificación ente.io: ${verificationID}?";
|
||||
|
||||
static String m49(referralCode, referralStorageInGB) =>
|
||||
static String m51(referralCode, referralStorageInGB) =>
|
||||
"ente código de referencia: ${referralCode} \n\nAplicarlo en Ajustes → General → Referencias para obtener ${referralStorageInGB} GB gratis después de registrarse en un plan de pago\n\nhttps://ente.io";
|
||||
|
||||
static String m50(numberOfPeople) =>
|
||||
static String m52(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: 'Compartir con personas específicas', one: 'Compartido con 1 persona', other: 'Compartido con ${numberOfPeople} personas')}";
|
||||
|
||||
static String m51(emailIDs) => "Compartido con ${emailIDs}";
|
||||
static String m53(emailIDs) => "Compartido con ${emailIDs}";
|
||||
|
||||
static String m52(fileType) =>
|
||||
static String m54(fileType) =>
|
||||
"Este ${fileType} se eliminará de tu dispositivo.";
|
||||
|
||||
static String m53(fileType) =>
|
||||
static String m55(fileType) =>
|
||||
"Este ${fileType} está tanto en ente como en tu dispositivo.";
|
||||
|
||||
static String m54(fileType) => "Este ${fileType} se eliminará de ente.";
|
||||
static String m56(fileType) => "Este ${fileType} se eliminará de ente.";
|
||||
|
||||
static String m55(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
static String m57(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
|
||||
static String m56(
|
||||
static String m58(
|
||||
usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) =>
|
||||
"${usedAmount} ${usedStorageUnit} de ${totalAmount} ${totalStorageUnit} usados";
|
||||
|
||||
static String m57(id) =>
|
||||
static String m59(id) =>
|
||||
"Su ${id} ya está vinculado a otra cuenta ente.\nSi desea utilizar su ${id} con esta cuenta, póngase en contacto con nuestro servicio de asistencia\'\'";
|
||||
|
||||
static String m58(endDate) => "Tu suscripción se cancelará el ${endDate}";
|
||||
static String m60(endDate) => "Tu suscripción se cancelará el ${endDate}";
|
||||
|
||||
static String m59(completed, total) =>
|
||||
static String m61(completed, total) =>
|
||||
"${completed}/${total} recuerdos conservados";
|
||||
|
||||
static String m60(storageAmountInGB) =>
|
||||
static String m62(storageAmountInGB) =>
|
||||
"También obtienen ${storageAmountInGB} GB";
|
||||
|
||||
static String m61(email) => "Este es el ID de verificación de ${email}";
|
||||
static String m63(email) => "Este es el ID de verificación de ${email}";
|
||||
|
||||
static String m64(email) => "Verificar ${email}";
|
||||
static String m66(email) => "Verificar ${email}";
|
||||
|
||||
static String m65(email) =>
|
||||
static String m67(email) =>
|
||||
"Hemos enviado un correo a <green>${email}</green>";
|
||||
|
||||
static String m66(count) =>
|
||||
static String m68(count) =>
|
||||
"${Intl.plural(count, one: '${count} hace un año', other: '${count} hace años')}";
|
||||
|
||||
static String m67(storageSaved) => "¡Has liberado ${storageSaved} con éxito!";
|
||||
static String m69(storageSaved) => "¡Has liberado ${storageSaved} con éxito!";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
||||
|
@ -204,7 +211,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Agregar nuevo correo electrónico"),
|
||||
"addCollaborator":
|
||||
MessageLookupByLibrary.simpleMessage("Agregar colaborador"),
|
||||
"addItem": m0,
|
||||
"addCollaborators": m0,
|
||||
"addItem": m2,
|
||||
"addLocation":
|
||||
MessageLookupByLibrary.simpleMessage("Agregar ubicación"),
|
||||
"addLocationButton": MessageLookupByLibrary.simpleMessage("Añadir"),
|
||||
|
@ -214,9 +222,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"addToHiddenAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Add to hidden album"),
|
||||
"addViewer": MessageLookupByLibrary.simpleMessage("Añadir espectador"),
|
||||
"addViewers": m1,
|
||||
"addedAs": MessageLookupByLibrary.simpleMessage("Agregado como"),
|
||||
"addedBy": m2,
|
||||
"addedSuccessfullyTo": m3,
|
||||
"addedBy": m4,
|
||||
"addedSuccessfullyTo": m5,
|
||||
"addingToFavorites":
|
||||
MessageLookupByLibrary.simpleMessage("Añadiendo a favoritos..."),
|
||||
"advanced": MessageLookupByLibrary.simpleMessage("Avanzado"),
|
||||
|
@ -229,7 +238,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Después de una semana"),
|
||||
"after1Year": MessageLookupByLibrary.simpleMessage("Después de un año"),
|
||||
"albumOwner": MessageLookupByLibrary.simpleMessage("Propietario"),
|
||||
"albumParticipantsCount": m4,
|
||||
"albumParticipantsCount": m6,
|
||||
"albumTitle": MessageLookupByLibrary.simpleMessage("Título del álbum"),
|
||||
"albumUpdated":
|
||||
MessageLookupByLibrary.simpleMessage("Álbum actualizado"),
|
||||
|
@ -247,7 +256,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Permitir que la gente añada fotos"),
|
||||
"androidIosWebDesktop": MessageLookupByLibrary.simpleMessage(
|
||||
"Android, iOS, Web, Computadora"),
|
||||
"appVersion": m5,
|
||||
"appVersion": m7,
|
||||
"appleId": MessageLookupByLibrary.simpleMessage("ID de Apple"),
|
||||
"apply": MessageLookupByLibrary.simpleMessage("Aplicar"),
|
||||
"applyCodeTitle": MessageLookupByLibrary.simpleMessage("Usar código"),
|
||||
|
@ -329,10 +338,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage(
|
||||
"Sólo puede eliminar archivos de tu propiedad"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("Cancelar"),
|
||||
"cancelOtherSubscription": m6,
|
||||
"cancelOtherSubscription": m8,
|
||||
"cancelSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Cancelar suscripción"),
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m7,
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m9,
|
||||
"centerPoint": MessageLookupByLibrary.simpleMessage("Punto central"),
|
||||
"changeEmail":
|
||||
MessageLookupByLibrary.simpleMessage("Cambiar correo electrónico"),
|
||||
|
@ -353,7 +362,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Reclamar almacenamiento gratis"),
|
||||
"claimMore": MessageLookupByLibrary.simpleMessage("¡Reclama más!"),
|
||||
"claimed": MessageLookupByLibrary.simpleMessage("Reclamado"),
|
||||
"claimedStorageSoFar": m8,
|
||||
"claimedStorageSoFar": m10,
|
||||
"clearCaches": MessageLookupByLibrary.simpleMessage("Limpiar caché"),
|
||||
"click": MessageLookupByLibrary.simpleMessage("• Click"),
|
||||
"clickOnTheOverflowMenu": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -371,7 +380,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Crea un enlace para que la gente pueda añadir y ver fotos en tu álbum compartido sin necesidad de la aplicación ente o una cuenta. Genial para recolectar fotos de eventos."),
|
||||
"collaborativeLink":
|
||||
MessageLookupByLibrary.simpleMessage("Enlace colaborativo"),
|
||||
"collaborativeLinkCreatedFor": m9,
|
||||
"collaborativeLinkCreatedFor": m11,
|
||||
"collaborator": MessageLookupByLibrary.simpleMessage("Colaborador"),
|
||||
"collaboratorsCanAddPhotosAndVideosToTheSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -396,10 +405,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Confirmar clave de recuperación"),
|
||||
"confirmYourRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Confirme su clave de recuperación"),
|
||||
"contactFamilyAdmin": m10,
|
||||
"contactFamilyAdmin": m12,
|
||||
"contactSupport":
|
||||
MessageLookupByLibrary.simpleMessage("Contactar con soporte"),
|
||||
"contactToManageSubscription": m11,
|
||||
"contactToManageSubscription": m13,
|
||||
"contacts": MessageLookupByLibrary.simpleMessage("Contacts"),
|
||||
"continueLabel": MessageLookupByLibrary.simpleMessage("Continuar"),
|
||||
"continueOnFreeTrial": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -472,7 +481,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Borrar la ubicación"),
|
||||
"deletePhotos":
|
||||
MessageLookupByLibrary.simpleMessage("Borrar las fotos"),
|
||||
"deleteProgress": m13,
|
||||
"deleteProgress": m15,
|
||||
"deleteReason1": MessageLookupByLibrary.simpleMessage(
|
||||
"Falta una característica clave que necesito"),
|
||||
"deleteReason2": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -506,7 +515,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Los espectadores todavía pueden tomar capturas de pantalla o guardar una copia de sus fotos usando herramientas externas"),
|
||||
"disableDownloadWarningTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Por favor tenga en cuenta"),
|
||||
"disableLinkMessage": m14,
|
||||
"disableLinkMessage": m16,
|
||||
"disableTwofactor":
|
||||
MessageLookupByLibrary.simpleMessage("Deshabilitar dos factores"),
|
||||
"disablingTwofactorAuthentication":
|
||||
|
@ -527,8 +536,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"downloadFailed":
|
||||
MessageLookupByLibrary.simpleMessage("Descarga fallida"),
|
||||
"downloading": MessageLookupByLibrary.simpleMessage("Descargando..."),
|
||||
"dropSupportEmail": m15,
|
||||
"duplicateFileCountWithStorageSaved": m16,
|
||||
"dropSupportEmail": m17,
|
||||
"duplicateFileCountWithStorageSaved": m18,
|
||||
"edit": MessageLookupByLibrary.simpleMessage("Editar"),
|
||||
"editLocation": MessageLookupByLibrary.simpleMessage("Edit location"),
|
||||
"editLocationTagTitle":
|
||||
|
@ -540,8 +549,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Edits to location will only be seen within Ente"),
|
||||
"eligible": MessageLookupByLibrary.simpleMessage("elegible"),
|
||||
"email": MessageLookupByLibrary.simpleMessage("Correo electrónico"),
|
||||
"emailChangedTo": m18,
|
||||
"emailNoEnteAccount": m19,
|
||||
"emailChangedTo": m20,
|
||||
"emailNoEnteAccount": m21,
|
||||
"emailYourLogs": MessageLookupByLibrary.simpleMessage(
|
||||
"Envíe sus registros por correo electrónico"),
|
||||
"empty": MessageLookupByLibrary.simpleMessage("Vaciar"),
|
||||
|
@ -630,8 +639,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"fileSavedToGallery": MessageLookupByLibrary.simpleMessage(
|
||||
"Archivo guardado en la galería"),
|
||||
"fileTypes": MessageLookupByLibrary.simpleMessage("File types"),
|
||||
"filesBackedUpFromDevice": m20,
|
||||
"filesBackedUpInAlbum": m21,
|
||||
"filesBackedUpFromDevice": m22,
|
||||
"filesBackedUpInAlbum": m23,
|
||||
"filesDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Archivos eliminados"),
|
||||
"flip": MessageLookupByLibrary.simpleMessage("Voltear"),
|
||||
|
@ -641,18 +650,18 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Olvidé mi contraseña"),
|
||||
"freeStorageClaimed": MessageLookupByLibrary.simpleMessage(
|
||||
"Almacenamiento gratuito reclamado"),
|
||||
"freeStorageOnReferralSuccess": m22,
|
||||
"freeStorageSpace": m23,
|
||||
"freeStorageOnReferralSuccess": m24,
|
||||
"freeStorageSpace": m25,
|
||||
"freeStorageUsable": MessageLookupByLibrary.simpleMessage(
|
||||
"Almacenamiento libre disponible"),
|
||||
"freeTrial": MessageLookupByLibrary.simpleMessage("Prueba gratuita"),
|
||||
"freeTrialValidTill": m24,
|
||||
"freeUpAccessPostDelete": m25,
|
||||
"freeUpAmount": m26,
|
||||
"freeTrialValidTill": m26,
|
||||
"freeUpAccessPostDelete": m27,
|
||||
"freeUpAmount": m28,
|
||||
"freeUpDeviceSpace": MessageLookupByLibrary.simpleMessage(
|
||||
"Liberar espacio del dispositivo"),
|
||||
"freeUpSpace": MessageLookupByLibrary.simpleMessage("Liberar espacio"),
|
||||
"freeUpSpaceSaving": m27,
|
||||
"freeUpSpaceSaving": m29,
|
||||
"galleryMemoryLimitInfo": MessageLookupByLibrary.simpleMessage(
|
||||
"Hasta 1000 memorias mostradas en la galería"),
|
||||
"general": MessageLookupByLibrary.simpleMessage("General"),
|
||||
|
@ -698,7 +707,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Parece que algo salió mal. Por favor, vuelve a intentarlo después de algún tiempo. Si el error persiste, ponte en contacto con nuestro equipo de soporte."),
|
||||
"itemCount": m29,
|
||||
"itemCount": m31,
|
||||
"itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Los artículos muestran el número de días restantes antes de ser borrados permanente"),
|
||||
|
@ -727,7 +736,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Límite del dispositivo"),
|
||||
"linkEnabled": MessageLookupByLibrary.simpleMessage("Habilitado"),
|
||||
"linkExpired": MessageLookupByLibrary.simpleMessage("Vencido"),
|
||||
"linkExpiresOn": m30,
|
||||
"linkExpiresOn": m32,
|
||||
"linkExpiry": MessageLookupByLibrary.simpleMessage("Enlace vence"),
|
||||
"linkHasExpired":
|
||||
MessageLookupByLibrary.simpleMessage("El enlace ha caducado"),
|
||||
|
@ -776,6 +785,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"logout": MessageLookupByLibrary.simpleMessage("Cerrar sesión"),
|
||||
"logsDialogBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Esto enviará registros para ayudarnos a depurar su problema. Tenga en cuenta que los nombres de los archivos se incluirán para ayudar a rastrear problemas con archivos específicos."),
|
||||
"longPressAnEmailToVerifyEndToEndEncryption":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Long press an email to verify end to end encryption."),
|
||||
"longpressOnAnItemToViewInFullscreen": MessageLookupByLibrary.simpleMessage(
|
||||
"Pulsación prolongada en un elemento para ver en pantalla completa"),
|
||||
"lostDevice":
|
||||
|
@ -793,7 +805,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Administrar tu suscripción"),
|
||||
"mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"),
|
||||
"matrix": MessageLookupByLibrary.simpleMessage("Matrix"),
|
||||
"memoryCount": m31,
|
||||
"memoryCount": m33,
|
||||
"merchandise": MessageLookupByLibrary.simpleMessage("Mercancías"),
|
||||
"mobileWebDesktop":
|
||||
MessageLookupByLibrary.simpleMessage("Celular, Web, Computadora"),
|
||||
|
@ -802,11 +814,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage(
|
||||
"Modify your query, or try searching for"),
|
||||
"monthly": MessageLookupByLibrary.simpleMessage("Mensual"),
|
||||
"moveItem": m32,
|
||||
"moveItem": m34,
|
||||
"moveToAlbum": MessageLookupByLibrary.simpleMessage("Mover al álbum"),
|
||||
"moveToHiddenAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Move to hidden album"),
|
||||
"movedSuccessfullyTo": m33,
|
||||
"movedSuccessfullyTo": m35,
|
||||
"movedToTrash":
|
||||
MessageLookupByLibrary.simpleMessage("Movido a la papelera"),
|
||||
"movingFilesToAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -856,14 +868,14 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Contraseña cambiada correctamente"),
|
||||
"passwordLock":
|
||||
MessageLookupByLibrary.simpleMessage("Bloqueo por contraseña"),
|
||||
"passwordStrength": m34,
|
||||
"passwordStrength": m36,
|
||||
"passwordWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"No almacenamos esta contraseña, así que si la olvidas, <underline>no podemos descifrar tus datos</underline>"),
|
||||
"paymentDetails":
|
||||
MessageLookupByLibrary.simpleMessage("Detalles de pago"),
|
||||
"paymentFailed": MessageLookupByLibrary.simpleMessage("Pago fallido"),
|
||||
"paymentFailedTalkToProvider": m35,
|
||||
"paymentFailedWithReason": m36,
|
||||
"paymentFailedTalkToProvider": m37,
|
||||
"paymentFailedWithReason": m38,
|
||||
"pendingSync":
|
||||
MessageLookupByLibrary.simpleMessage("Sincronización pendiente"),
|
||||
"peopleUsingYourCode":
|
||||
|
@ -890,12 +902,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"pleaseContactSupportIfTheProblemPersists":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Por favor contacte a soporte técnico si el problema persiste"),
|
||||
"pleaseEmailUsAt": m38,
|
||||
"pleaseEmailUsAt": m40,
|
||||
"pleaseGrantPermissions":
|
||||
MessageLookupByLibrary.simpleMessage("Por favor, concede permiso"),
|
||||
"pleaseLoginAgain": MessageLookupByLibrary.simpleMessage(
|
||||
"Por favor, vuelva a iniciar sesión"),
|
||||
"pleaseSendTheLogsTo": m39,
|
||||
"pleaseSendTheLogsTo": m41,
|
||||
"pleaseTryAgain": MessageLookupByLibrary.simpleMessage(
|
||||
"Por favor, inténtalo nuevamente"),
|
||||
"pleaseVerifyTheCodeYouHaveEntered":
|
||||
|
@ -929,7 +941,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"rateTheApp":
|
||||
MessageLookupByLibrary.simpleMessage("Evalúa la aplicación"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("Califícanos"),
|
||||
"rateUsOnStore": m40,
|
||||
"rateUsOnStore": m42,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Recuperar"),
|
||||
"recoverAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Recuperar cuenta"),
|
||||
|
@ -961,7 +973,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"1. Dale este código a tus amigos"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||
"2. Se inscriben a un plan pagado"),
|
||||
"referralStep3": m41,
|
||||
"referralStep3": m43,
|
||||
"referrals": MessageLookupByLibrary.simpleMessage("Referidos"),
|
||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||
"Las referencias están actualmente en pausa"),
|
||||
|
@ -986,7 +998,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"removeLink": MessageLookupByLibrary.simpleMessage("Eliminar enlace"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Quitar participante"),
|
||||
"removeParticipantBody": m42,
|
||||
"removeParticipantBody": m44,
|
||||
"removePublicLink":
|
||||
MessageLookupByLibrary.simpleMessage("Quitar enlace público"),
|
||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1000,7 +1012,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"renameFile": MessageLookupByLibrary.simpleMessage("Renombrar archivo"),
|
||||
"renewSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Renovar suscripción"),
|
||||
"renewsOn": m43,
|
||||
"renewsOn": m45,
|
||||
"reportABug": MessageLookupByLibrary.simpleMessage("Reportar un error"),
|
||||
"reportBug": MessageLookupByLibrary.simpleMessage("Reportar error"),
|
||||
"resendEmail":
|
||||
|
@ -1062,8 +1074,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Los archivos seleccionados serán eliminados de todos los álbumes y movidos a la papelera."),
|
||||
"selectedPhotos": m45,
|
||||
"selectedPhotosWithYours": m46,
|
||||
"selectedPhotos": m47,
|
||||
"selectedPhotosWithYours": m48,
|
||||
"send": MessageLookupByLibrary.simpleMessage("Enviar"),
|
||||
"sendEmail":
|
||||
MessageLookupByLibrary.simpleMessage("Enviar correo electrónico"),
|
||||
|
@ -1088,32 +1100,32 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"shareAnAlbumNow":
|
||||
MessageLookupByLibrary.simpleMessage("Compartir un álbum ahora"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("Compartir enlace"),
|
||||
"shareMyVerificationID": m47,
|
||||
"shareMyVerificationID": m49,
|
||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||
"Comparte sólo con la gente que quieres"),
|
||||
"shareTextConfirmOthersVerificationID": m48,
|
||||
"shareTextConfirmOthersVerificationID": m50,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Descarga ente para que podamos compartir fácilmente fotos y videos en su calidad original\n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m49,
|
||||
"shareTextReferralCode": m51,
|
||||
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||
"Compartir con usuarios no ente"),
|
||||
"shareWithPeopleSectionTitle": m50,
|
||||
"shareWithPeopleSectionTitle": m52,
|
||||
"shareYourFirstAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Comparte tu primer álbum"),
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Crear álbumes compartidos y colaborativos con otros usuarios ente, incluyendo usuarios en planes gratuitos."),
|
||||
"sharedByMe": MessageLookupByLibrary.simpleMessage("Compartido por mí"),
|
||||
"sharedWith": m51,
|
||||
"sharedWith": m53,
|
||||
"sharedWithMe":
|
||||
MessageLookupByLibrary.simpleMessage("Compartido conmigo"),
|
||||
"sharing": MessageLookupByLibrary.simpleMessage("Compartiendo..."),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"Estoy de acuerdo con los <u-terms>términos del servicio</u-terms> y <u-policy> la política de privacidad</u-policy>"),
|
||||
"singleFileDeleteFromDevice": m52,
|
||||
"singleFileDeleteFromDevice": m54,
|
||||
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||
"Se borrará de todos los álbumes."),
|
||||
"singleFileInBothLocalAndRemote": m53,
|
||||
"singleFileInRemoteOnly": m54,
|
||||
"singleFileInBothLocalAndRemote": m55,
|
||||
"singleFileInRemoteOnly": m56,
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Omitir"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("Social"),
|
||||
"someItemsAreInBothEnteAndYourDevice":
|
||||
|
@ -1148,13 +1160,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"storage": MessageLookupByLibrary.simpleMessage("Almacenamiento"),
|
||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Familia"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Usted"),
|
||||
"storageInGB": m55,
|
||||
"storageInGB": m57,
|
||||
"storageLimitExceeded":
|
||||
MessageLookupByLibrary.simpleMessage("Límite de datos excedido"),
|
||||
"storageUsageInfo": m56,
|
||||
"storageUsageInfo": m58,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Segura"),
|
||||
"subAlreadyLinkedErrMessage": m57,
|
||||
"subWillBeCancelledOn": m58,
|
||||
"subAlreadyLinkedErrMessage": m59,
|
||||
"subWillBeCancelledOn": m60,
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("Suscribirse"),
|
||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||
"Parece que su suscripción ha caducado. Por favor, suscríbase para habilitar el compartir."),
|
||||
|
@ -1167,7 +1179,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"suggestFeatures":
|
||||
MessageLookupByLibrary.simpleMessage("Sugerir una característica"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("Soporte"),
|
||||
"syncProgress": m59,
|
||||
"syncProgress": m61,
|
||||
"syncStopped":
|
||||
MessageLookupByLibrary.simpleMessage("Sincronización detenida"),
|
||||
"syncing": MessageLookupByLibrary.simpleMessage("Sincronizando..."),
|
||||
|
@ -1195,7 +1207,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"theseItemsWillBeDeletedFromYourDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Estos elementos se eliminarán de tu dispositivo."),
|
||||
"theyAlsoGetXGb": m60,
|
||||
"theyAlsoGetXGb": m62,
|
||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||
"Se borrarán de todos los álbumes."),
|
||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1211,7 +1223,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Este correo electrónico ya está en uso"),
|
||||
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
||||
"Esta imagen no tiene datos exif"),
|
||||
"thisIsPersonVerificationId": m61,
|
||||
"thisIsPersonVerificationId": m63,
|
||||
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
||||
"Esta es tu ID de verificación"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
|
@ -1281,7 +1293,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"verify": MessageLookupByLibrary.simpleMessage("Verificar"),
|
||||
"verifyEmail": MessageLookupByLibrary.simpleMessage(
|
||||
"Verificar correo electrónico"),
|
||||
"verifyEmailID": m64,
|
||||
"verifyEmailID": m66,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verificar"),
|
||||
"verifyPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Verificar contraseña"),
|
||||
|
@ -1304,12 +1316,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"No admitimos la edición de fotos y álbunes que aún no son tuyos"),
|
||||
"weHaveSendEmailTo": m65,
|
||||
"weHaveSendEmailTo": m67,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Poco segura"),
|
||||
"welcomeBack":
|
||||
MessageLookupByLibrary.simpleMessage("¡Bienvenido de nuevo!"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("Anualmente"),
|
||||
"yearsAgo": m66,
|
||||
"yearsAgo": m68,
|
||||
"yes": MessageLookupByLibrary.simpleMessage("Sí"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Sí, cancelar"),
|
||||
"yesConvertToViewer":
|
||||
|
@ -1339,7 +1351,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"No puedes compartir contigo mismo"),
|
||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||
"No tienes nada de elementos archivados."),
|
||||
"youHaveSuccessfullyFreedUp": m67,
|
||||
"youHaveSuccessfullyFreedUp": m69,
|
||||
"yourAccountHasBeenDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Su cuenta ha sido eliminada"),
|
||||
"yourMap": MessageLookupByLibrary.simpleMessage("Your map"),
|
||||
|
|
273
mobile/lib/generated/intl/messages_fr.dart
generated
273
mobile/lib/generated/intl/messages_fr.dart
generated
|
@ -21,24 +21,30 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
String get localeName => 'fr';
|
||||
|
||||
static String m0(count) =>
|
||||
"${Intl.plural(count, zero: 'Add collaborator', one: 'Add collaborator', other: 'Add collaborators')}";
|
||||
|
||||
static String m2(count) =>
|
||||
"${Intl.plural(count, one: 'Ajoutez un objet', other: 'Ajoutez des objets')}";
|
||||
|
||||
static String m2(emailOrName) => "Ajouté par ${emailOrName}";
|
||||
static String m1(count) =>
|
||||
"${Intl.plural(count, zero: 'Add viewer', one: 'Add viewer', other: 'Add viewers')}";
|
||||
|
||||
static String m3(albumName) => "Ajouté avec succès à ${albumName}";
|
||||
static String m4(emailOrName) => "Ajouté par ${emailOrName}";
|
||||
|
||||
static String m4(count) =>
|
||||
static String m5(albumName) => "Ajouté avec succès à ${albumName}";
|
||||
|
||||
static String m6(count) =>
|
||||
"${Intl.plural(count, zero: 'Aucun Participant', one: '1 Participant', other: '${count} Participants')}";
|
||||
|
||||
static String m5(versionValue) => "Version : ${versionValue}";
|
||||
static String m7(versionValue) => "Version : ${versionValue}";
|
||||
|
||||
static String m6(paymentProvider) =>
|
||||
static String m8(paymentProvider) =>
|
||||
"Veuillez d\'abord annuler votre abonnement existant de ${paymentProvider}";
|
||||
|
||||
static String m7(user) =>
|
||||
static String m9(user) =>
|
||||
"${user} ne pourra pas ajouter plus de photos à cet album\n\nIl pourrait toujours supprimer les photos existantes ajoutées par eux";
|
||||
|
||||
static String m8(isFamilyMember, storageAmountInGb) =>
|
||||
static String m10(isFamilyMember, storageAmountInGb) =>
|
||||
"${Intl.select(isFamilyMember, {
|
||||
'true':
|
||||
'Votre famille a demandé ${storageAmountInGb} GB jusqu\'à présent',
|
||||
|
@ -48,161 +54,161 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
'Vous avez réclamé ${storageAmountInGb} GB jusqu\'à présent!',
|
||||
})}";
|
||||
|
||||
static String m9(albumName) => "Lien collaboratif créé pour ${albumName}";
|
||||
static String m11(albumName) => "Lien collaboratif créé pour ${albumName}";
|
||||
|
||||
static String m10(familyAdminEmail) =>
|
||||
static String m12(familyAdminEmail) =>
|
||||
"Veuillez contacter <green>${familyAdminEmail}</green> pour gérer votre abonnement";
|
||||
|
||||
static String m11(provider) =>
|
||||
static String m13(provider) =>
|
||||
"Veuillez nous contacter à support@ente.io pour gérer votre abonnement ${provider}.";
|
||||
|
||||
static String m12(count) =>
|
||||
static String m14(count) =>
|
||||
"${Intl.plural(count, one: 'Supprimer le fichier', other: 'Supprimer ${count} fichiers')}";
|
||||
|
||||
static String m13(currentlyDeleting, totalCount) =>
|
||||
static String m15(currentlyDeleting, totalCount) =>
|
||||
"Suppression de ${currentlyDeleting} / ${totalCount}";
|
||||
|
||||
static String m14(albumName) =>
|
||||
static String m16(albumName) =>
|
||||
"Cela supprimera le lien public pour accéder à \"${albumName}\".";
|
||||
|
||||
static String m15(supportEmail) =>
|
||||
static String m17(supportEmail) =>
|
||||
"Veuillez envoyer un e-mail à ${supportEmail} depuis votre adresse enregistrée";
|
||||
|
||||
static String m16(count, storageSaved) =>
|
||||
static String m18(count, storageSaved) =>
|
||||
"Vous avez nettoyé ${Intl.plural(count, one: '${count} fichier dupliqué', other: '${count} fichiers dupliqués')}, sauvegarde (${storageSaved}!)";
|
||||
|
||||
static String m17(count, formattedSize) =>
|
||||
static String m19(count, formattedSize) =>
|
||||
"${count} fichiers, ${formattedSize} chacun";
|
||||
|
||||
static String m18(newEmail) => "L\'e-mail a été changé en ${newEmail}";
|
||||
static String m20(newEmail) => "L\'e-mail a été changé en ${newEmail}";
|
||||
|
||||
static String m19(email) =>
|
||||
static String m21(email) =>
|
||||
"${email} n\'a pas de compte ente.\n\nEnvoyez une invitation pour partager des photos.";
|
||||
|
||||
static String m20(count, formattedNumber) =>
|
||||
static String m22(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 fichier sur cet appareil a été sauvegardé en toute sécurité', other: '${formattedNumber} fichiers sur cet appareil ont été sauvegardés en toute sécurité')}";
|
||||
|
||||
static String m21(count, formattedNumber) =>
|
||||
static String m23(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 fichier dans cet album a été sauvegardé en toute sécurité', other: '${formattedNumber} fichiers dans cet album ont été sauvegardés en toute sécurité')}";
|
||||
|
||||
static String m22(storageAmountInGB) =>
|
||||
static String m24(storageAmountInGB) =>
|
||||
"${storageAmountInGB} Go chaque fois que quelqu\'un s\'inscrit à une offre payante et applique votre code";
|
||||
|
||||
static String m23(freeAmount, storageUnit) =>
|
||||
static String m25(freeAmount, storageUnit) =>
|
||||
"${freeAmount} ${storageUnit} libre";
|
||||
|
||||
static String m24(endDate) => "Essai gratuit valide jusqu’au ${endDate}";
|
||||
static String m26(endDate) => "Essai gratuit valide jusqu’au ${endDate}";
|
||||
|
||||
static String m25(count) =>
|
||||
static String m27(count) =>
|
||||
"Vous pouvez toujours ${Intl.plural(count, one: 'y', other: 'y')} accéder sur ente tant que vous avez un abonnement actif";
|
||||
|
||||
static String m26(sizeInMBorGB) => "Libérer ${sizeInMBorGB}";
|
||||
static String m28(sizeInMBorGB) => "Libérer ${sizeInMBorGB}";
|
||||
|
||||
static String m27(count, formattedSize) =>
|
||||
static String m29(count, formattedSize) =>
|
||||
"${Intl.plural(count, one: 'Peut être supprimé de l\'appareil pour libérer ${formattedSize}', other: 'Peuvent être supprimés de l\'appareil pour libérer ${formattedSize}')}";
|
||||
|
||||
static String m29(count) =>
|
||||
static String m31(count) =>
|
||||
"${Intl.plural(count, one: '${count} objet', other: '${count} objets')}";
|
||||
|
||||
static String m30(expiryTime) => "Le lien expirera le ${expiryTime}";
|
||||
static String m32(expiryTime) => "Le lien expirera le ${expiryTime}";
|
||||
|
||||
static String m31(count, formattedCount) =>
|
||||
static String m33(count, formattedCount) =>
|
||||
"${Intl.plural(count, one: '${formattedCount} mémoire', other: '${formattedCount} souvenirs')}";
|
||||
|
||||
static String m32(count) =>
|
||||
static String m34(count) =>
|
||||
"${Intl.plural(count, one: 'Déplacez l\'objet', other: 'Déplacez des objets')}";
|
||||
|
||||
static String m33(albumName) => "Déplacé avec succès vers ${albumName}";
|
||||
static String m35(albumName) => "Déplacé avec succès vers ${albumName}";
|
||||
|
||||
static String m34(passwordStrengthValue) =>
|
||||
static String m36(passwordStrengthValue) =>
|
||||
"Sécurité du mot de passe : ${passwordStrengthValue}";
|
||||
|
||||
static String m35(providerName) =>
|
||||
static String m37(providerName) =>
|
||||
"Veuillez contacter le support ${providerName} si vous avez été facturé";
|
||||
|
||||
static String m36(reason) =>
|
||||
static String m38(reason) =>
|
||||
"Malheureusement, votre paiement a échoué pour ${reason}";
|
||||
|
||||
static String m37(endDate) =>
|
||||
static String m39(endDate) =>
|
||||
"Essai gratuit valable jusqu\'à ${endDate}.\nVous pouvez choisir un plan payant par la suite.";
|
||||
|
||||
static String m38(toEmail) => "Merci de nous envoyer un e-mail à ${toEmail}";
|
||||
static String m40(toEmail) => "Merci de nous envoyer un e-mail à ${toEmail}";
|
||||
|
||||
static String m39(toEmail) => "Envoyez les logs à ${toEmail}";
|
||||
static String m41(toEmail) => "Envoyez les logs à ${toEmail}";
|
||||
|
||||
static String m40(storeName) => "Notez-nous sur ${storeName}";
|
||||
static String m42(storeName) => "Notez-nous sur ${storeName}";
|
||||
|
||||
static String m41(storageInGB) =>
|
||||
static String m43(storageInGB) =>
|
||||
"3. Vous recevez tous les deux ${storageInGB} GB* gratuits";
|
||||
|
||||
static String m42(userEmail) =>
|
||||
static String m44(userEmail) =>
|
||||
"${userEmail} sera retiré de cet album partagé\n\nToutes les photos ajoutées par eux seront également retirées de l\'album";
|
||||
|
||||
static String m43(endDate) => "Renouvellement le ${endDate}";
|
||||
static String m45(endDate) => "Renouvellement le ${endDate}";
|
||||
|
||||
static String m44(count) =>
|
||||
static String m46(count) =>
|
||||
"${Intl.plural(count, one: '${count} résultat trouvé', other: '${count} résultats trouvés')}";
|
||||
|
||||
static String m45(count) => "${count} sélectionné(s)";
|
||||
static String m47(count) => "${count} sélectionné(s)";
|
||||
|
||||
static String m46(count, yourCount) =>
|
||||
static String m48(count, yourCount) =>
|
||||
"${count} sélectionné(s) (${yourCount} à vous)";
|
||||
|
||||
static String m47(verificationID) =>
|
||||
static String m49(verificationID) =>
|
||||
"Voici mon ID de vérification : ${verificationID} pour ente.io.";
|
||||
|
||||
static String m48(verificationID) =>
|
||||
static String m50(verificationID) =>
|
||||
"Hé, pouvez-vous confirmer qu\'il s\'agit de votre ID de vérification ente.io : ${verificationID}";
|
||||
|
||||
static String m49(referralCode, referralStorageInGB) =>
|
||||
static String m51(referralCode, referralStorageInGB) =>
|
||||
"code de parrainage ente : ${referralCode} \n\nAppliquez le dans Paramètres → Général → Références pour obtenir ${referralStorageInGB} Go gratuitement après votre inscription à un plan payant\n\nhttps://ente.io";
|
||||
|
||||
static String m50(numberOfPeople) =>
|
||||
static String m52(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: 'Partagez avec des personnes spécifiques', one: 'Partagé avec 1 personne', other: 'Partagé avec ${numberOfPeople} des gens')}";
|
||||
|
||||
static String m51(emailIDs) => "Partagé avec ${emailIDs}";
|
||||
static String m53(emailIDs) => "Partagé avec ${emailIDs}";
|
||||
|
||||
static String m52(fileType) =>
|
||||
static String m54(fileType) =>
|
||||
"Elle ${fileType} sera supprimée de votre appareil.";
|
||||
|
||||
static String m53(fileType) =>
|
||||
static String m55(fileType) =>
|
||||
"Cette ${fileType} est à la fois sur ente et sur votre appareil.";
|
||||
|
||||
static String m54(fileType) => "Ce ${fileType} sera supprimé de ente.";
|
||||
static String m56(fileType) => "Ce ${fileType} sera supprimé de ente.";
|
||||
|
||||
static String m55(storageAmountInGB) => "${storageAmountInGB} Go";
|
||||
static String m57(storageAmountInGB) => "${storageAmountInGB} Go";
|
||||
|
||||
static String m56(
|
||||
static String m58(
|
||||
usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) =>
|
||||
"${usedAmount} ${usedStorageUnit} sur ${totalAmount} ${totalStorageUnit} utilisé";
|
||||
|
||||
static String m57(id) =>
|
||||
static String m59(id) =>
|
||||
"Votre ${id} est déjà lié à un autre compte ente.\nSi vous souhaitez utiliser votre ${id} avec ce compte, veuillez contacter notre support";
|
||||
|
||||
static String m58(endDate) => "Votre abonnement sera annulé le ${endDate}";
|
||||
static String m60(endDate) => "Votre abonnement sera annulé le ${endDate}";
|
||||
|
||||
static String m59(completed, total) =>
|
||||
static String m61(completed, total) =>
|
||||
"${completed}/${total} souvenirs préservés";
|
||||
|
||||
static String m60(storageAmountInGB) =>
|
||||
static String m62(storageAmountInGB) =>
|
||||
"Ils obtiennent aussi ${storageAmountInGB} Go";
|
||||
|
||||
static String m61(email) => "Ceci est l\'ID de vérification de ${email}";
|
||||
static String m63(email) => "Ceci est l\'ID de vérification de ${email}";
|
||||
|
||||
static String m62(count) =>
|
||||
static String m64(count) =>
|
||||
"${Intl.plural(count, zero: '0 jour', one: '1 jour', other: '${count} jours')}";
|
||||
|
||||
static String m63(endDate) => "Valable jusqu\'au ${endDate}";
|
||||
static String m65(endDate) => "Valable jusqu\'au ${endDate}";
|
||||
|
||||
static String m64(email) => "Vérifier ${email}";
|
||||
static String m66(email) => "Vérifier ${email}";
|
||||
|
||||
static String m65(email) =>
|
||||
static String m67(email) =>
|
||||
"Nous avons envoyé un e-mail à <green>${email}</green>";
|
||||
|
||||
static String m66(count) =>
|
||||
static String m68(count) =>
|
||||
"${Intl.plural(count, one: 'il y a ${count} an', other: 'il y a ${count} ans')}";
|
||||
|
||||
static String m67(storageSaved) =>
|
||||
static String m69(storageSaved) =>
|
||||
"Vous avez libéré ${storageSaved} avec succès !";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
|
@ -221,9 +227,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Ajouter un nouvel email"),
|
||||
"addCollaborator":
|
||||
MessageLookupByLibrary.simpleMessage("Ajouter un collaborateur"),
|
||||
"addCollaborators": m0,
|
||||
"addFromDevice":
|
||||
MessageLookupByLibrary.simpleMessage("Ajouter depuis l\'appareil"),
|
||||
"addItem": m0,
|
||||
"addItem": m2,
|
||||
"addLocation":
|
||||
MessageLookupByLibrary.simpleMessage("Ajouter la localisation"),
|
||||
"addLocationButton": MessageLookupByLibrary.simpleMessage("Ajouter"),
|
||||
|
@ -243,11 +250,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Ajouter à un album masqué"),
|
||||
"addViewer":
|
||||
MessageLookupByLibrary.simpleMessage("Ajouter un observateur"),
|
||||
"addViewers": m1,
|
||||
"addYourPhotosNow": MessageLookupByLibrary.simpleMessage(
|
||||
"Ajoutez vos photos maintenant"),
|
||||
"addedAs": MessageLookupByLibrary.simpleMessage("Ajouté comme"),
|
||||
"addedBy": m2,
|
||||
"addedSuccessfullyTo": m3,
|
||||
"addedBy": m4,
|
||||
"addedSuccessfullyTo": m5,
|
||||
"addingToFavorites":
|
||||
MessageLookupByLibrary.simpleMessage("Ajout aux favoris..."),
|
||||
"advanced": MessageLookupByLibrary.simpleMessage("Avancé"),
|
||||
|
@ -258,7 +266,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"after1Week": MessageLookupByLibrary.simpleMessage("Après 1 semaine"),
|
||||
"after1Year": MessageLookupByLibrary.simpleMessage("Après 1 an"),
|
||||
"albumOwner": MessageLookupByLibrary.simpleMessage("Propriétaire"),
|
||||
"albumParticipantsCount": m4,
|
||||
"albumParticipantsCount": m6,
|
||||
"albumTitle": MessageLookupByLibrary.simpleMessage("Titre de l\'album"),
|
||||
"albumUpdated":
|
||||
MessageLookupByLibrary.simpleMessage("Album mis à jour"),
|
||||
|
@ -293,7 +301,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Android, iOS, Web, Ordinateur"),
|
||||
"androidSignInTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Authentification requise"),
|
||||
"appVersion": m5,
|
||||
"appVersion": m7,
|
||||
"appleId": MessageLookupByLibrary.simpleMessage("Apple ID"),
|
||||
"apply": MessageLookupByLibrary.simpleMessage("Appliquer"),
|
||||
"applyCodeTitle":
|
||||
|
@ -383,10 +391,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage(
|
||||
"Vous ne pouvez supprimer que les fichiers que vous possédez"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("Annuler"),
|
||||
"cancelOtherSubscription": m6,
|
||||
"cancelOtherSubscription": m8,
|
||||
"cancelSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Annuler l\'abonnement"),
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m7,
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m9,
|
||||
"cannotDeleteSharedFiles": MessageLookupByLibrary.simpleMessage(
|
||||
"Les fichiers partagés ne peuvent pas être supprimés"),
|
||||
"centerPoint": MessageLookupByLibrary.simpleMessage("Point central"),
|
||||
|
@ -409,7 +417,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Réclamer le stockage gratuit"),
|
||||
"claimMore": MessageLookupByLibrary.simpleMessage("Réclamez plus !"),
|
||||
"claimed": MessageLookupByLibrary.simpleMessage("Réclamée"),
|
||||
"claimedStorageSoFar": m8,
|
||||
"claimedStorageSoFar": m10,
|
||||
"clearCaches":
|
||||
MessageLookupByLibrary.simpleMessage("Nettoyer le cache"),
|
||||
"click": MessageLookupByLibrary.simpleMessage("• Click"),
|
||||
|
@ -430,7 +438,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Créez un lien pour permettre aux gens d\'ajouter et de voir des photos dans votre album partagé sans avoir besoin d\'une application ente ou d\'un compte. Idéal pour collecter des photos d\'événement."),
|
||||
"collaborativeLink":
|
||||
MessageLookupByLibrary.simpleMessage("Lien collaboratif"),
|
||||
"collaborativeLinkCreatedFor": m9,
|
||||
"collaborativeLinkCreatedFor": m11,
|
||||
"collaborator": MessageLookupByLibrary.simpleMessage("Collaborateur"),
|
||||
"collaboratorsCanAddPhotosAndVideosToTheSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -458,10 +466,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Confirmer la clé de récupération"),
|
||||
"confirmYourRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Confirmer la clé de récupération"),
|
||||
"contactFamilyAdmin": m10,
|
||||
"contactFamilyAdmin": m12,
|
||||
"contactSupport":
|
||||
MessageLookupByLibrary.simpleMessage("Contacter l\'assistance"),
|
||||
"contactToManageSubscription": m11,
|
||||
"contactToManageSubscription": m13,
|
||||
"contacts": MessageLookupByLibrary.simpleMessage("Contacts"),
|
||||
"contents": MessageLookupByLibrary.simpleMessage("Contenus"),
|
||||
"continueLabel": MessageLookupByLibrary.simpleMessage("Continuer"),
|
||||
|
@ -542,12 +550,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Supprimer de l\'appareil"),
|
||||
"deleteFromEnte":
|
||||
MessageLookupByLibrary.simpleMessage("Supprimer de ente"),
|
||||
"deleteItemCount": m12,
|
||||
"deleteItemCount": m14,
|
||||
"deleteLocation":
|
||||
MessageLookupByLibrary.simpleMessage("Supprimer la localisation"),
|
||||
"deletePhotos":
|
||||
MessageLookupByLibrary.simpleMessage("Supprimer des photos"),
|
||||
"deleteProgress": m13,
|
||||
"deleteProgress": m15,
|
||||
"deleteReason1": MessageLookupByLibrary.simpleMessage(
|
||||
"Il manque une fonction clé dont j\'ai besoin"),
|
||||
"deleteReason2": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -581,7 +589,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Les téléspectateurs peuvent toujours prendre des captures d\'écran ou enregistrer une copie de vos photos en utilisant des outils externes"),
|
||||
"disableDownloadWarningTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Veuillez remarquer"),
|
||||
"disableLinkMessage": m14,
|
||||
"disableLinkMessage": m16,
|
||||
"disableTwofactor": MessageLookupByLibrary.simpleMessage(
|
||||
"Désactiver la double-authentification"),
|
||||
"disablingTwofactorAuthentication":
|
||||
|
@ -602,9 +610,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Échec du téléchargement"),
|
||||
"downloading":
|
||||
MessageLookupByLibrary.simpleMessage("Téléchargement en cours..."),
|
||||
"dropSupportEmail": m15,
|
||||
"duplicateFileCountWithStorageSaved": m16,
|
||||
"duplicateItemsGroup": m17,
|
||||
"dropSupportEmail": m17,
|
||||
"duplicateFileCountWithStorageSaved": m18,
|
||||
"duplicateItemsGroup": m19,
|
||||
"edit": MessageLookupByLibrary.simpleMessage("Éditer"),
|
||||
"editLocation": MessageLookupByLibrary.simpleMessage("Edit location"),
|
||||
"editLocationTagTitle":
|
||||
|
@ -616,8 +624,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Edits to location will only be seen within Ente"),
|
||||
"eligible": MessageLookupByLibrary.simpleMessage("éligible"),
|
||||
"email": MessageLookupByLibrary.simpleMessage("E-mail"),
|
||||
"emailChangedTo": m18,
|
||||
"emailNoEnteAccount": m19,
|
||||
"emailChangedTo": m20,
|
||||
"emailNoEnteAccount": m21,
|
||||
"emailVerificationToggle": MessageLookupByLibrary.simpleMessage(
|
||||
"Vérification de l\'adresse e-mail"),
|
||||
"emailYourLogs":
|
||||
|
@ -716,8 +724,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"fileTypes": MessageLookupByLibrary.simpleMessage("Types de fichiers"),
|
||||
"fileTypesAndNames":
|
||||
MessageLookupByLibrary.simpleMessage("Types et noms de fichiers"),
|
||||
"filesBackedUpFromDevice": m20,
|
||||
"filesBackedUpInAlbum": m21,
|
||||
"filesBackedUpFromDevice": m22,
|
||||
"filesBackedUpInAlbum": m23,
|
||||
"filesDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Fichiers supprimés"),
|
||||
"flip": MessageLookupByLibrary.simpleMessage("Retourner"),
|
||||
|
@ -727,19 +735,19 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Mot de passe oublié"),
|
||||
"freeStorageClaimed":
|
||||
MessageLookupByLibrary.simpleMessage("Stockage gratuit réclamé"),
|
||||
"freeStorageOnReferralSuccess": m22,
|
||||
"freeStorageSpace": m23,
|
||||
"freeStorageOnReferralSuccess": m24,
|
||||
"freeStorageSpace": m25,
|
||||
"freeStorageUsable":
|
||||
MessageLookupByLibrary.simpleMessage("Stockage gratuit utilisable"),
|
||||
"freeTrial": MessageLookupByLibrary.simpleMessage("Essai gratuit"),
|
||||
"freeTrialValidTill": m24,
|
||||
"freeUpAccessPostDelete": m25,
|
||||
"freeUpAmount": m26,
|
||||
"freeTrialValidTill": m26,
|
||||
"freeUpAccessPostDelete": m27,
|
||||
"freeUpAmount": m28,
|
||||
"freeUpDeviceSpace": MessageLookupByLibrary.simpleMessage(
|
||||
"Libérer de l\'espace sur l\'appareil"),
|
||||
"freeUpSpace":
|
||||
MessageLookupByLibrary.simpleMessage("Libérer de l\'espace"),
|
||||
"freeUpSpaceSaving": m27,
|
||||
"freeUpSpaceSaving": m29,
|
||||
"galleryMemoryLimitInfo": MessageLookupByLibrary.simpleMessage(
|
||||
"Jusqu\'à 1000 souvenirs affichés dans la galerie"),
|
||||
"general": MessageLookupByLibrary.simpleMessage("Général"),
|
||||
|
@ -806,7 +814,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Il semble qu\'une erreur s\'est produite. Veuillez réessayer après un certain temps. Si l\'erreur persiste, veuillez contacter notre équipe d\'assistance."),
|
||||
"itemCount": m29,
|
||||
"itemCount": m31,
|
||||
"itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Les éléments montrent le nombre de jours restants avant la suppression définitive"),
|
||||
|
@ -835,7 +843,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Limite d\'appareil"),
|
||||
"linkEnabled": MessageLookupByLibrary.simpleMessage("Activé"),
|
||||
"linkExpired": MessageLookupByLibrary.simpleMessage("Expiré"),
|
||||
"linkExpiresOn": m30,
|
||||
"linkExpiresOn": m32,
|
||||
"linkExpiry":
|
||||
MessageLookupByLibrary.simpleMessage("Expiration du lien"),
|
||||
"linkHasExpired":
|
||||
|
@ -884,6 +892,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"logout": MessageLookupByLibrary.simpleMessage("Déconnexion"),
|
||||
"logsDialogBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Cela enverra des logs pour nous aider à déboguer votre problème. Veuillez noter que les noms de fichiers seront inclus pour aider à suivre les problèmes avec des fichiers spécifiques."),
|
||||
"longPressAnEmailToVerifyEndToEndEncryption":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Long press an email to verify end to end encryption."),
|
||||
"longpressOnAnItemToViewInFullscreen":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Appuyez longuement sur un élément pour le voir en plein écran"),
|
||||
|
@ -901,7 +912,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"maps": MessageLookupByLibrary.simpleMessage("Cartes"),
|
||||
"mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"),
|
||||
"matrix": MessageLookupByLibrary.simpleMessage("Matrix"),
|
||||
"memoryCount": m31,
|
||||
"memoryCount": m33,
|
||||
"merchandise": MessageLookupByLibrary.simpleMessage("Marchandise"),
|
||||
"mobileWebDesktop":
|
||||
MessageLookupByLibrary.simpleMessage("Mobile, Web, Ordinateur"),
|
||||
|
@ -912,12 +923,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Modifiez votre requête, ou essayez de rechercher"),
|
||||
"moments": MessageLookupByLibrary.simpleMessage("Souvenirs"),
|
||||
"monthly": MessageLookupByLibrary.simpleMessage("Mensuel"),
|
||||
"moveItem": m32,
|
||||
"moveItem": m34,
|
||||
"moveToAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Déplacer vers l\'album"),
|
||||
"moveToHiddenAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
"Déplacer vers un album masqué"),
|
||||
"movedSuccessfullyTo": m33,
|
||||
"movedSuccessfullyTo": m35,
|
||||
"movedToTrash":
|
||||
MessageLookupByLibrary.simpleMessage("Déplacé dans la corbeille"),
|
||||
"movingFilesToAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -981,15 +992,15 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Le mot de passe a été modifié"),
|
||||
"passwordLock":
|
||||
MessageLookupByLibrary.simpleMessage("Mot de passe verrou"),
|
||||
"passwordStrength": m34,
|
||||
"passwordStrength": m36,
|
||||
"passwordWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Nous ne stockons pas ce mot de passe, donc si vous l\'oubliez, <underline>nous ne pouvons pas déchiffrer vos données</underline>"),
|
||||
"paymentDetails":
|
||||
MessageLookupByLibrary.simpleMessage("Détails de paiement"),
|
||||
"paymentFailed":
|
||||
MessageLookupByLibrary.simpleMessage("Échec du paiement"),
|
||||
"paymentFailedTalkToProvider": m35,
|
||||
"paymentFailedWithReason": m36,
|
||||
"paymentFailedTalkToProvider": m37,
|
||||
"paymentFailedWithReason": m38,
|
||||
"pendingSync":
|
||||
MessageLookupByLibrary.simpleMessage("Synchronisation en attente"),
|
||||
"peopleUsingYourCode": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1012,7 +1023,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"pickCenterPoint": MessageLookupByLibrary.simpleMessage(
|
||||
"Sélectionner le point central"),
|
||||
"pinAlbum": MessageLookupByLibrary.simpleMessage("Épingler l\'album"),
|
||||
"playStoreFreeTrialValidTill": m37,
|
||||
"playStoreFreeTrialValidTill": m39,
|
||||
"playstoreSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Abonnement au PlayStore"),
|
||||
"pleaseContactSupportAndWeWillBeHappyToHelp":
|
||||
|
@ -1021,12 +1032,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"pleaseContactSupportIfTheProblemPersists":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Merci de contacter l\'assistance si cette erreur persiste"),
|
||||
"pleaseEmailUsAt": m38,
|
||||
"pleaseEmailUsAt": m40,
|
||||
"pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage(
|
||||
"Veuillez accorder la permission"),
|
||||
"pleaseLoginAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Veuillez vous reconnecter"),
|
||||
"pleaseSendTheLogsTo": m39,
|
||||
"pleaseSendTheLogsTo": m41,
|
||||
"pleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Veuillez réessayer"),
|
||||
"pleaseVerifyTheCodeYouHaveEntered":
|
||||
|
@ -1062,7 +1073,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"rateTheApp":
|
||||
MessageLookupByLibrary.simpleMessage("Évaluer l\'application"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("Évaluez-nous"),
|
||||
"rateUsOnStore": m40,
|
||||
"rateUsOnStore": m42,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Récupérer"),
|
||||
"recoverAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Récupérer un compte"),
|
||||
|
@ -1093,7 +1104,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"1. Donnez ce code à vos amis"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||
"2. Ils s\'inscrivent à une offre payante"),
|
||||
"referralStep3": m41,
|
||||
"referralStep3": m43,
|
||||
"referrals": MessageLookupByLibrary.simpleMessage("Parrainages"),
|
||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||
"Les recommandations sont actuellement en pause"),
|
||||
|
@ -1119,7 +1130,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"removeLink": MessageLookupByLibrary.simpleMessage("Supprimer le lien"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Supprimer le participant"),
|
||||
"removeParticipantBody": m42,
|
||||
"removeParticipantBody": m44,
|
||||
"removePublicLink":
|
||||
MessageLookupByLibrary.simpleMessage("Supprimer le lien public"),
|
||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1135,7 +1146,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Renommer le fichier"),
|
||||
"renewSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Renouveler l’abonnement"),
|
||||
"renewsOn": m43,
|
||||
"renewsOn": m45,
|
||||
"reportABug": MessageLookupByLibrary.simpleMessage("Signaler un bug"),
|
||||
"reportBug": MessageLookupByLibrary.simpleMessage("Signaler un bug"),
|
||||
"resendEmail":
|
||||
|
@ -1200,7 +1211,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Grouper les photos qui sont prises dans un certain angle d\'une photo"),
|
||||
"searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage(
|
||||
"Invitez des gens, et vous verrez ici toutes les photos qu\'ils partagent"),
|
||||
"searchResultCount": m44,
|
||||
"searchResultCount": m46,
|
||||
"security": MessageLookupByLibrary.simpleMessage("Sécurité"),
|
||||
"selectALocation":
|
||||
MessageLookupByLibrary.simpleMessage("Select a location"),
|
||||
|
@ -1229,8 +1240,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Les éléments sélectionnés seront supprimés de tous les albums et déplacés dans la corbeille."),
|
||||
"selectedPhotos": m45,
|
||||
"selectedPhotosWithYours": m46,
|
||||
"selectedPhotos": m47,
|
||||
"selectedPhotosWithYours": m48,
|
||||
"send": MessageLookupByLibrary.simpleMessage("Envoyer"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("Envoyer un e-mail"),
|
||||
"sendInvite":
|
||||
|
@ -1256,16 +1267,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"shareAnAlbumNow": MessageLookupByLibrary.simpleMessage(
|
||||
"Partagez un album maintenant"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("Partager le lien"),
|
||||
"shareMyVerificationID": m47,
|
||||
"shareMyVerificationID": m49,
|
||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||
"Partager uniquement avec les personnes que vous voulez"),
|
||||
"shareTextConfirmOthersVerificationID": m48,
|
||||
"shareTextConfirmOthersVerificationID": m50,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Téléchargez ente pour que nous puissions facilement partager des photos et des vidéos de qualité originale\n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m49,
|
||||
"shareTextReferralCode": m51,
|
||||
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||
"Partager avec des utilisateurs non-ente"),
|
||||
"shareWithPeopleSectionTitle": m50,
|
||||
"shareWithPeopleSectionTitle": m52,
|
||||
"shareYourFirstAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
"Partagez votre premier album"),
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1276,7 +1287,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Nouvelles photos partagées"),
|
||||
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||
"Recevoir des notifications quand quelqu\'un ajoute une photo à un album partagé dont vous faites partie"),
|
||||
"sharedWith": m51,
|
||||
"sharedWith": m53,
|
||||
"sharedWithMe":
|
||||
MessageLookupByLibrary.simpleMessage("Partagés avec moi"),
|
||||
"sharedWithYou":
|
||||
|
@ -1286,11 +1297,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Montrer les souvenirs"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"J\'accepte les <u-terms>conditions d\'utilisation</u-terms> et la <u-policy>politique de confidentialité</u-policy>"),
|
||||
"singleFileDeleteFromDevice": m52,
|
||||
"singleFileDeleteFromDevice": m54,
|
||||
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||
"Elle sera supprimée de tous les albums."),
|
||||
"singleFileInBothLocalAndRemote": m53,
|
||||
"singleFileInRemoteOnly": m54,
|
||||
"singleFileInBothLocalAndRemote": m55,
|
||||
"singleFileInRemoteOnly": m56,
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Ignorer"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("Réseaux Sociaux"),
|
||||
"someItemsAreInBothEnteAndYourDevice":
|
||||
|
@ -1330,14 +1341,14 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"storage": MessageLookupByLibrary.simpleMessage("Stockage"),
|
||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Famille"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Vous"),
|
||||
"storageInGB": m55,
|
||||
"storageInGB": m57,
|
||||
"storageLimitExceeded":
|
||||
MessageLookupByLibrary.simpleMessage("Limite de stockage atteinte"),
|
||||
"storageUsageInfo": m56,
|
||||
"storageUsageInfo": m58,
|
||||
"strongStrength":
|
||||
MessageLookupByLibrary.simpleMessage("Securité forte"),
|
||||
"subAlreadyLinkedErrMessage": m57,
|
||||
"subWillBeCancelledOn": m58,
|
||||
"subAlreadyLinkedErrMessage": m59,
|
||||
"subWillBeCancelledOn": m60,
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("S\'abonner"),
|
||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||
"Il semble que votre abonnement ait expiré. Veuillez vous abonner pour activer le partage."),
|
||||
|
@ -1354,7 +1365,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"suggestFeatures": MessageLookupByLibrary.simpleMessage(
|
||||
"Suggérer des fonctionnalités"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("Support"),
|
||||
"syncProgress": m59,
|
||||
"syncProgress": m61,
|
||||
"syncStopped":
|
||||
MessageLookupByLibrary.simpleMessage("Synchronisation arrêtée ?"),
|
||||
"syncing": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1383,7 +1394,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"theseItemsWillBeDeletedFromYourDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Ces éléments seront supprimés de votre appareil."),
|
||||
"theyAlsoGetXGb": m60,
|
||||
"theyAlsoGetXGb": m62,
|
||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||
"Ils seront supprimés de tous les albums."),
|
||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1399,7 +1410,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Cette adresse mail est déjà utilisé"),
|
||||
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
||||
"Cette image n\'a pas de données exif"),
|
||||
"thisIsPersonVerificationId": m61,
|
||||
"thisIsPersonVerificationId": m63,
|
||||
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
||||
"Ceci est votre ID de vérification"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
|
@ -1415,7 +1426,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"total": MessageLookupByLibrary.simpleMessage("total"),
|
||||
"totalSize": MessageLookupByLibrary.simpleMessage("Taille totale"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("Corbeille"),
|
||||
"trashDaysLeft": m62,
|
||||
"trashDaysLeft": m64,
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Réessayer"),
|
||||
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
||||
"Activez la sauvegarde pour télécharger automatiquement les fichiers ajoutés à ce dossier de l\'appareil sur ente."),
|
||||
|
@ -1473,7 +1484,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"useSelectedPhoto": MessageLookupByLibrary.simpleMessage(
|
||||
"Utiliser la photo sélectionnée"),
|
||||
"usedSpace": MessageLookupByLibrary.simpleMessage("Mémoire utilisée"),
|
||||
"validTill": m63,
|
||||
"validTill": m65,
|
||||
"verificationFailedPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"La vérification a échouée, veuillez réessayer"),
|
||||
|
@ -1482,7 +1493,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"verify": MessageLookupByLibrary.simpleMessage("Vérifier"),
|
||||
"verifyEmail":
|
||||
MessageLookupByLibrary.simpleMessage("Vérifier l\'email"),
|
||||
"verifyEmailID": m64,
|
||||
"verifyEmailID": m66,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Vérifier"),
|
||||
"verifyPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Vérifier le mot de passe"),
|
||||
|
@ -1511,11 +1522,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Nous ne prenons pas en charge l\'édition des photos et des albums que vous ne possédez pas encore"),
|
||||
"weHaveSendEmailTo": m65,
|
||||
"weHaveSendEmailTo": m67,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Securité Faible"),
|
||||
"welcomeBack": MessageLookupByLibrary.simpleMessage("Bienvenue !"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("Annuel"),
|
||||
"yearsAgo": m66,
|
||||
"yearsAgo": m68,
|
||||
"yes": MessageLookupByLibrary.simpleMessage("Oui"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Oui, annuler"),
|
||||
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1546,7 +1557,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Vous ne pouvez pas partager avec vous-même"),
|
||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||
"Vous n\'avez aucun élément archivé."),
|
||||
"youHaveSuccessfullyFreedUp": m67,
|
||||
"youHaveSuccessfullyFreedUp": m69,
|
||||
"yourAccountHasBeenDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Votre compte a été supprimé"),
|
||||
"yourMap": MessageLookupByLibrary.simpleMessage("Votre carte"),
|
||||
|
|
269
mobile/lib/generated/intl/messages_it.dart
generated
269
mobile/lib/generated/intl/messages_it.dart
generated
|
@ -21,24 +21,30 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
String get localeName => 'it';
|
||||
|
||||
static String m0(count) =>
|
||||
"${Intl.plural(count, zero: 'Add collaborator', one: 'Add collaborator', other: 'Add collaborators')}";
|
||||
|
||||
static String m2(count) =>
|
||||
"${Intl.plural(count, one: 'Aggiungi elemento', other: 'Aggiungi elementi')}";
|
||||
|
||||
static String m2(emailOrName) => "Aggiunto da ${emailOrName}";
|
||||
static String m1(count) =>
|
||||
"${Intl.plural(count, zero: 'Add viewer', one: 'Add viewer', other: 'Add viewers')}";
|
||||
|
||||
static String m3(albumName) => "Aggiunto con successo su ${albumName}";
|
||||
static String m4(emailOrName) => "Aggiunto da ${emailOrName}";
|
||||
|
||||
static String m4(count) =>
|
||||
static String m5(albumName) => "Aggiunto con successo su ${albumName}";
|
||||
|
||||
static String m6(count) =>
|
||||
"${Intl.plural(count, zero: 'Nessun partecipante', one: '1 Partecipante', other: '${count} Partecipanti')}";
|
||||
|
||||
static String m5(versionValue) => "Versione: ${versionValue}";
|
||||
static String m7(versionValue) => "Versione: ${versionValue}";
|
||||
|
||||
static String m6(paymentProvider) =>
|
||||
static String m8(paymentProvider) =>
|
||||
"Annulla prima il tuo abbonamento esistente da ${paymentProvider}";
|
||||
|
||||
static String m7(user) =>
|
||||
static String m9(user) =>
|
||||
"${user} non sarà più in grado di aggiungere altre foto a questo album\n\nSarà ancora in grado di rimuovere le foto esistenti aggiunte da lui o lei";
|
||||
|
||||
static String m8(isFamilyMember, storageAmountInGb) =>
|
||||
static String m10(isFamilyMember, storageAmountInGb) =>
|
||||
"${Intl.select(isFamilyMember, {
|
||||
'true':
|
||||
'Il tuo piano famiglia ha già richiesto ${storageAmountInGb} GB finora',
|
||||
|
@ -46,158 +52,158 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
'other': 'Hai già richiesto ${storageAmountInGb} GB finora!',
|
||||
})}";
|
||||
|
||||
static String m9(albumName) => "Link collaborativo creato per ${albumName}";
|
||||
static String m11(albumName) => "Link collaborativo creato per ${albumName}";
|
||||
|
||||
static String m10(familyAdminEmail) =>
|
||||
static String m12(familyAdminEmail) =>
|
||||
"Contatta <green>${familyAdminEmail}</green> per gestire il tuo abbonamento";
|
||||
|
||||
static String m11(provider) =>
|
||||
static String m13(provider) =>
|
||||
"Scrivi all\'indirizzo support@ente.io per gestire il tuo abbonamento ${provider}.";
|
||||
|
||||
static String m12(count) =>
|
||||
static String m14(count) =>
|
||||
"${Intl.plural(count, one: 'Elimina ${count} elemento', other: 'Elimina ${count} elementi')}";
|
||||
|
||||
static String m13(currentlyDeleting, totalCount) =>
|
||||
static String m15(currentlyDeleting, totalCount) =>
|
||||
"Eliminazione di ${currentlyDeleting} / ${totalCount}";
|
||||
|
||||
static String m14(albumName) =>
|
||||
static String m16(albumName) =>
|
||||
"Questo rimuoverà il link pubblico per accedere a \"${albumName}\".";
|
||||
|
||||
static String m15(supportEmail) =>
|
||||
static String m17(supportEmail) =>
|
||||
"Per favore invia un\'email a ${supportEmail} dall\'indirizzo email con cui ti sei registrato";
|
||||
|
||||
static String m16(count, storageSaved) =>
|
||||
static String m18(count, storageSaved) =>
|
||||
"Hai ripulito ${Intl.plural(count, one: '${count} doppione', other: '${count} doppioni')}, salvando (${storageSaved}!)";
|
||||
|
||||
static String m17(count, formattedSize) =>
|
||||
static String m19(count, formattedSize) =>
|
||||
"${count} file, ${formattedSize} l\'uno";
|
||||
|
||||
static String m18(newEmail) => "Email cambiata in ${newEmail}";
|
||||
static String m20(newEmail) => "Email cambiata in ${newEmail}";
|
||||
|
||||
static String m19(email) =>
|
||||
static String m21(email) =>
|
||||
"${email} non ha un account su ente.\n\nInvia un invito per condividere foto.";
|
||||
|
||||
static String m20(count, formattedNumber) =>
|
||||
static String m22(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 file', other: '${formattedNumber} file')} di quest\'album sono stati salvati in modo sicuro";
|
||||
|
||||
static String m21(count, formattedNumber) =>
|
||||
static String m23(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 file', other: '${formattedNumber} file')} di quest\'album sono stati salvati in modo sicuro";
|
||||
|
||||
static String m22(storageAmountInGB) =>
|
||||
static String m24(storageAmountInGB) =>
|
||||
"${storageAmountInGB} GB ogni volta che qualcuno si iscrive a un piano a pagamento e applica il tuo codice";
|
||||
|
||||
static String m23(freeAmount, storageUnit) =>
|
||||
static String m25(freeAmount, storageUnit) =>
|
||||
"${freeAmount} ${storageUnit} liberi";
|
||||
|
||||
static String m24(endDate) => "La prova gratuita termina il ${endDate}";
|
||||
static String m26(endDate) => "La prova gratuita termina il ${endDate}";
|
||||
|
||||
static String m25(count) =>
|
||||
static String m27(count) =>
|
||||
"Puoi ancora accedere a ${Intl.plural(count, one: '', other: 'loro')} su ente finché hai un abbonamento attivo";
|
||||
|
||||
static String m26(sizeInMBorGB) => "Libera ${sizeInMBorGB}";
|
||||
static String m28(sizeInMBorGB) => "Libera ${sizeInMBorGB}";
|
||||
|
||||
static String m27(count, formattedSize) =>
|
||||
static String m29(count, formattedSize) =>
|
||||
"${Intl.plural(count, one: 'Può essere cancellata per liberare ${formattedSize}', other: 'Possono essere cancellati per liberare ${formattedSize}')}";
|
||||
|
||||
static String m29(count) =>
|
||||
static String m31(count) =>
|
||||
"${Intl.plural(count, one: '${count} elemento', other: '${count} elementi')}";
|
||||
|
||||
static String m30(expiryTime) => "Il link scadrà il ${expiryTime}";
|
||||
static String m32(expiryTime) => "Il link scadrà il ${expiryTime}";
|
||||
|
||||
static String m31(count, formattedCount) =>
|
||||
static String m33(count, formattedCount) =>
|
||||
"${Intl.plural(count, one: '${formattedCount} ricordo', other: '${formattedCount} ricordi')}";
|
||||
|
||||
static String m32(count) =>
|
||||
static String m34(count) =>
|
||||
"${Intl.plural(count, one: 'Sposta elemento', other: 'Sposta elementi')}";
|
||||
|
||||
static String m33(albumName) => "Spostato con successo su ${albumName}";
|
||||
static String m35(albumName) => "Spostato con successo su ${albumName}";
|
||||
|
||||
static String m34(passwordStrengthValue) =>
|
||||
static String m36(passwordStrengthValue) =>
|
||||
"Sicurezza password: ${passwordStrengthValue}";
|
||||
|
||||
static String m35(providerName) =>
|
||||
static String m37(providerName) =>
|
||||
"Si prega di parlare con il supporto di ${providerName} se ti è stato addebitato qualcosa";
|
||||
|
||||
static String m36(reason) =>
|
||||
static String m38(reason) =>
|
||||
"Purtroppo il tuo pagamento non è riuscito a causa di ${reason}";
|
||||
|
||||
static String m37(endDate) =>
|
||||
static String m39(endDate) =>
|
||||
"Prova gratuita valida fino al ${endDate}.\nPuoi scegliere un piano a pagamento in seguito.";
|
||||
|
||||
static String m38(toEmail) => "Per favore invia un\'email a ${toEmail}";
|
||||
static String m40(toEmail) => "Per favore invia un\'email a ${toEmail}";
|
||||
|
||||
static String m39(toEmail) => "Invia i log a \n${toEmail}";
|
||||
static String m41(toEmail) => "Invia i log a \n${toEmail}";
|
||||
|
||||
static String m40(storeName) => "Valutaci su ${storeName}";
|
||||
static String m42(storeName) => "Valutaci su ${storeName}";
|
||||
|
||||
static String m41(storageInGB) =>
|
||||
static String m43(storageInGB) =>
|
||||
"3. Ottenete entrambi ${storageInGB} GB* gratis";
|
||||
|
||||
static String m42(userEmail) =>
|
||||
static String m44(userEmail) =>
|
||||
"${userEmail} verrà rimosso da questo album condiviso\n\nQualsiasi foto aggiunta dall\'utente verrà rimossa dall\'album";
|
||||
|
||||
static String m43(endDate) => "Si rinnova il ${endDate}";
|
||||
static String m45(endDate) => "Si rinnova il ${endDate}";
|
||||
|
||||
static String m45(count) => "${count} selezionati";
|
||||
static String m47(count) => "${count} selezionati";
|
||||
|
||||
static String m46(count, yourCount) =>
|
||||
static String m48(count, yourCount) =>
|
||||
"${count} selezionato (${yourCount} tuoi)";
|
||||
|
||||
static String m47(verificationID) =>
|
||||
static String m49(verificationID) =>
|
||||
"Ecco il mio ID di verifica: ${verificationID} per ente.io.";
|
||||
|
||||
static String m48(verificationID) =>
|
||||
static String m50(verificationID) =>
|
||||
"Hey, puoi confermare che questo è il tuo ID di verifica: ${verificationID} su ente.io";
|
||||
|
||||
static String m49(referralCode, referralStorageInGB) =>
|
||||
static String m51(referralCode, referralStorageInGB) =>
|
||||
"ente referral code: ${referralCode} \n\nApplicalo in Impostazioni → Generale → Referral per ottenere ${referralStorageInGB} GB gratis dopo la registrazione di un piano a pagamento\n\nhttps://ente.io";
|
||||
|
||||
static String m50(numberOfPeople) =>
|
||||
static String m52(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: 'Condividi con persone specifiche', one: 'Condividi con una persona', other: 'Condividi con ${numberOfPeople} persone')}";
|
||||
|
||||
static String m51(emailIDs) => "Condiviso con ${emailIDs}";
|
||||
static String m53(emailIDs) => "Condiviso con ${emailIDs}";
|
||||
|
||||
static String m52(fileType) =>
|
||||
static String m54(fileType) =>
|
||||
"Questo ${fileType} verrà eliminato dal tuo dispositivo.";
|
||||
|
||||
static String m53(fileType) =>
|
||||
static String m55(fileType) =>
|
||||
"Questo ${fileType} è sia su ente che sul tuo dispositivo.";
|
||||
|
||||
static String m54(fileType) => "Questo ${fileType} verrà eliminato su ente.";
|
||||
static String m56(fileType) => "Questo ${fileType} verrà eliminato su ente.";
|
||||
|
||||
static String m55(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
static String m57(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
|
||||
static String m56(
|
||||
static String m58(
|
||||
usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) =>
|
||||
"${usedAmount} ${usedStorageUnit} di ${totalAmount} ${totalStorageUnit} utilizzati";
|
||||
|
||||
static String m57(id) =>
|
||||
static String m59(id) =>
|
||||
"Il tuo ${id} è già collegato ad un altro account ente.\nSe desideri utilizzare il tuo ${id} con questo account, contatta il nostro supporto\'\'";
|
||||
|
||||
static String m58(endDate) => "L\'abbonamento verrà cancellato il ${endDate}";
|
||||
static String m60(endDate) => "L\'abbonamento verrà cancellato il ${endDate}";
|
||||
|
||||
static String m59(completed, total) =>
|
||||
static String m61(completed, total) =>
|
||||
"${completed}/${total} ricordi conservati";
|
||||
|
||||
static String m60(storageAmountInGB) =>
|
||||
static String m62(storageAmountInGB) =>
|
||||
"Anche loro riceveranno ${storageAmountInGB} GB";
|
||||
|
||||
static String m61(email) => "Questo è l\'ID di verifica di ${email}";
|
||||
static String m63(email) => "Questo è l\'ID di verifica di ${email}";
|
||||
|
||||
static String m62(count) =>
|
||||
static String m64(count) =>
|
||||
"${Intl.plural(count, zero: '', one: '1 giorno', other: '${count} giorni')}";
|
||||
|
||||
static String m63(endDate) => "Valido fino al ${endDate}";
|
||||
static String m65(endDate) => "Valido fino al ${endDate}";
|
||||
|
||||
static String m64(email) => "Verifica ${email}";
|
||||
static String m66(email) => "Verifica ${email}";
|
||||
|
||||
static String m65(email) =>
|
||||
static String m67(email) =>
|
||||
"Abbiamo inviato una mail a <green>${email}</green>";
|
||||
|
||||
static String m66(count) =>
|
||||
static String m68(count) =>
|
||||
"${Intl.plural(count, one: '${count} anno fa', other: '${count} anni fa')}";
|
||||
|
||||
static String m67(storageSaved) =>
|
||||
static String m69(storageSaved) =>
|
||||
"Hai liberato con successo ${storageSaved}!";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
|
@ -216,9 +222,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Aggiungi una nuova email"),
|
||||
"addCollaborator":
|
||||
MessageLookupByLibrary.simpleMessage("Aggiungi collaboratore"),
|
||||
"addCollaborators": m0,
|
||||
"addFromDevice":
|
||||
MessageLookupByLibrary.simpleMessage("Aggiungi dal dispositivo"),
|
||||
"addItem": m0,
|
||||
"addItem": m2,
|
||||
"addLocation": MessageLookupByLibrary.simpleMessage("Aggiungi luogo"),
|
||||
"addLocationButton": MessageLookupByLibrary.simpleMessage("Aggiungi"),
|
||||
"addMore": MessageLookupByLibrary.simpleMessage("Aggiungi altri"),
|
||||
|
@ -235,9 +242,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Aggiungi ad album nascosto"),
|
||||
"addViewer":
|
||||
MessageLookupByLibrary.simpleMessage("Aggiungi in sola lettura"),
|
||||
"addViewers": m1,
|
||||
"addedAs": MessageLookupByLibrary.simpleMessage("Aggiunto come"),
|
||||
"addedBy": m2,
|
||||
"addedSuccessfullyTo": m3,
|
||||
"addedBy": m4,
|
||||
"addedSuccessfullyTo": m5,
|
||||
"addingToFavorites":
|
||||
MessageLookupByLibrary.simpleMessage("Aggiunto ai preferiti..."),
|
||||
"advanced": MessageLookupByLibrary.simpleMessage("Avanzate"),
|
||||
|
@ -249,7 +257,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Dopo una settimana"),
|
||||
"after1Year": MessageLookupByLibrary.simpleMessage("Dopo un anno"),
|
||||
"albumOwner": MessageLookupByLibrary.simpleMessage("Proprietario"),
|
||||
"albumParticipantsCount": m4,
|
||||
"albumParticipantsCount": m6,
|
||||
"albumTitle": MessageLookupByLibrary.simpleMessage("Titolo album"),
|
||||
"albumUpdated":
|
||||
MessageLookupByLibrary.simpleMessage("Album aggiornato"),
|
||||
|
@ -286,7 +294,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Android, iOS, Web, Desktop"),
|
||||
"androidSignInTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Autenticazione necessaria"),
|
||||
"appVersion": m5,
|
||||
"appVersion": m7,
|
||||
"appleId": MessageLookupByLibrary.simpleMessage("Apple ID"),
|
||||
"apply": MessageLookupByLibrary.simpleMessage("Applica"),
|
||||
"applyCodeTitle":
|
||||
|
@ -370,10 +378,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage(
|
||||
"Puoi rimuovere solo i file di tua proprietà"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("Annulla"),
|
||||
"cancelOtherSubscription": m6,
|
||||
"cancelOtherSubscription": m8,
|
||||
"cancelSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Annulla abbonamento"),
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m7,
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m9,
|
||||
"cannotDeleteSharedFiles": MessageLookupByLibrary.simpleMessage(
|
||||
"Impossibile eliminare i file condivisi"),
|
||||
"centerPoint": MessageLookupByLibrary.simpleMessage("Punto centrale"),
|
||||
|
@ -396,7 +404,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Richiedi spazio gratuito"),
|
||||
"claimMore": MessageLookupByLibrary.simpleMessage("Richiedine di più!"),
|
||||
"claimed": MessageLookupByLibrary.simpleMessage("Riscattato"),
|
||||
"claimedStorageSoFar": m8,
|
||||
"claimedStorageSoFar": m10,
|
||||
"clearCaches": MessageLookupByLibrary.simpleMessage("Svuota cache"),
|
||||
"click": MessageLookupByLibrary.simpleMessage("• Clic"),
|
||||
"clickOnTheOverflowMenu":
|
||||
|
@ -416,7 +424,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Crea un link per consentire alle persone di aggiungere e visualizzare foto nel tuo album condiviso senza bisogno di un\'applicazione o di un account ente. Ottimo per raccogliere foto di un evento."),
|
||||
"collaborativeLink":
|
||||
MessageLookupByLibrary.simpleMessage("Link collaborativo"),
|
||||
"collaborativeLinkCreatedFor": m9,
|
||||
"collaborativeLinkCreatedFor": m11,
|
||||
"collaborator": MessageLookupByLibrary.simpleMessage("Collaboratore"),
|
||||
"collaboratorsCanAddPhotosAndVideosToTheSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -444,10 +452,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Conferma chiave di recupero"),
|
||||
"confirmYourRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Conferma la tua chiave di recupero"),
|
||||
"contactFamilyAdmin": m10,
|
||||
"contactFamilyAdmin": m12,
|
||||
"contactSupport":
|
||||
MessageLookupByLibrary.simpleMessage("Contatta il supporto"),
|
||||
"contactToManageSubscription": m11,
|
||||
"contactToManageSubscription": m13,
|
||||
"contacts": MessageLookupByLibrary.simpleMessage("Contacts"),
|
||||
"continueLabel": MessageLookupByLibrary.simpleMessage("Continua"),
|
||||
"continueOnFreeTrial":
|
||||
|
@ -523,11 +531,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Elimina dal dispositivo"),
|
||||
"deleteFromEnte":
|
||||
MessageLookupByLibrary.simpleMessage("Elimina da ente"),
|
||||
"deleteItemCount": m12,
|
||||
"deleteItemCount": m14,
|
||||
"deleteLocation":
|
||||
MessageLookupByLibrary.simpleMessage("Elimina posizione"),
|
||||
"deletePhotos": MessageLookupByLibrary.simpleMessage("Elimina foto"),
|
||||
"deleteProgress": m13,
|
||||
"deleteProgress": m15,
|
||||
"deleteReason1": MessageLookupByLibrary.simpleMessage(
|
||||
"Manca una caratteristica chiave di cui ho bisogno"),
|
||||
"deleteReason2": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -561,7 +569,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"I visualizzatori possono scattare screenshot o salvare una copia delle foto utilizzando strumenti esterni"),
|
||||
"disableDownloadWarningTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Nota bene"),
|
||||
"disableLinkMessage": m14,
|
||||
"disableLinkMessage": m16,
|
||||
"disableTwofactor": MessageLookupByLibrary.simpleMessage(
|
||||
"Disabilita autenticazione a due fattori"),
|
||||
"disablingTwofactorAuthentication":
|
||||
|
@ -582,9 +590,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Scaricamento fallito"),
|
||||
"downloading":
|
||||
MessageLookupByLibrary.simpleMessage("Scaricamento in corso..."),
|
||||
"dropSupportEmail": m15,
|
||||
"duplicateFileCountWithStorageSaved": m16,
|
||||
"duplicateItemsGroup": m17,
|
||||
"dropSupportEmail": m17,
|
||||
"duplicateFileCountWithStorageSaved": m18,
|
||||
"duplicateItemsGroup": m19,
|
||||
"edit": MessageLookupByLibrary.simpleMessage("Modifica"),
|
||||
"editLocation": MessageLookupByLibrary.simpleMessage("Edit location"),
|
||||
"editLocationTagTitle":
|
||||
|
@ -595,8 +603,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Edits to location will only be seen within Ente"),
|
||||
"eligible": MessageLookupByLibrary.simpleMessage("idoneo"),
|
||||
"email": MessageLookupByLibrary.simpleMessage("Email"),
|
||||
"emailChangedTo": m18,
|
||||
"emailNoEnteAccount": m19,
|
||||
"emailChangedTo": m20,
|
||||
"emailNoEnteAccount": m21,
|
||||
"emailVerificationToggle":
|
||||
MessageLookupByLibrary.simpleMessage("Verifica Email"),
|
||||
"emailYourLogs": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -689,8 +697,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Aggiungi descrizione..."),
|
||||
"fileSavedToGallery":
|
||||
MessageLookupByLibrary.simpleMessage("File salvato nella galleria"),
|
||||
"filesBackedUpFromDevice": m20,
|
||||
"filesBackedUpInAlbum": m21,
|
||||
"filesBackedUpFromDevice": m22,
|
||||
"filesBackedUpInAlbum": m23,
|
||||
"filesDeleted": MessageLookupByLibrary.simpleMessage("File eliminati"),
|
||||
"flip": MessageLookupByLibrary.simpleMessage("Capovolgi"),
|
||||
"forYourMemories":
|
||||
|
@ -699,18 +707,18 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Password dimenticata"),
|
||||
"freeStorageClaimed":
|
||||
MessageLookupByLibrary.simpleMessage("Spazio gratuito richiesto"),
|
||||
"freeStorageOnReferralSuccess": m22,
|
||||
"freeStorageSpace": m23,
|
||||
"freeStorageOnReferralSuccess": m24,
|
||||
"freeStorageSpace": m25,
|
||||
"freeStorageUsable":
|
||||
MessageLookupByLibrary.simpleMessage("Spazio libero utilizzabile"),
|
||||
"freeTrial": MessageLookupByLibrary.simpleMessage("Prova gratuita"),
|
||||
"freeTrialValidTill": m24,
|
||||
"freeUpAccessPostDelete": m25,
|
||||
"freeUpAmount": m26,
|
||||
"freeTrialValidTill": m26,
|
||||
"freeUpAccessPostDelete": m27,
|
||||
"freeUpAmount": m28,
|
||||
"freeUpDeviceSpace":
|
||||
MessageLookupByLibrary.simpleMessage("Libera spazio"),
|
||||
"freeUpSpace": MessageLookupByLibrary.simpleMessage("Libera spazio"),
|
||||
"freeUpSpaceSaving": m27,
|
||||
"freeUpSpaceSaving": m29,
|
||||
"galleryMemoryLimitInfo": MessageLookupByLibrary.simpleMessage(
|
||||
"Fino a 1000 ricordi mostrati nella galleria"),
|
||||
"general": MessageLookupByLibrary.simpleMessage("Generali"),
|
||||
|
@ -775,7 +783,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Sembra che qualcosa sia andato storto. Riprova tra un po\'. Se l\'errore persiste, contatta il nostro team di supporto."),
|
||||
"itemCount": m29,
|
||||
"itemCount": m31,
|
||||
"itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Gli elementi mostrano il numero di giorni rimanenti prima della cancellazione permanente"),
|
||||
|
@ -804,7 +812,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Limite dei dispositivi"),
|
||||
"linkEnabled": MessageLookupByLibrary.simpleMessage("Attivato"),
|
||||
"linkExpired": MessageLookupByLibrary.simpleMessage("Scaduto"),
|
||||
"linkExpiresOn": m30,
|
||||
"linkExpiresOn": m32,
|
||||
"linkExpiry": MessageLookupByLibrary.simpleMessage("Scadenza del link"),
|
||||
"linkHasExpired":
|
||||
MessageLookupByLibrary.simpleMessage("Il link è scaduto"),
|
||||
|
@ -852,6 +860,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"logout": MessageLookupByLibrary.simpleMessage("Disconnetti"),
|
||||
"logsDialogBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Invia i log per aiutarci a risolvere il tuo problema. Si prega di notare che i nomi dei file saranno inclusi per aiutare a tenere traccia di problemi con file specifici."),
|
||||
"longPressAnEmailToVerifyEndToEndEncryption":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Long press an email to verify end to end encryption."),
|
||||
"longpressOnAnItemToViewInFullscreen":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Premi a lungo su un elemento per visualizzarlo a schermo intero"),
|
||||
|
@ -870,7 +881,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"maps": MessageLookupByLibrary.simpleMessage("Mappe"),
|
||||
"mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"),
|
||||
"matrix": MessageLookupByLibrary.simpleMessage("Matrix"),
|
||||
"memoryCount": m31,
|
||||
"memoryCount": m33,
|
||||
"merchandise": MessageLookupByLibrary.simpleMessage("Merchandise"),
|
||||
"mobileWebDesktop":
|
||||
MessageLookupByLibrary.simpleMessage("Mobile, Web, Desktop"),
|
||||
|
@ -879,12 +890,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage(
|
||||
"Modify your query, or try searching for"),
|
||||
"monthly": MessageLookupByLibrary.simpleMessage("Mensile"),
|
||||
"moveItem": m32,
|
||||
"moveItem": m34,
|
||||
"moveToAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Sposta nell\'album"),
|
||||
"moveToHiddenAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Sposta in album nascosto"),
|
||||
"movedSuccessfullyTo": m33,
|
||||
"movedSuccessfullyTo": m35,
|
||||
"movedToTrash":
|
||||
MessageLookupByLibrary.simpleMessage("Spostato nel cestino"),
|
||||
"movingFilesToAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -948,15 +959,15 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Password modificata con successo"),
|
||||
"passwordLock":
|
||||
MessageLookupByLibrary.simpleMessage("Blocco con password"),
|
||||
"passwordStrength": m34,
|
||||
"passwordStrength": m36,
|
||||
"passwordWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Noi non memorizziamo la tua password, quindi se te la dimentichi, <underline>non possiamo decriptare i tuoi dati</underline>"),
|
||||
"paymentDetails":
|
||||
MessageLookupByLibrary.simpleMessage("Dettagli di Pagamento"),
|
||||
"paymentFailed":
|
||||
MessageLookupByLibrary.simpleMessage("Pagamento non riuscito"),
|
||||
"paymentFailedTalkToProvider": m35,
|
||||
"paymentFailedWithReason": m36,
|
||||
"paymentFailedTalkToProvider": m37,
|
||||
"paymentFailedWithReason": m38,
|
||||
"pendingSync":
|
||||
MessageLookupByLibrary.simpleMessage("Sincronizzazione in sospeso"),
|
||||
"peopleUsingYourCode": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -976,7 +987,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"pickCenterPoint": MessageLookupByLibrary.simpleMessage(
|
||||
"Selezionare il punto centrale"),
|
||||
"pinAlbum": MessageLookupByLibrary.simpleMessage("Fissa l\'album"),
|
||||
"playStoreFreeTrialValidTill": m37,
|
||||
"playStoreFreeTrialValidTill": m39,
|
||||
"playstoreSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Abbonamento su PlayStore"),
|
||||
"pleaseContactSupportAndWeWillBeHappyToHelp":
|
||||
|
@ -985,12 +996,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"pleaseContactSupportIfTheProblemPersists":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Riprova. Se il problema persiste, ti invitiamo a contattare l\'assistenza"),
|
||||
"pleaseEmailUsAt": m38,
|
||||
"pleaseEmailUsAt": m40,
|
||||
"pleaseGrantPermissions":
|
||||
MessageLookupByLibrary.simpleMessage("Concedi i permessi"),
|
||||
"pleaseLoginAgain": MessageLookupByLibrary.simpleMessage(
|
||||
"Effettua nuovamente l\'accesso"),
|
||||
"pleaseSendTheLogsTo": m39,
|
||||
"pleaseSendTheLogsTo": m41,
|
||||
"pleaseTryAgain": MessageLookupByLibrary.simpleMessage("Riprova"),
|
||||
"pleaseVerifyTheCodeYouHaveEntered":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1024,7 +1035,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"raiseTicket": MessageLookupByLibrary.simpleMessage("Invia ticket"),
|
||||
"rateTheApp": MessageLookupByLibrary.simpleMessage("Valuta l\'app"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("Lascia una recensione"),
|
||||
"rateUsOnStore": m40,
|
||||
"rateUsOnStore": m42,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Recupera"),
|
||||
"recoverAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Recupera account"),
|
||||
|
@ -1056,7 +1067,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"1. Condividi questo codice con i tuoi amici"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||
"2. Si iscrivono per un piano a pagamento"),
|
||||
"referralStep3": m41,
|
||||
"referralStep3": m43,
|
||||
"referrals": MessageLookupByLibrary.simpleMessage("Invita un Amico"),
|
||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||
"I referral code sono attualmente in pausa"),
|
||||
|
@ -1080,7 +1091,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"removeLink": MessageLookupByLibrary.simpleMessage("Elimina link"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Rimuovi partecipante"),
|
||||
"removeParticipantBody": m42,
|
||||
"removeParticipantBody": m44,
|
||||
"removePublicLink":
|
||||
MessageLookupByLibrary.simpleMessage("Rimuovi link pubblico"),
|
||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1094,7 +1105,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"renameFile": MessageLookupByLibrary.simpleMessage("Rinomina file"),
|
||||
"renewSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Rinnova abbonamento"),
|
||||
"renewsOn": m43,
|
||||
"renewsOn": m45,
|
||||
"reportABug": MessageLookupByLibrary.simpleMessage("Segnala un bug"),
|
||||
"reportBug": MessageLookupByLibrary.simpleMessage("Segnala un bug"),
|
||||
"resendEmail": MessageLookupByLibrary.simpleMessage("Rinvia email"),
|
||||
|
@ -1159,8 +1170,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Gli elementi selezionati verranno eliminati da tutti gli album e spostati nel cestino."),
|
||||
"selectedPhotos": m45,
|
||||
"selectedPhotosWithYours": m46,
|
||||
"selectedPhotos": m47,
|
||||
"selectedPhotosWithYours": m48,
|
||||
"send": MessageLookupByLibrary.simpleMessage("Invia"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("Invia email"),
|
||||
"sendInvite": MessageLookupByLibrary.simpleMessage("Invita"),
|
||||
|
@ -1184,16 +1195,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"shareAnAlbumNow":
|
||||
MessageLookupByLibrary.simpleMessage("Condividi un album"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("Condividi link"),
|
||||
"shareMyVerificationID": m47,
|
||||
"shareMyVerificationID": m49,
|
||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||
"Condividi solo con le persone che vuoi"),
|
||||
"shareTextConfirmOthersVerificationID": m48,
|
||||
"shareTextConfirmOthersVerificationID": m50,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Scarica ente in modo da poter facilmente condividere foto e video senza perdita di qualità\n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m49,
|
||||
"shareTextReferralCode": m51,
|
||||
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||
"Condividi con utenti che non hanno un account ente"),
|
||||
"shareWithPeopleSectionTitle": m50,
|
||||
"shareWithPeopleSectionTitle": m52,
|
||||
"shareYourFirstAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
"Condividi il tuo primo album"),
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1204,7 +1215,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Nuove foto condivise"),
|
||||
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||
"Ricevi notifiche quando qualcuno aggiunge una foto a un album condiviso, di cui fai parte"),
|
||||
"sharedWith": m51,
|
||||
"sharedWith": m53,
|
||||
"sharedWithMe":
|
||||
MessageLookupByLibrary.simpleMessage("Condivisi con me"),
|
||||
"sharedWithYou":
|
||||
|
@ -1214,11 +1225,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"showMemories": MessageLookupByLibrary.simpleMessage("Mostra ricordi"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"Accetto i <u-terms>termini di servizio</u-terms> e la <u-policy>politica sulla privacy</u-policy>"),
|
||||
"singleFileDeleteFromDevice": m52,
|
||||
"singleFileDeleteFromDevice": m54,
|
||||
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||
"Verrà eliminato da tutti gli album."),
|
||||
"singleFileInBothLocalAndRemote": m53,
|
||||
"singleFileInRemoteOnly": m54,
|
||||
"singleFileInBothLocalAndRemote": m55,
|
||||
"singleFileInRemoteOnly": m56,
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Salta"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("Social"),
|
||||
"someItemsAreInBothEnteAndYourDevice":
|
||||
|
@ -1259,13 +1270,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"storageBreakupFamily":
|
||||
MessageLookupByLibrary.simpleMessage("Famiglia"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Tu"),
|
||||
"storageInGB": m55,
|
||||
"storageInGB": m57,
|
||||
"storageLimitExceeded": MessageLookupByLibrary.simpleMessage(
|
||||
"Limite d\'archiviazione superato"),
|
||||
"storageUsageInfo": m56,
|
||||
"storageUsageInfo": m58,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Forte"),
|
||||
"subAlreadyLinkedErrMessage": m57,
|
||||
"subWillBeCancelledOn": m58,
|
||||
"subAlreadyLinkedErrMessage": m59,
|
||||
"subWillBeCancelledOn": m60,
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("Iscriviti"),
|
||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||
"Sembra che il tuo abbonamento sia scaduto. Iscriviti per abilitare la condivisione."),
|
||||
|
@ -1282,7 +1293,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"suggestFeatures":
|
||||
MessageLookupByLibrary.simpleMessage("Suggerisci una funzionalità"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("Assistenza"),
|
||||
"syncProgress": m59,
|
||||
"syncProgress": m61,
|
||||
"syncStopped":
|
||||
MessageLookupByLibrary.simpleMessage("Sincronizzazione interrotta"),
|
||||
"syncing": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1311,7 +1322,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"theseItemsWillBeDeletedFromYourDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Questi file verranno eliminati dal tuo dispositivo."),
|
||||
"theyAlsoGetXGb": m60,
|
||||
"theyAlsoGetXGb": m62,
|
||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||
"Verranno eliminati da tutti gli album."),
|
||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1328,7 +1339,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Questo indirizzo email è già registrato"),
|
||||
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
||||
"Questa immagine non ha dati EXIF"),
|
||||
"thisIsPersonVerificationId": m61,
|
||||
"thisIsPersonVerificationId": m63,
|
||||
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
||||
"Questo è il tuo ID di verifica"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
|
@ -1344,7 +1355,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"total": MessageLookupByLibrary.simpleMessage("totale"),
|
||||
"totalSize": MessageLookupByLibrary.simpleMessage("Dimensioni totali"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("Cestino"),
|
||||
"trashDaysLeft": m62,
|
||||
"trashDaysLeft": m64,
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Riprova"),
|
||||
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
||||
"Attiva il backup per caricare automaticamente i file aggiunti in questa cartella del dispositivo su ente."),
|
||||
|
@ -1401,7 +1412,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"useSelectedPhoto":
|
||||
MessageLookupByLibrary.simpleMessage("Usa la foto selezionata"),
|
||||
"usedSpace": MessageLookupByLibrary.simpleMessage("Spazio utilizzato"),
|
||||
"validTill": m63,
|
||||
"validTill": m65,
|
||||
"verificationFailedPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Verifica fallita, per favore prova di nuovo"),
|
||||
|
@ -1409,7 +1420,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("ID di verifica"),
|
||||
"verify": MessageLookupByLibrary.simpleMessage("Verifica"),
|
||||
"verifyEmail": MessageLookupByLibrary.simpleMessage("Verifica email"),
|
||||
"verifyEmailID": m64,
|
||||
"verifyEmailID": m66,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verifica"),
|
||||
"verifyPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Verifica password"),
|
||||
|
@ -1436,11 +1447,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Non puoi modificare foto e album che non possiedi"),
|
||||
"weHaveSendEmailTo": m65,
|
||||
"weHaveSendEmailTo": m67,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Debole"),
|
||||
"welcomeBack": MessageLookupByLibrary.simpleMessage("Bentornato/a!"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("Annuale"),
|
||||
"yearsAgo": m66,
|
||||
"yearsAgo": m68,
|
||||
"yes": MessageLookupByLibrary.simpleMessage("Si"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Sì, cancella"),
|
||||
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1470,7 +1481,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Non puoi condividere con te stesso"),
|
||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||
"Non hai nulla di archiviato."),
|
||||
"youHaveSuccessfullyFreedUp": m67,
|
||||
"youHaveSuccessfullyFreedUp": m69,
|
||||
"yourAccountHasBeenDeleted": MessageLookupByLibrary.simpleMessage(
|
||||
"Il tuo account è stato eliminato"),
|
||||
"yourMap": MessageLookupByLibrary.simpleMessage("Your map"),
|
||||
|
|
11
mobile/lib/generated/intl/messages_ko.dart
generated
11
mobile/lib/generated/intl/messages_ko.dart
generated
|
@ -20,10 +20,18 @@ typedef String MessageIfAbsent(String messageStr, List<dynamic> args);
|
|||
class MessageLookup extends MessageLookupByLibrary {
|
||||
String get localeName => 'ko';
|
||||
|
||||
static String m0(count) =>
|
||||
"${Intl.plural(count, zero: 'Add collaborator', one: 'Add collaborator', other: 'Add collaborators')}";
|
||||
|
||||
static String m1(count) =>
|
||||
"${Intl.plural(count, zero: 'Add viewer', one: 'Add viewer', other: 'Add viewers')}";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
||||
"addCollaborators": m0,
|
||||
"addToHiddenAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Add to hidden album"),
|
||||
"addViewers": m1,
|
||||
"changeLocationOfSelectedItems": MessageLookupByLibrary.simpleMessage(
|
||||
"Change location of selected items?"),
|
||||
"contacts": MessageLookupByLibrary.simpleMessage("Contacts"),
|
||||
|
@ -37,6 +45,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"fileTypes": MessageLookupByLibrary.simpleMessage("File types"),
|
||||
"joinDiscord": MessageLookupByLibrary.simpleMessage("Join Discord"),
|
||||
"locations": MessageLookupByLibrary.simpleMessage("Locations"),
|
||||
"longPressAnEmailToVerifyEndToEndEncryption":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Long press an email to verify end to end encryption."),
|
||||
"modifyYourQueryOrTrySearchingFor":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Modify your query, or try searching for"),
|
||||
|
|
287
mobile/lib/generated/intl/messages_nl.dart
generated
287
mobile/lib/generated/intl/messages_nl.dart
generated
|
@ -21,27 +21,33 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
String get localeName => 'nl';
|
||||
|
||||
static String m0(count) =>
|
||||
"${Intl.plural(count, zero: 'Add collaborator', one: 'Add collaborator', other: 'Add collaborators')}";
|
||||
|
||||
static String m2(count) =>
|
||||
"${Intl.plural(count, one: 'Bestand toevoegen', other: 'Bestanden toevoegen')}";
|
||||
|
||||
static String m1(storageAmount, endDate) =>
|
||||
static String m3(storageAmount, endDate) =>
|
||||
"Jouw ${storageAmount} add-on is geldig tot ${endDate}";
|
||||
|
||||
static String m2(emailOrName) => "Toegevoegd door ${emailOrName}";
|
||||
static String m1(count) =>
|
||||
"${Intl.plural(count, zero: 'Add viewer', one: 'Add viewer', other: 'Add viewers')}";
|
||||
|
||||
static String m3(albumName) => "Succesvol toegevoegd aan ${albumName}";
|
||||
static String m4(emailOrName) => "Toegevoegd door ${emailOrName}";
|
||||
|
||||
static String m4(count) =>
|
||||
static String m5(albumName) => "Succesvol toegevoegd aan ${albumName}";
|
||||
|
||||
static String m6(count) =>
|
||||
"${Intl.plural(count, zero: 'Geen deelnemers', one: '1 deelnemer', other: '${count} deelnemers')}";
|
||||
|
||||
static String m5(versionValue) => "Versie: ${versionValue}";
|
||||
static String m7(versionValue) => "Versie: ${versionValue}";
|
||||
|
||||
static String m6(paymentProvider) =>
|
||||
static String m8(paymentProvider) =>
|
||||
"Annuleer eerst uw bestaande abonnement bij ${paymentProvider}";
|
||||
|
||||
static String m7(user) =>
|
||||
static String m9(user) =>
|
||||
"${user} zal geen foto\'s meer kunnen toevoegen aan dit album\n\nDe gebruiker zal nog steeds bestaande foto\'s kunnen verwijderen die door hen zijn toegevoegd";
|
||||
|
||||
static String m8(isFamilyMember, storageAmountInGb) =>
|
||||
static String m10(isFamilyMember, storageAmountInGb) =>
|
||||
"${Intl.select(isFamilyMember, {
|
||||
'true':
|
||||
'Jouw familie heeft ${storageAmountInGb} GB geclaimd tot nu toe',
|
||||
|
@ -49,167 +55,167 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
'other': 'Je hebt ${storageAmountInGb} GB geclaimd tot nu toe!',
|
||||
})}";
|
||||
|
||||
static String m9(albumName) =>
|
||||
static String m11(albumName) =>
|
||||
"Gezamenlijke link aangemaakt voor ${albumName}";
|
||||
|
||||
static String m10(familyAdminEmail) =>
|
||||
static String m12(familyAdminEmail) =>
|
||||
"Neem contact op met <green>${familyAdminEmail}</green> om uw abonnement te beheren";
|
||||
|
||||
static String m11(provider) =>
|
||||
static String m13(provider) =>
|
||||
"Neem contact met ons op via support@ente.io om uw ${provider} abonnement te beheren.";
|
||||
|
||||
static String m12(count) =>
|
||||
static String m14(count) =>
|
||||
"${Intl.plural(count, one: 'Verwijder ${count} bestand', other: 'Verwijder ${count} bestanden')}";
|
||||
|
||||
static String m13(currentlyDeleting, totalCount) =>
|
||||
static String m15(currentlyDeleting, totalCount) =>
|
||||
"Verwijderen van ${currentlyDeleting} / ${totalCount}";
|
||||
|
||||
static String m14(albumName) =>
|
||||
static String m16(albumName) =>
|
||||
"Dit verwijdert de openbare link voor toegang tot \"${albumName}\".";
|
||||
|
||||
static String m15(supportEmail) =>
|
||||
static String m17(supportEmail) =>
|
||||
"Stuur een e-mail naar ${supportEmail} vanaf het door jou geregistreerde e-mailadres";
|
||||
|
||||
static String m16(count, storageSaved) =>
|
||||
static String m18(count, storageSaved) =>
|
||||
"Je hebt ${Intl.plural(count, one: '${count} dubbel bestand', other: '${count} dubbele bestanden')} opgeruimd, totaal (${storageSaved}!)";
|
||||
|
||||
static String m17(count, formattedSize) =>
|
||||
static String m19(count, formattedSize) =>
|
||||
"${count} bestanden, elk ${formattedSize}";
|
||||
|
||||
static String m18(newEmail) => "E-mailadres gewijzigd naar ${newEmail}";
|
||||
static String m20(newEmail) => "E-mailadres gewijzigd naar ${newEmail}";
|
||||
|
||||
static String m19(email) =>
|
||||
static String m21(email) =>
|
||||
"${email} heeft geen ente account.\n\nStuur ze een uitnodiging om foto\'s te delen.";
|
||||
|
||||
static String m20(count, formattedNumber) =>
|
||||
static String m22(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 bestand', other: '${formattedNumber} bestanden')} in dit album zijn veilig geback-upt";
|
||||
|
||||
static String m21(count, formattedNumber) =>
|
||||
static String m23(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 bestand', other: '${formattedNumber} bestanden')} in dit album is veilig geback-upt";
|
||||
|
||||
static String m22(storageAmountInGB) =>
|
||||
static String m24(storageAmountInGB) =>
|
||||
"${storageAmountInGB} GB telkens als iemand zich aanmeldt voor een betaald abonnement en je code toepast";
|
||||
|
||||
static String m23(freeAmount, storageUnit) =>
|
||||
static String m25(freeAmount, storageUnit) =>
|
||||
"${freeAmount} ${storageUnit} vrij";
|
||||
|
||||
static String m24(endDate) => "Gratis proefversie geldig tot ${endDate}";
|
||||
static String m26(endDate) => "Gratis proefversie geldig tot ${endDate}";
|
||||
|
||||
static String m25(count) =>
|
||||
static String m27(count) =>
|
||||
"U heeft nog steeds toegang tot ${Intl.plural(count, one: 'het', other: 'ze')} op ente zolang u een actief abonnement heeft";
|
||||
|
||||
static String m26(sizeInMBorGB) => "Maak ${sizeInMBorGB} vrij";
|
||||
static String m28(sizeInMBorGB) => "Maak ${sizeInMBorGB} vrij";
|
||||
|
||||
static String m27(count, formattedSize) =>
|
||||
static String m29(count, formattedSize) =>
|
||||
"${Intl.plural(count, one: 'Het kan verwijderd worden van het apparaat om ${formattedSize} vrij te maken', other: 'Ze kunnen verwijderd worden van het apparaat om ${formattedSize} vrij te maken')}";
|
||||
|
||||
static String m28(currentlyProcessing, totalCount) =>
|
||||
static String m30(currentlyProcessing, totalCount) =>
|
||||
"Verwerken van ${currentlyProcessing} / ${totalCount}";
|
||||
|
||||
static String m29(count) =>
|
||||
static String m31(count) =>
|
||||
"${Intl.plural(count, one: '${count} item', other: '${count} items')}";
|
||||
|
||||
static String m30(expiryTime) => "Link vervalt op ${expiryTime}";
|
||||
static String m32(expiryTime) => "Link vervalt op ${expiryTime}";
|
||||
|
||||
static String m31(count, formattedCount) =>
|
||||
static String m33(count, formattedCount) =>
|
||||
"${Intl.plural(count, zero: 'geen herinneringen', one: '${formattedCount} herinnering', other: '${formattedCount} herinneringen')}";
|
||||
|
||||
static String m32(count) =>
|
||||
static String m34(count) =>
|
||||
"${Intl.plural(count, one: 'Bestand verplaatsen', other: 'Bestanden verplaatsen')}";
|
||||
|
||||
static String m33(albumName) => "Succesvol verplaatst naar ${albumName}";
|
||||
static String m35(albumName) => "Succesvol verplaatst naar ${albumName}";
|
||||
|
||||
static String m34(passwordStrengthValue) =>
|
||||
static String m36(passwordStrengthValue) =>
|
||||
"Wachtwoord sterkte: ${passwordStrengthValue}";
|
||||
|
||||
static String m35(providerName) =>
|
||||
static String m37(providerName) =>
|
||||
"Praat met ${providerName} klantenservice als u in rekening bent gebracht";
|
||||
|
||||
static String m36(reason) =>
|
||||
static String m38(reason) =>
|
||||
"Helaas is uw betaling mislukt vanwege ${reason}";
|
||||
|
||||
static String m37(endDate) =>
|
||||
static String m39(endDate) =>
|
||||
"Gratis proefperiode geldig tot ${endDate}.\nU kunt naderhand een betaald abonnement kiezen.";
|
||||
|
||||
static String m38(toEmail) => "Stuur ons een e-mail op ${toEmail}";
|
||||
static String m40(toEmail) => "Stuur ons een e-mail op ${toEmail}";
|
||||
|
||||
static String m39(toEmail) =>
|
||||
static String m41(toEmail) =>
|
||||
"Verstuur de logboeken alstublieft naar ${toEmail}";
|
||||
|
||||
static String m40(storeName) => "Beoordeel ons op ${storeName}";
|
||||
static String m42(storeName) => "Beoordeel ons op ${storeName}";
|
||||
|
||||
static String m41(storageInGB) =>
|
||||
static String m43(storageInGB) =>
|
||||
"Jullie krijgen allebei ${storageInGB} GB* gratis";
|
||||
|
||||
static String m42(userEmail) =>
|
||||
static String m44(userEmail) =>
|
||||
"${userEmail} zal worden verwijderd uit dit gedeelde album\n\nAlle door hen toegevoegde foto\'s worden ook uit het album verwijderd";
|
||||
|
||||
static String m43(endDate) => "Wordt verlengd op ${endDate}";
|
||||
static String m45(endDate) => "Wordt verlengd op ${endDate}";
|
||||
|
||||
static String m44(count) =>
|
||||
static String m46(count) =>
|
||||
"${Intl.plural(count, one: '${count} resultaat gevonden', other: '${count} resultaten gevonden')}";
|
||||
|
||||
static String m45(count) => "${count} geselecteerd";
|
||||
static String m47(count) => "${count} geselecteerd";
|
||||
|
||||
static String m46(count, yourCount) =>
|
||||
static String m48(count, yourCount) =>
|
||||
"${count} geselecteerd (${yourCount} van jou)";
|
||||
|
||||
static String m47(verificationID) =>
|
||||
static String m49(verificationID) =>
|
||||
"Hier is mijn verificatie-ID: ${verificationID} voor ente.io.";
|
||||
|
||||
static String m48(verificationID) =>
|
||||
static String m50(verificationID) =>
|
||||
"Hey, kunt u bevestigen dat dit uw ente.io verificatie-ID is: ${verificationID}";
|
||||
|
||||
static String m49(referralCode, referralStorageInGB) =>
|
||||
static String m51(referralCode, referralStorageInGB) =>
|
||||
"ente verwijzingscode: ${referralCode} \n\nPas het toe bij Instellingen → Algemeen → Verwijzingen om ${referralStorageInGB} GB gratis te krijgen nadat je je hebt aangemeld voor een betaald abonnement\n\nhttps://ente.io";
|
||||
|
||||
static String m50(numberOfPeople) =>
|
||||
static String m52(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: 'Deel met specifieke mensen', one: 'Gedeeld met 1 persoon', other: 'Gedeeld met ${numberOfPeople} mensen')}";
|
||||
|
||||
static String m51(emailIDs) => "Gedeeld met ${emailIDs}";
|
||||
|
||||
static String m52(fileType) =>
|
||||
"Deze ${fileType} zal worden verwijderd van jouw apparaat.";
|
||||
|
||||
static String m53(fileType) =>
|
||||
"Deze ${fileType} staat zowel in ente als op jouw apparaat.";
|
||||
static String m53(emailIDs) => "Gedeeld met ${emailIDs}";
|
||||
|
||||
static String m54(fileType) =>
|
||||
"Deze ${fileType} zal worden verwijderd van jouw apparaat.";
|
||||
|
||||
static String m55(fileType) =>
|
||||
"Deze ${fileType} staat zowel in ente als op jouw apparaat.";
|
||||
|
||||
static String m56(fileType) =>
|
||||
"Deze ${fileType} zal worden verwijderd uit ente.";
|
||||
|
||||
static String m55(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
static String m57(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
|
||||
static String m56(
|
||||
static String m58(
|
||||
usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) =>
|
||||
"${usedAmount} ${usedStorageUnit} van ${totalAmount} ${totalStorageUnit} gebruikt";
|
||||
|
||||
static String m57(id) =>
|
||||
static String m59(id) =>
|
||||
"Uw ${id} is al aan een ander ente account gekoppeld.\nAls u uw ${id} wilt gebruiken met dit account, neem dan contact op met onze klantenservice";
|
||||
|
||||
static String m58(endDate) => "Uw abonnement loopt af op ${endDate}";
|
||||
static String m60(endDate) => "Uw abonnement loopt af op ${endDate}";
|
||||
|
||||
static String m59(completed, total) =>
|
||||
static String m61(completed, total) =>
|
||||
"${completed}/${total} herinneringen bewaard";
|
||||
|
||||
static String m60(storageAmountInGB) =>
|
||||
static String m62(storageAmountInGB) =>
|
||||
"Zij krijgen ook ${storageAmountInGB} GB";
|
||||
|
||||
static String m61(email) => "Dit is de verificatie-ID van ${email}";
|
||||
static String m63(email) => "Dit is de verificatie-ID van ${email}";
|
||||
|
||||
static String m62(count) =>
|
||||
static String m64(count) =>
|
||||
"${Intl.plural(count, zero: '', one: '1 dag', other: '${count} dagen')}";
|
||||
|
||||
static String m63(endDate) => "Geldig tot ${endDate}";
|
||||
static String m65(endDate) => "Geldig tot ${endDate}";
|
||||
|
||||
static String m64(email) => "Verifieer ${email}";
|
||||
static String m66(email) => "Verifieer ${email}";
|
||||
|
||||
static String m65(email) =>
|
||||
static String m67(email) =>
|
||||
"We hebben een e-mail gestuurd naar <green>${email}</green>";
|
||||
|
||||
static String m66(count) =>
|
||||
static String m68(count) =>
|
||||
"${Intl.plural(count, one: '${count} jaar geleden', other: '${count} jaar geleden')}";
|
||||
|
||||
static String m67(storageSaved) =>
|
||||
static String m69(storageSaved) =>
|
||||
"Je hebt ${storageSaved} succesvol vrijgemaakt!";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
|
@ -228,9 +234,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Nieuw e-mailadres toevoegen"),
|
||||
"addCollaborator":
|
||||
MessageLookupByLibrary.simpleMessage("Samenwerker toevoegen"),
|
||||
"addCollaborators": m0,
|
||||
"addFromDevice":
|
||||
MessageLookupByLibrary.simpleMessage("Toevoegen vanaf apparaat"),
|
||||
"addItem": m0,
|
||||
"addItem": m2,
|
||||
"addLocation":
|
||||
MessageLookupByLibrary.simpleMessage("Locatie toevoegen"),
|
||||
"addLocationButton": MessageLookupByLibrary.simpleMessage("Toevoegen"),
|
||||
|
@ -238,7 +245,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"addNew": MessageLookupByLibrary.simpleMessage("Nieuwe toevoegen"),
|
||||
"addOnPageSubtitle":
|
||||
MessageLookupByLibrary.simpleMessage("Details van add-ons"),
|
||||
"addOnValidTill": m1,
|
||||
"addOnValidTill": m3,
|
||||
"addOns": MessageLookupByLibrary.simpleMessage("Add-ons"),
|
||||
"addPhotos": MessageLookupByLibrary.simpleMessage("Foto\'s toevoegen"),
|
||||
"addSelected":
|
||||
|
@ -249,11 +256,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"addToHiddenAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
"Toevoegen aan verborgen album"),
|
||||
"addViewer": MessageLookupByLibrary.simpleMessage("Voeg kijker toe"),
|
||||
"addViewers": m1,
|
||||
"addYourPhotosNow":
|
||||
MessageLookupByLibrary.simpleMessage("Voeg nu je foto\'s toe"),
|
||||
"addedAs": MessageLookupByLibrary.simpleMessage("Toegevoegd als"),
|
||||
"addedBy": m2,
|
||||
"addedSuccessfullyTo": m3,
|
||||
"addedBy": m4,
|
||||
"addedSuccessfullyTo": m5,
|
||||
"addingToFavorites":
|
||||
MessageLookupByLibrary.simpleMessage("Toevoegen aan favorieten..."),
|
||||
"advanced": MessageLookupByLibrary.simpleMessage("Geavanceerd"),
|
||||
|
@ -264,7 +272,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"after1Week": MessageLookupByLibrary.simpleMessage("Na 1 week"),
|
||||
"after1Year": MessageLookupByLibrary.simpleMessage("Na 1 jaar"),
|
||||
"albumOwner": MessageLookupByLibrary.simpleMessage("Eigenaar"),
|
||||
"albumParticipantsCount": m4,
|
||||
"albumParticipantsCount": m6,
|
||||
"albumTitle": MessageLookupByLibrary.simpleMessage("Albumtitel"),
|
||||
"albumUpdated":
|
||||
MessageLookupByLibrary.simpleMessage("Album bijgewerkt"),
|
||||
|
@ -300,7 +308,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Android, iOS, Web, Desktop"),
|
||||
"androidSignInTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Verificatie vereist"),
|
||||
"appVersion": m5,
|
||||
"appVersion": m7,
|
||||
"appleId": MessageLookupByLibrary.simpleMessage("Apple ID"),
|
||||
"apply": MessageLookupByLibrary.simpleMessage("Toepassen"),
|
||||
"applyCodeTitle":
|
||||
|
@ -386,10 +394,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage(
|
||||
"Kan alleen bestanden verwijderen die jouw eigendom zijn"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("Annuleer"),
|
||||
"cancelOtherSubscription": m6,
|
||||
"cancelOtherSubscription": m8,
|
||||
"cancelSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Abonnement opzeggen"),
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m7,
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m9,
|
||||
"cannotDeleteSharedFiles": MessageLookupByLibrary.simpleMessage(
|
||||
"Kan gedeelde bestanden niet verwijderen"),
|
||||
"castInstruction": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -413,7 +421,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Claim gratis opslag"),
|
||||
"claimMore": MessageLookupByLibrary.simpleMessage("Claim meer!"),
|
||||
"claimed": MessageLookupByLibrary.simpleMessage("Geclaimd"),
|
||||
"claimedStorageSoFar": m8,
|
||||
"claimedStorageSoFar": m10,
|
||||
"cleanUncategorized":
|
||||
MessageLookupByLibrary.simpleMessage("Ongecategoriseerd opschonen"),
|
||||
"clearCaches": MessageLookupByLibrary.simpleMessage("Cache legen"),
|
||||
|
@ -436,7 +444,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Maak een link waarmee mensen foto\'s in jouw gedeelde album kunnen toevoegen en bekijken zonder dat ze daarvoor een ente app of account nodig hebben. Handig voor het verzamelen van foto\'s van evenementen."),
|
||||
"collaborativeLink":
|
||||
MessageLookupByLibrary.simpleMessage("Gezamenlijke link"),
|
||||
"collaborativeLinkCreatedFor": m9,
|
||||
"collaborativeLinkCreatedFor": m11,
|
||||
"collaborator": MessageLookupByLibrary.simpleMessage("Samenwerker"),
|
||||
"collaboratorsCanAddPhotosAndVideosToTheSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -464,10 +472,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Bevestig herstelsleutel"),
|
||||
"confirmYourRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("Bevestig herstelsleutel"),
|
||||
"contactFamilyAdmin": m10,
|
||||
"contactFamilyAdmin": m12,
|
||||
"contactSupport":
|
||||
MessageLookupByLibrary.simpleMessage("Contacteer klantenservice"),
|
||||
"contactToManageSubscription": m11,
|
||||
"contactToManageSubscription": m13,
|
||||
"contacts": MessageLookupByLibrary.simpleMessage("Contacten"),
|
||||
"contents": MessageLookupByLibrary.simpleMessage("Inhoud"),
|
||||
"continueLabel": MessageLookupByLibrary.simpleMessage("Doorgaan"),
|
||||
|
@ -544,12 +552,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Verwijder van apparaat"),
|
||||
"deleteFromEnte":
|
||||
MessageLookupByLibrary.simpleMessage("Verwijder van ente"),
|
||||
"deleteItemCount": m12,
|
||||
"deleteItemCount": m14,
|
||||
"deleteLocation":
|
||||
MessageLookupByLibrary.simpleMessage("Verwijder locatie"),
|
||||
"deletePhotos":
|
||||
MessageLookupByLibrary.simpleMessage("Foto\'s verwijderen"),
|
||||
"deleteProgress": m13,
|
||||
"deleteProgress": m15,
|
||||
"deleteReason1": MessageLookupByLibrary.simpleMessage(
|
||||
"Ik mis een belangrijke functie"),
|
||||
"deleteReason2": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -587,7 +595,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Kijkers kunnen nog steeds screenshots maken of een kopie van je foto\'s opslaan met behulp van externe tools"),
|
||||
"disableDownloadWarningTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Let op"),
|
||||
"disableLinkMessage": m14,
|
||||
"disableLinkMessage": m16,
|
||||
"disableTwofactor": MessageLookupByLibrary.simpleMessage(
|
||||
"Tweestapsverificatie uitschakelen"),
|
||||
"disablingTwofactorAuthentication":
|
||||
|
@ -608,9 +616,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"downloadFailed":
|
||||
MessageLookupByLibrary.simpleMessage("Download mislukt"),
|
||||
"downloading": MessageLookupByLibrary.simpleMessage("Downloaden..."),
|
||||
"dropSupportEmail": m15,
|
||||
"duplicateFileCountWithStorageSaved": m16,
|
||||
"duplicateItemsGroup": m17,
|
||||
"dropSupportEmail": m17,
|
||||
"duplicateFileCountWithStorageSaved": m18,
|
||||
"duplicateItemsGroup": m19,
|
||||
"edit": MessageLookupByLibrary.simpleMessage("Bewerken"),
|
||||
"editLocation":
|
||||
MessageLookupByLibrary.simpleMessage("Locatie bewerken"),
|
||||
|
@ -623,8 +631,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Bewerkte locatie wordt alleen gezien binnen Ente"),
|
||||
"eligible": MessageLookupByLibrary.simpleMessage("gerechtigd"),
|
||||
"email": MessageLookupByLibrary.simpleMessage("E-mail"),
|
||||
"emailChangedTo": m18,
|
||||
"emailNoEnteAccount": m19,
|
||||
"emailChangedTo": m20,
|
||||
"emailNoEnteAccount": m21,
|
||||
"emailVerificationToggle":
|
||||
MessageLookupByLibrary.simpleMessage("E-mailverificatie"),
|
||||
"emailYourLogs":
|
||||
|
@ -728,8 +736,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"fileTypes": MessageLookupByLibrary.simpleMessage("Bestandstype"),
|
||||
"fileTypesAndNames":
|
||||
MessageLookupByLibrary.simpleMessage("Bestandstypen en namen"),
|
||||
"filesBackedUpFromDevice": m20,
|
||||
"filesBackedUpInAlbum": m21,
|
||||
"filesBackedUpFromDevice": m22,
|
||||
"filesBackedUpInAlbum": m23,
|
||||
"filesDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Bestanden verwijderd"),
|
||||
"flip": MessageLookupByLibrary.simpleMessage("Omdraaien"),
|
||||
|
@ -739,24 +747,24 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Wachtwoord vergeten"),
|
||||
"freeStorageClaimed":
|
||||
MessageLookupByLibrary.simpleMessage("Gratis opslag geclaimd"),
|
||||
"freeStorageOnReferralSuccess": m22,
|
||||
"freeStorageSpace": m23,
|
||||
"freeStorageOnReferralSuccess": m24,
|
||||
"freeStorageSpace": m25,
|
||||
"freeStorageUsable":
|
||||
MessageLookupByLibrary.simpleMessage("Gratis opslag bruikbaar"),
|
||||
"freeTrial": MessageLookupByLibrary.simpleMessage("Gratis proefversie"),
|
||||
"freeTrialValidTill": m24,
|
||||
"freeUpAccessPostDelete": m25,
|
||||
"freeUpAmount": m26,
|
||||
"freeTrialValidTill": m26,
|
||||
"freeUpAccessPostDelete": m27,
|
||||
"freeUpAmount": m28,
|
||||
"freeUpDeviceSpace":
|
||||
MessageLookupByLibrary.simpleMessage("Apparaatruimte vrijmaken"),
|
||||
"freeUpSpace": MessageLookupByLibrary.simpleMessage("Ruimte vrijmaken"),
|
||||
"freeUpSpaceSaving": m27,
|
||||
"freeUpSpaceSaving": m29,
|
||||
"galleryMemoryLimitInfo": MessageLookupByLibrary.simpleMessage(
|
||||
"Tot 1000 herinneringen getoond in de galerij"),
|
||||
"general": MessageLookupByLibrary.simpleMessage("Algemeen"),
|
||||
"generatingEncryptionKeys": MessageLookupByLibrary.simpleMessage(
|
||||
"Encryptiesleutels genereren..."),
|
||||
"genericProgress": m28,
|
||||
"genericProgress": m30,
|
||||
"goToSettings":
|
||||
MessageLookupByLibrary.simpleMessage("Ga naar instellingen"),
|
||||
"googlePlayId": MessageLookupByLibrary.simpleMessage("Google Play ID"),
|
||||
|
@ -817,7 +825,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Het lijkt erop dat er iets fout is gegaan. Probeer het later opnieuw. Als de fout zich blijft voordoen, neem dan contact op met ons supportteam."),
|
||||
"itemCount": m29,
|
||||
"itemCount": m31,
|
||||
"itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Bestanden tonen het aantal resterende dagen voordat ze permanent worden verwijderd"),
|
||||
|
@ -844,7 +852,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Apparaat limiet"),
|
||||
"linkEnabled": MessageLookupByLibrary.simpleMessage("Ingeschakeld"),
|
||||
"linkExpired": MessageLookupByLibrary.simpleMessage("Verlopen"),
|
||||
"linkExpiresOn": m30,
|
||||
"linkExpiresOn": m32,
|
||||
"linkExpiry": MessageLookupByLibrary.simpleMessage("Vervaldatum"),
|
||||
"linkHasExpired":
|
||||
MessageLookupByLibrary.simpleMessage("Link is vervallen"),
|
||||
|
@ -893,6 +901,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"logout": MessageLookupByLibrary.simpleMessage("Uitloggen"),
|
||||
"logsDialogBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Dit zal logboeken verzenden om ons te helpen uw probleem op te lossen. Houd er rekening mee dat bestandsnamen zullen worden meegenomen om problemen met specifieke bestanden bij te houden."),
|
||||
"longPressAnEmailToVerifyEndToEndEncryption":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Long press an email to verify end to end encryption."),
|
||||
"longpressOnAnItemToViewInFullscreen": MessageLookupByLibrary.simpleMessage(
|
||||
"Houd een bestand lang ingedrukt om te bekijken op volledig scherm"),
|
||||
"lostDevice":
|
||||
|
@ -916,7 +927,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"maps": MessageLookupByLibrary.simpleMessage("Kaarten"),
|
||||
"mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"),
|
||||
"matrix": MessageLookupByLibrary.simpleMessage("Matrix"),
|
||||
"memoryCount": m31,
|
||||
"memoryCount": m33,
|
||||
"merchandise": MessageLookupByLibrary.simpleMessage("Merchandise"),
|
||||
"mobileWebDesktop":
|
||||
MessageLookupByLibrary.simpleMessage("Mobiel, Web, Desktop"),
|
||||
|
@ -926,12 +937,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Pas je zoekopdracht aan of zoek naar"),
|
||||
"moments": MessageLookupByLibrary.simpleMessage("Momenten"),
|
||||
"monthly": MessageLookupByLibrary.simpleMessage("Maandelijks"),
|
||||
"moveItem": m32,
|
||||
"moveItem": m34,
|
||||
"moveToAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Verplaats naar album"),
|
||||
"moveToHiddenAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
"Verplaatsen naar verborgen album"),
|
||||
"movedSuccessfullyTo": m33,
|
||||
"movedSuccessfullyTo": m35,
|
||||
"movedToTrash":
|
||||
MessageLookupByLibrary.simpleMessage("Naar prullenbak verplaatst"),
|
||||
"movingFilesToAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1001,15 +1012,15 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"passwordChangedSuccessfully": MessageLookupByLibrary.simpleMessage(
|
||||
"Wachtwoord succesvol aangepast"),
|
||||
"passwordLock": MessageLookupByLibrary.simpleMessage("Wachtwoord slot"),
|
||||
"passwordStrength": m34,
|
||||
"passwordStrength": m36,
|
||||
"passwordWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Wij slaan dit wachtwoord niet op, dus als je het vergeet, kunnen <underline>we je gegevens niet ontsleutelen</underline>"),
|
||||
"paymentDetails":
|
||||
MessageLookupByLibrary.simpleMessage("Betaalgegevens"),
|
||||
"paymentFailed":
|
||||
MessageLookupByLibrary.simpleMessage("Betaling mislukt"),
|
||||
"paymentFailedTalkToProvider": m35,
|
||||
"paymentFailedWithReason": m36,
|
||||
"paymentFailedTalkToProvider": m37,
|
||||
"paymentFailedWithReason": m38,
|
||||
"pendingItems":
|
||||
MessageLookupByLibrary.simpleMessage("Bestanden in behandeling"),
|
||||
"pendingSync": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1037,7 +1048,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Album bovenaan vastzetten"),
|
||||
"playOnTv":
|
||||
MessageLookupByLibrary.simpleMessage("Album afspelen op TV"),
|
||||
"playStoreFreeTrialValidTill": m37,
|
||||
"playStoreFreeTrialValidTill": m39,
|
||||
"playstoreSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("PlayStore abonnement"),
|
||||
"pleaseCheckYourInternetConnectionAndTryAgain":
|
||||
|
@ -1049,12 +1060,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"pleaseContactSupportIfTheProblemPersists":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Neem contact op met klantenservice als het probleem aanhoudt"),
|
||||
"pleaseEmailUsAt": m38,
|
||||
"pleaseEmailUsAt": m40,
|
||||
"pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage(
|
||||
"Geef alstublieft toestemming"),
|
||||
"pleaseLoginAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Log opnieuw in"),
|
||||
"pleaseSendTheLogsTo": m39,
|
||||
"pleaseSendTheLogsTo": m41,
|
||||
"pleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Probeer het nog eens"),
|
||||
"pleaseVerifyTheCodeYouHaveEntered":
|
||||
|
@ -1089,7 +1100,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"raiseTicket": MessageLookupByLibrary.simpleMessage("Meld probleem"),
|
||||
"rateTheApp": MessageLookupByLibrary.simpleMessage("Beoordeel de app"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("Beoordeel ons"),
|
||||
"rateUsOnStore": m40,
|
||||
"rateUsOnStore": m42,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Herstellen"),
|
||||
"recoverAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Account herstellen"),
|
||||
|
@ -1120,7 +1131,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"1. Geef deze code aan je vrienden"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||
"2. Ze registreren voor een betaald plan"),
|
||||
"referralStep3": m41,
|
||||
"referralStep3": m43,
|
||||
"referrals": MessageLookupByLibrary.simpleMessage("Referenties"),
|
||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||
"Verwijzingen zijn momenteel gepauzeerd"),
|
||||
|
@ -1146,7 +1157,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"removeLink": MessageLookupByLibrary.simpleMessage("Verwijder link"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Deelnemer verwijderen"),
|
||||
"removeParticipantBody": m42,
|
||||
"removeParticipantBody": m44,
|
||||
"removePublicLink":
|
||||
MessageLookupByLibrary.simpleMessage("Verwijder publieke link"),
|
||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1162,7 +1173,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Bestandsnaam wijzigen"),
|
||||
"renewSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Abonnement verlengen"),
|
||||
"renewsOn": m43,
|
||||
"renewsOn": m45,
|
||||
"reportABug": MessageLookupByLibrary.simpleMessage("Een fout melden"),
|
||||
"reportBug": MessageLookupByLibrary.simpleMessage("Fout melden"),
|
||||
"resendEmail":
|
||||
|
@ -1224,7 +1235,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Foto\'s groeperen die in een bepaalde straal van een foto worden genomen"),
|
||||
"searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage(
|
||||
"Nodig mensen uit, en je ziet alle foto\'s die door hen worden gedeeld hier"),
|
||||
"searchResultCount": m44,
|
||||
"searchResultCount": m46,
|
||||
"security": MessageLookupByLibrary.simpleMessage("Beveiliging"),
|
||||
"selectALocation":
|
||||
MessageLookupByLibrary.simpleMessage("Selecteer een locatie"),
|
||||
|
@ -1251,8 +1262,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Geselecteerde bestanden worden verwijderd uit alle albums en verplaatst naar de prullenbak."),
|
||||
"selectedPhotos": m45,
|
||||
"selectedPhotosWithYours": m46,
|
||||
"selectedPhotos": m47,
|
||||
"selectedPhotosWithYours": m48,
|
||||
"send": MessageLookupByLibrary.simpleMessage("Verzenden"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("E-mail versturen"),
|
||||
"sendInvite":
|
||||
|
@ -1276,16 +1287,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"shareAnAlbumNow":
|
||||
MessageLookupByLibrary.simpleMessage("Deel nu een album"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("Link delen"),
|
||||
"shareMyVerificationID": m47,
|
||||
"shareMyVerificationID": m49,
|
||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||
"Deel alleen met de mensen die u wilt"),
|
||||
"shareTextConfirmOthersVerificationID": m48,
|
||||
"shareTextConfirmOthersVerificationID": m50,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Download ente zodat we gemakkelijk foto\'s en video\'s van originele kwaliteit kunnen delen\n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m49,
|
||||
"shareTextReferralCode": m51,
|
||||
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||
"Delen met niet-ente gebruikers"),
|
||||
"shareWithPeopleSectionTitle": m50,
|
||||
"shareWithPeopleSectionTitle": m52,
|
||||
"shareYourFirstAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Deel jouw eerste album"),
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1296,7 +1307,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Nieuwe gedeelde foto\'s"),
|
||||
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||
"Ontvang meldingen wanneer iemand een foto toevoegt aan een gedeeld album waar je deel van uitmaakt"),
|
||||
"sharedWith": m51,
|
||||
"sharedWith": m53,
|
||||
"sharedWithMe": MessageLookupByLibrary.simpleMessage("Gedeeld met mij"),
|
||||
"sharedWithYou":
|
||||
MessageLookupByLibrary.simpleMessage("Gedeeld met jou"),
|
||||
|
@ -1311,11 +1322,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Log uit op andere apparaten"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"Ik ga akkoord met de <u-terms>gebruiksvoorwaarden</u-terms> en <u-policy>privacybeleid</u-policy>"),
|
||||
"singleFileDeleteFromDevice": m52,
|
||||
"singleFileDeleteFromDevice": m54,
|
||||
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||
"Het wordt uit alle albums verwijderd."),
|
||||
"singleFileInBothLocalAndRemote": m53,
|
||||
"singleFileInRemoteOnly": m54,
|
||||
"singleFileInBothLocalAndRemote": m55,
|
||||
"singleFileInRemoteOnly": m56,
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Overslaan"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("Sociale media"),
|
||||
"someItemsAreInBothEnteAndYourDevice": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1353,13 +1364,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"storage": MessageLookupByLibrary.simpleMessage("Opslagruimte"),
|
||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Familie"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Jij"),
|
||||
"storageInGB": m55,
|
||||
"storageInGB": m57,
|
||||
"storageLimitExceeded":
|
||||
MessageLookupByLibrary.simpleMessage("Opslaglimiet overschreden"),
|
||||
"storageUsageInfo": m56,
|
||||
"storageUsageInfo": m58,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Sterk"),
|
||||
"subAlreadyLinkedErrMessage": m57,
|
||||
"subWillBeCancelledOn": m58,
|
||||
"subAlreadyLinkedErrMessage": m59,
|
||||
"subWillBeCancelledOn": m60,
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("Abonneer"),
|
||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||
"Het lijkt erop dat je abonnement is verlopen. Abonneer om delen mogelijk te maken."),
|
||||
|
@ -1376,7 +1387,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"suggestFeatures":
|
||||
MessageLookupByLibrary.simpleMessage("Features voorstellen"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("Ondersteuning"),
|
||||
"syncProgress": m59,
|
||||
"syncProgress": m61,
|
||||
"syncStopped":
|
||||
MessageLookupByLibrary.simpleMessage("Synchronisatie gestopt"),
|
||||
"syncing": MessageLookupByLibrary.simpleMessage("Synchroniseren..."),
|
||||
|
@ -1404,7 +1415,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"theseItemsWillBeDeletedFromYourDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Deze bestanden zullen worden verwijderd van uw apparaat."),
|
||||
"theyAlsoGetXGb": m60,
|
||||
"theyAlsoGetXGb": m62,
|
||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||
"Ze zullen uit alle albums worden verwijderd."),
|
||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1420,7 +1431,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Dit e-mailadres is al in gebruik"),
|
||||
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
||||
"Deze foto heeft geen exif gegevens"),
|
||||
"thisIsPersonVerificationId": m61,
|
||||
"thisIsPersonVerificationId": m63,
|
||||
"thisIsYourVerificationId":
|
||||
MessageLookupByLibrary.simpleMessage("Dit is uw verificatie-ID"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
|
@ -1437,7 +1448,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"total": MessageLookupByLibrary.simpleMessage("totaal"),
|
||||
"totalSize": MessageLookupByLibrary.simpleMessage("Totale grootte"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("Prullenbak"),
|
||||
"trashDaysLeft": m62,
|
||||
"trashDaysLeft": m64,
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Probeer opnieuw"),
|
||||
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
||||
"Schakel back-up in om bestanden die toegevoegd zijn aan deze map op dit apparaat automatisch te uploaden."),
|
||||
|
@ -1493,7 +1504,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"useSelectedPhoto":
|
||||
MessageLookupByLibrary.simpleMessage("Gebruik geselecteerde foto"),
|
||||
"usedSpace": MessageLookupByLibrary.simpleMessage("Gebruikte ruimte"),
|
||||
"validTill": m63,
|
||||
"validTill": m65,
|
||||
"verificationFailedPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Verificatie mislukt, probeer het opnieuw"),
|
||||
|
@ -1501,7 +1512,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Verificatie ID"),
|
||||
"verify": MessageLookupByLibrary.simpleMessage("Verifiëren"),
|
||||
"verifyEmail": MessageLookupByLibrary.simpleMessage("Bevestig e-mail"),
|
||||
"verifyEmailID": m64,
|
||||
"verifyEmailID": m66,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verifiëren"),
|
||||
"verifyPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Bevestig wachtwoord"),
|
||||
|
@ -1530,11 +1541,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"We ondersteunen het bewerken van foto\'s en albums waar je niet de eigenaar van bent nog niet"),
|
||||
"weHaveSendEmailTo": m65,
|
||||
"weHaveSendEmailTo": m67,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Zwak"),
|
||||
"welcomeBack": MessageLookupByLibrary.simpleMessage("Welkom terug!"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("Jaarlijks"),
|
||||
"yearsAgo": m66,
|
||||
"yearsAgo": m68,
|
||||
"yes": MessageLookupByLibrary.simpleMessage("Ja"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Ja, opzeggen"),
|
||||
"yesConvertToViewer":
|
||||
|
@ -1564,7 +1575,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Je kunt niet met jezelf delen"),
|
||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||
"U heeft geen gearchiveerde bestanden."),
|
||||
"youHaveSuccessfullyFreedUp": m67,
|
||||
"youHaveSuccessfullyFreedUp": m69,
|
||||
"yourAccountHasBeenDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Je account is verwijderd"),
|
||||
"yourMap": MessageLookupByLibrary.simpleMessage("Jouw kaart"),
|
||||
|
|
11
mobile/lib/generated/intl/messages_no.dart
generated
11
mobile/lib/generated/intl/messages_no.dart
generated
|
@ -20,12 +20,20 @@ typedef String MessageIfAbsent(String messageStr, List<dynamic> args);
|
|||
class MessageLookup extends MessageLookupByLibrary {
|
||||
String get localeName => 'no';
|
||||
|
||||
static String m0(count) =>
|
||||
"${Intl.plural(count, zero: 'Add collaborator', one: 'Add collaborator', other: 'Add collaborators')}";
|
||||
|
||||
static String m1(count) =>
|
||||
"${Intl.plural(count, zero: 'Add viewer', one: 'Add viewer', other: 'Add viewers')}";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
||||
"accountWelcomeBack":
|
||||
MessageLookupByLibrary.simpleMessage("Velkommen tilbake!"),
|
||||
"addCollaborators": m0,
|
||||
"addToHiddenAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Add to hidden album"),
|
||||
"addViewers": m1,
|
||||
"askDeleteReason": MessageLookupByLibrary.simpleMessage(
|
||||
"Hva er hovedårsaken til at du sletter kontoen din?"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("Avbryt"),
|
||||
|
@ -59,6 +67,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"kindlyHelpUsWithThisInformation": MessageLookupByLibrary.simpleMessage(
|
||||
"Vær vennlig og hjelp oss med denne informasjonen"),
|
||||
"locations": MessageLookupByLibrary.simpleMessage("Locations"),
|
||||
"longPressAnEmailToVerifyEndToEndEncryption":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Long press an email to verify end to end encryption."),
|
||||
"modifyYourQueryOrTrySearchingFor":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Modify your query, or try searching for"),
|
||||
|
|
15
mobile/lib/generated/intl/messages_pl.dart
generated
15
mobile/lib/generated/intl/messages_pl.dart
generated
|
@ -20,7 +20,13 @@ typedef String MessageIfAbsent(String messageStr, List<dynamic> args);
|
|||
class MessageLookup extends MessageLookupByLibrary {
|
||||
String get localeName => 'pl';
|
||||
|
||||
static String m34(passwordStrengthValue) =>
|
||||
static String m0(count) =>
|
||||
"${Intl.plural(count, zero: 'Add collaborator', one: 'Add collaborator', other: 'Add collaborators')}";
|
||||
|
||||
static String m1(count) =>
|
||||
"${Intl.plural(count, zero: 'Add viewer', one: 'Add viewer', other: 'Add viewers')}";
|
||||
|
||||
static String m36(passwordStrengthValue) =>
|
||||
"Siła hasła: ${passwordStrengthValue}";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
|
@ -28,8 +34,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"accountWelcomeBack":
|
||||
MessageLookupByLibrary.simpleMessage("Witaj ponownie!"),
|
||||
"activeSessions": MessageLookupByLibrary.simpleMessage("Aktywne sesje"),
|
||||
"addCollaborators": m0,
|
||||
"addToHiddenAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Add to hidden album"),
|
||||
"addViewers": m1,
|
||||
"askDeleteReason": MessageLookupByLibrary.simpleMessage(
|
||||
"Jaka jest przyczyna usunięcia konta?"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("Anuluj"),
|
||||
|
@ -119,6 +127,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Pomóż nam z tą informacją"),
|
||||
"locations": MessageLookupByLibrary.simpleMessage("Locations"),
|
||||
"logInLabel": MessageLookupByLibrary.simpleMessage("Zaloguj się"),
|
||||
"longPressAnEmailToVerifyEndToEndEncryption":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Long press an email to verify end to end encryption."),
|
||||
"moderateStrength": MessageLookupByLibrary.simpleMessage("Umiarkowana"),
|
||||
"modifyYourQueryOrTrySearchingFor":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -134,7 +145,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"password": MessageLookupByLibrary.simpleMessage("Hasło"),
|
||||
"passwordChangedSuccessfully": MessageLookupByLibrary.simpleMessage(
|
||||
"Hasło zostało pomyślnie zmienione"),
|
||||
"passwordStrength": m34,
|
||||
"passwordStrength": m36,
|
||||
"passwordWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Nie przechowujemy tego hasła, więc jeśli go zapomnisz, <underline>nie będziemy w stanie odszyfrować Twoich danych</underline>"),
|
||||
"pleaseTryAgain":
|
||||
|
|
291
mobile/lib/generated/intl/messages_pt.dart
generated
291
mobile/lib/generated/intl/messages_pt.dart
generated
|
@ -21,27 +21,33 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
String get localeName => 'pt';
|
||||
|
||||
static String m0(count) =>
|
||||
"${Intl.plural(count, zero: 'Add collaborator', one: 'Add collaborator', other: 'Add collaborators')}";
|
||||
|
||||
static String m2(count) =>
|
||||
"${Intl.plural(count, one: 'Adicionar item', other: 'Adicionar itens')}";
|
||||
|
||||
static String m1(storageAmount, endDate) =>
|
||||
static String m3(storageAmount, endDate) =>
|
||||
"Seu complemento ${storageAmount} é válido até o dia ${endDate}";
|
||||
|
||||
static String m2(emailOrName) => "Adicionado por ${emailOrName}";
|
||||
static String m1(count) =>
|
||||
"${Intl.plural(count, zero: 'Add viewer', one: 'Add viewer', other: 'Add viewers')}";
|
||||
|
||||
static String m3(albumName) => "Adicionado com sucesso a ${albumName}";
|
||||
static String m4(emailOrName) => "Adicionado por ${emailOrName}";
|
||||
|
||||
static String m4(count) =>
|
||||
static String m5(albumName) => "Adicionado com sucesso a ${albumName}";
|
||||
|
||||
static String m6(count) =>
|
||||
"${Intl.plural(count, zero: 'Nenhum Participante', one: '1 Participante', other: '${count} Participantes')}";
|
||||
|
||||
static String m5(versionValue) => "Versão: ${versionValue}";
|
||||
static String m7(versionValue) => "Versão: ${versionValue}";
|
||||
|
||||
static String m6(paymentProvider) =>
|
||||
static String m8(paymentProvider) =>
|
||||
"Por favor, cancele sua assinatura existente do ${paymentProvider} primeiro";
|
||||
|
||||
static String m7(user) =>
|
||||
static String m9(user) =>
|
||||
"${user} Não poderá adicionar mais fotos a este álbum\n\nEles ainda poderão remover as fotos existentes adicionadas por eles";
|
||||
|
||||
static String m8(isFamilyMember, storageAmountInGb) =>
|
||||
static String m10(isFamilyMember, storageAmountInGb) =>
|
||||
"${Intl.select(isFamilyMember, {
|
||||
'true':
|
||||
'Sua família reeinvindicou ${storageAmountInGb} GB até agora',
|
||||
|
@ -49,163 +55,163 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
'other': 'Você reeinvindicou ${storageAmountInGb} GB até agora',
|
||||
})}";
|
||||
|
||||
static String m9(albumName) => "Link colaborativo criado para ${albumName}";
|
||||
static String m11(albumName) => "Link colaborativo criado para ${albumName}";
|
||||
|
||||
static String m10(familyAdminEmail) =>
|
||||
static String m12(familyAdminEmail) =>
|
||||
"Entre em contato com <green>${familyAdminEmail}</green> para gerenciar sua assinatura";
|
||||
|
||||
static String m11(provider) =>
|
||||
static String m13(provider) =>
|
||||
"Entre em contato conosco pelo e-mail support@ente.io para gerenciar sua assinatura ${provider}.";
|
||||
|
||||
static String m12(count) =>
|
||||
static String m14(count) =>
|
||||
"${Intl.plural(count, one: 'Excluir ${count} item', other: 'Excluir ${count} itens')}";
|
||||
|
||||
static String m13(currentlyDeleting, totalCount) =>
|
||||
static String m15(currentlyDeleting, totalCount) =>
|
||||
"Excluindo ${currentlyDeleting} / ${totalCount}";
|
||||
|
||||
static String m14(albumName) =>
|
||||
static String m16(albumName) =>
|
||||
"Isso removerá o link público para acessar \"${albumName}\".";
|
||||
|
||||
static String m15(supportEmail) =>
|
||||
static String m17(supportEmail) =>
|
||||
"Por favor, envie um e-mail para ${supportEmail} a partir do seu endereço de e-mail registrado";
|
||||
|
||||
static String m16(count, storageSaved) =>
|
||||
static String m18(count, storageSaved) =>
|
||||
"Você limpou ${Intl.plural(count, one: '${count} arquivo duplicado', other: '${count} arquivos duplicados')}, salvando (${storageSaved}!)";
|
||||
|
||||
static String m17(count, formattedSize) =>
|
||||
static String m19(count, formattedSize) =>
|
||||
"${count} Arquivos, ${formattedSize} cada";
|
||||
|
||||
static String m18(newEmail) => "E-mail alterado para ${newEmail}";
|
||||
static String m20(newEmail) => "E-mail alterado para ${newEmail}";
|
||||
|
||||
static String m19(email) =>
|
||||
static String m21(email) =>
|
||||
"${email} Não possui uma conta Ente.\n\nEnvie um convite para compartilhar fotos.";
|
||||
|
||||
static String m20(count, formattedNumber) =>
|
||||
static String m22(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 arquivo', other: '${formattedNumber} arquivos')} neste dispositivo teve um backup seguro";
|
||||
|
||||
static String m21(count, formattedNumber) =>
|
||||
static String m23(count, formattedNumber) =>
|
||||
"${Intl.plural(count, one: '1 arquivo', other: '${formattedNumber} arquivos')} neste álbum teve um backup seguro";
|
||||
|
||||
static String m22(storageAmountInGB) =>
|
||||
static String m24(storageAmountInGB) =>
|
||||
"${storageAmountInGB} GB cada vez que alguém se inscrever para um plano pago e aplica o seu código";
|
||||
|
||||
static String m23(freeAmount, storageUnit) =>
|
||||
static String m25(freeAmount, storageUnit) =>
|
||||
"${freeAmount} ${storageUnit} grátis";
|
||||
|
||||
static String m24(endDate) => "Teste gratuito acaba em ${endDate}";
|
||||
static String m26(endDate) => "Teste gratuito acaba em ${endDate}";
|
||||
|
||||
static String m25(count) =>
|
||||
static String m27(count) =>
|
||||
"Você ainda pode acessar ${Intl.plural(count, one: 'ele', other: 'eles')} no ente contanto que você tenha uma assinatura ativa";
|
||||
|
||||
static String m26(sizeInMBorGB) => "Liberar ${sizeInMBorGB}";
|
||||
static String m28(sizeInMBorGB) => "Liberar ${sizeInMBorGB}";
|
||||
|
||||
static String m27(count, formattedSize) =>
|
||||
static String m29(count, formattedSize) =>
|
||||
"${Intl.plural(count, one: 'Pode ser excluído do dispositivo para liberar ${formattedSize}', other: 'Eles podem ser excluídos do dispositivo para liberar ${formattedSize}')}";
|
||||
|
||||
static String m28(currentlyProcessing, totalCount) =>
|
||||
static String m30(currentlyProcessing, totalCount) =>
|
||||
"Processando ${currentlyProcessing} / ${totalCount}";
|
||||
|
||||
static String m29(count) =>
|
||||
static String m31(count) =>
|
||||
"${Intl.plural(count, one: '${count} item', other: '${count} items')}";
|
||||
|
||||
static String m30(expiryTime) => "O link irá expirar em ${expiryTime}";
|
||||
static String m32(expiryTime) => "O link irá expirar em ${expiryTime}";
|
||||
|
||||
static String m31(count, formattedCount) =>
|
||||
static String m33(count, formattedCount) =>
|
||||
"${Intl.plural(count, zero: 'no memories', one: '${formattedCount} memory', other: '${formattedCount} memories')}";
|
||||
|
||||
static String m32(count) =>
|
||||
static String m34(count) =>
|
||||
"${Intl.plural(count, one: 'Mover item', other: 'Mover itens')}";
|
||||
|
||||
static String m33(albumName) => "Movido com sucesso para ${albumName}";
|
||||
static String m35(albumName) => "Movido com sucesso para ${albumName}";
|
||||
|
||||
static String m34(passwordStrengthValue) =>
|
||||
static String m36(passwordStrengthValue) =>
|
||||
"Segurança da senha: ${passwordStrengthValue}";
|
||||
|
||||
static String m35(providerName) =>
|
||||
static String m37(providerName) =>
|
||||
"Por favor, fale com o suporte ${providerName} se você foi cobrado";
|
||||
|
||||
static String m36(reason) =>
|
||||
static String m38(reason) =>
|
||||
"Infelizmente o seu pagamento falhou devido a ${reason}";
|
||||
|
||||
static String m37(endDate) =>
|
||||
static String m39(endDate) =>
|
||||
"Teste gratuito válido até ${endDate}.\nVocê pode escolher um plano pago depois.";
|
||||
|
||||
static String m38(toEmail) =>
|
||||
static String m40(toEmail) =>
|
||||
"Por favor, envie-nos um e-mail para ${toEmail}";
|
||||
|
||||
static String m39(toEmail) => "Por favor, envie os logs para \n${toEmail}";
|
||||
static String m41(toEmail) => "Por favor, envie os logs para \n${toEmail}";
|
||||
|
||||
static String m40(storeName) => "Avalie-nos em ${storeName}";
|
||||
static String m42(storeName) => "Avalie-nos em ${storeName}";
|
||||
|
||||
static String m41(storageInGB) => "3. Ambos ganham ${storageInGB} GB* grátis";
|
||||
static String m43(storageInGB) => "3. Ambos ganham ${storageInGB} GB* grátis";
|
||||
|
||||
static String m42(userEmail) =>
|
||||
static String m44(userEmail) =>
|
||||
"${userEmail} será removido deste álbum compartilhado\n\nQuaisquer fotos adicionadas por eles também serão removidas do álbum";
|
||||
|
||||
static String m43(endDate) => "Renovação de assinatura em ${endDate}";
|
||||
static String m45(endDate) => "Renovação de assinatura em ${endDate}";
|
||||
|
||||
static String m44(count) =>
|
||||
static String m46(count) =>
|
||||
"${Intl.plural(count, one: '${count} resultado encontrado', other: '${count} resultado encontrado')}";
|
||||
|
||||
static String m45(count) => "${count} Selecionados";
|
||||
static String m47(count) => "${count} Selecionados";
|
||||
|
||||
static String m46(count, yourCount) =>
|
||||
static String m48(count, yourCount) =>
|
||||
"${count} Selecionado (${yourCount} seus)";
|
||||
|
||||
static String m47(verificationID) =>
|
||||
static String m49(verificationID) =>
|
||||
"Aqui está meu ID de verificação para o Ente.io: ${verificationID}";
|
||||
|
||||
static String m48(verificationID) =>
|
||||
static String m50(verificationID) =>
|
||||
"Ei, você pode confirmar que este é seu ID de verificação do Ente.io? ${verificationID}";
|
||||
|
||||
static String m49(referralCode, referralStorageInGB) =>
|
||||
static String m51(referralCode, referralStorageInGB) =>
|
||||
"Código de referência do ente: ${referralCode} \n\nAplique em Configurações → Geral → Indicações para obter ${referralStorageInGB} GB gratuitamente após a sua inscrição em um plano pago\n\nhttps://ente.io";
|
||||
|
||||
static String m50(numberOfPeople) =>
|
||||
static String m52(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: 'Compartilhe com pessoas específicas', one: 'Compartilhado com 1 pessoa', other: 'Compartilhado com ${numberOfPeople} pessoas')}";
|
||||
|
||||
static String m51(emailIDs) => "Compartilhado com ${emailIDs}";
|
||||
static String m53(emailIDs) => "Compartilhado com ${emailIDs}";
|
||||
|
||||
static String m52(fileType) =>
|
||||
static String m54(fileType) =>
|
||||
"Este ${fileType} será excluído do seu dispositivo.";
|
||||
|
||||
static String m53(fileType) =>
|
||||
static String m55(fileType) =>
|
||||
"Este ${fileType} está em ente e no seu dispositivo.";
|
||||
|
||||
static String m54(fileType) => "Este ${fileType} será excluído do ente.";
|
||||
static String m56(fileType) => "Este ${fileType} será excluído do ente.";
|
||||
|
||||
static String m55(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
static String m57(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
|
||||
static String m56(
|
||||
static String m58(
|
||||
usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) =>
|
||||
"${usedAmount} ${usedStorageUnit} de ${totalAmount} ${totalStorageUnit} usado";
|
||||
|
||||
static String m57(id) =>
|
||||
static String m59(id) =>
|
||||
"Seu ${id} já está vinculado a outra conta ente.\nSe você gostaria de usar seu ${id} com esta conta, por favor contate nosso suporte\'\'";
|
||||
|
||||
static String m58(endDate) => "Sua assinatura será cancelada em ${endDate}";
|
||||
static String m60(endDate) => "Sua assinatura será cancelada em ${endDate}";
|
||||
|
||||
static String m59(completed, total) =>
|
||||
static String m61(completed, total) =>
|
||||
"${completed}/${total} memórias preservadas";
|
||||
|
||||
static String m60(storageAmountInGB) =>
|
||||
static String m62(storageAmountInGB) =>
|
||||
"Eles também recebem ${storageAmountInGB} GB";
|
||||
|
||||
static String m61(email) => "Este é o ID de verificação de ${email}";
|
||||
static String m63(email) => "Este é o ID de verificação de ${email}";
|
||||
|
||||
static String m62(count) =>
|
||||
static String m64(count) =>
|
||||
"${Intl.plural(count, zero: '', one: '1 dia', other: '${count} dias')}";
|
||||
|
||||
static String m63(endDate) => "Válido até ${endDate}";
|
||||
static String m65(endDate) => "Válido até ${endDate}";
|
||||
|
||||
static String m64(email) => "Verificar ${email}";
|
||||
static String m66(email) => "Verificar ${email}";
|
||||
|
||||
static String m65(email) => "Enviamos um e-mail à <green>${email}</green>";
|
||||
static String m67(email) => "Enviamos um e-mail à <green>${email}</green>";
|
||||
|
||||
static String m66(count) =>
|
||||
static String m68(count) =>
|
||||
"${Intl.plural(count, one: '${count} anos atrás', other: '${count} anos atrás')}";
|
||||
|
||||
static String m67(storageSaved) =>
|
||||
static String m69(storageSaved) =>
|
||||
"Você liberou ${storageSaved} com sucesso!";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
|
@ -224,16 +230,17 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Adicionar um novo email"),
|
||||
"addCollaborator":
|
||||
MessageLookupByLibrary.simpleMessage("Adicionar colaborador"),
|
||||
"addCollaborators": m0,
|
||||
"addFromDevice": MessageLookupByLibrary.simpleMessage(
|
||||
"Adicionar a partir do dispositivo"),
|
||||
"addItem": m0,
|
||||
"addItem": m2,
|
||||
"addLocation": MessageLookupByLibrary.simpleMessage("Adicionar local"),
|
||||
"addLocationButton": MessageLookupByLibrary.simpleMessage("Adicionar"),
|
||||
"addMore": MessageLookupByLibrary.simpleMessage("Adicione mais"),
|
||||
"addNew": MessageLookupByLibrary.simpleMessage("Adicionar novo"),
|
||||
"addOnPageSubtitle":
|
||||
MessageLookupByLibrary.simpleMessage("Detalhes dos complementos"),
|
||||
"addOnValidTill": m1,
|
||||
"addOnValidTill": m3,
|
||||
"addOns": MessageLookupByLibrary.simpleMessage("Complementos"),
|
||||
"addPhotos": MessageLookupByLibrary.simpleMessage("Adicionar fotos"),
|
||||
"addSelected":
|
||||
|
@ -245,11 +252,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Adicionar a álbum oculto"),
|
||||
"addViewer":
|
||||
MessageLookupByLibrary.simpleMessage("Adicionar visualizador"),
|
||||
"addViewers": m1,
|
||||
"addYourPhotosNow":
|
||||
MessageLookupByLibrary.simpleMessage("Adicione suas fotos agora"),
|
||||
"addedAs": MessageLookupByLibrary.simpleMessage("Adicionado como"),
|
||||
"addedBy": m2,
|
||||
"addedSuccessfullyTo": m3,
|
||||
"addedBy": m4,
|
||||
"addedSuccessfullyTo": m5,
|
||||
"addingToFavorites": MessageLookupByLibrary.simpleMessage(
|
||||
"Adicionando aos favoritos..."),
|
||||
"advanced": MessageLookupByLibrary.simpleMessage("Avançado"),
|
||||
|
@ -260,7 +268,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"after1Week": MessageLookupByLibrary.simpleMessage("Após 1 semana"),
|
||||
"after1Year": MessageLookupByLibrary.simpleMessage("Após 1 ano"),
|
||||
"albumOwner": MessageLookupByLibrary.simpleMessage("Proprietário"),
|
||||
"albumParticipantsCount": m4,
|
||||
"albumParticipantsCount": m6,
|
||||
"albumTitle": MessageLookupByLibrary.simpleMessage("Título do álbum"),
|
||||
"albumUpdated":
|
||||
MessageLookupByLibrary.simpleMessage("Álbum atualizado"),
|
||||
|
@ -297,7 +305,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Android, iOS, Web, Desktop"),
|
||||
"androidSignInTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Autenticação necessária"),
|
||||
"appVersion": m5,
|
||||
"appVersion": m7,
|
||||
"appleId": MessageLookupByLibrary.simpleMessage("ID da Apple"),
|
||||
"apply": MessageLookupByLibrary.simpleMessage("Aplicar"),
|
||||
"applyCodeTitle":
|
||||
|
@ -384,10 +392,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"canOnlyRemoveFilesOwnedByYou": MessageLookupByLibrary.simpleMessage(
|
||||
"Só é possível remover arquivos de sua propriedade"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("Cancelar"),
|
||||
"cancelOtherSubscription": m6,
|
||||
"cancelOtherSubscription": m8,
|
||||
"cancelSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Cancelar assinatura"),
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m7,
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m9,
|
||||
"cannotDeleteSharedFiles": MessageLookupByLibrary.simpleMessage(
|
||||
"Não é possível excluir arquivos compartilhados"),
|
||||
"castInstruction": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -411,9 +419,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Reivindicar armazenamento gratuito"),
|
||||
"claimMore": MessageLookupByLibrary.simpleMessage("Reivindique mais!"),
|
||||
"claimed": MessageLookupByLibrary.simpleMessage("Reivindicado"),
|
||||
"claimedStorageSoFar": m8,
|
||||
"claimedStorageSoFar": m10,
|
||||
"cleanUncategorized":
|
||||
MessageLookupByLibrary.simpleMessage("Limpar Sem Categoria"),
|
||||
"cleanUncategorizedDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Remover todos os arquivos de Não Categorizados que estão presentes em outros álbuns"),
|
||||
"clearCaches": MessageLookupByLibrary.simpleMessage("Limpar cache"),
|
||||
"clearIndexes": MessageLookupByLibrary.simpleMessage("Limpar índices"),
|
||||
"click": MessageLookupByLibrary.simpleMessage("Clique"),
|
||||
|
@ -434,7 +444,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Crie um link para permitir pessoas adicionar e ver fotos no seu álbum compartilhado sem a necessidade do aplicativo ou uma conta Ente. Ótimo para colecionar fotos de eventos."),
|
||||
"collaborativeLink":
|
||||
MessageLookupByLibrary.simpleMessage("Link Colaborativo"),
|
||||
"collaborativeLinkCreatedFor": m9,
|
||||
"collaborativeLinkCreatedFor": m11,
|
||||
"collaborator": MessageLookupByLibrary.simpleMessage("Colaborador"),
|
||||
"collaboratorsCanAddPhotosAndVideosToTheSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -461,10 +471,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Confirme a chave de recuperação"),
|
||||
"confirmYourRecoveryKey": MessageLookupByLibrary.simpleMessage(
|
||||
"Confirme sua chave de recuperação"),
|
||||
"contactFamilyAdmin": m10,
|
||||
"contactFamilyAdmin": m12,
|
||||
"contactSupport":
|
||||
MessageLookupByLibrary.simpleMessage("Contate o suporte"),
|
||||
"contactToManageSubscription": m11,
|
||||
"contactToManageSubscription": m13,
|
||||
"contacts": MessageLookupByLibrary.simpleMessage("Contatos"),
|
||||
"contents": MessageLookupByLibrary.simpleMessage("Conteúdos"),
|
||||
"continueLabel": MessageLookupByLibrary.simpleMessage("Continuar"),
|
||||
|
@ -540,10 +550,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Excluir do dispositivo"),
|
||||
"deleteFromEnte":
|
||||
MessageLookupByLibrary.simpleMessage("Excluir do ente"),
|
||||
"deleteItemCount": m12,
|
||||
"deleteItemCount": m14,
|
||||
"deleteLocation": MessageLookupByLibrary.simpleMessage("Excluir Local"),
|
||||
"deletePhotos": MessageLookupByLibrary.simpleMessage("Excluir fotos"),
|
||||
"deleteProgress": m13,
|
||||
"deleteProgress": m15,
|
||||
"deleteReason1": MessageLookupByLibrary.simpleMessage(
|
||||
"Está faltando um recurso-chave que eu preciso"),
|
||||
"deleteReason2": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -558,7 +568,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Excluir álbum compartilhado?"),
|
||||
"deleteSharedAlbumDialogBody": MessageLookupByLibrary.simpleMessage(
|
||||
"O álbum será apagado para todos\n\nVocê perderá o acesso a fotos compartilhadas neste álbum que pertencem aos outros"),
|
||||
"descriptions": MessageLookupByLibrary.simpleMessage("Descriptions"),
|
||||
"descriptions": MessageLookupByLibrary.simpleMessage("Descrições"),
|
||||
"deselectAll": MessageLookupByLibrary.simpleMessage("Desmarcar todos"),
|
||||
"designedToOutlive":
|
||||
MessageLookupByLibrary.simpleMessage("Feito para ter logenvidade"),
|
||||
|
@ -580,7 +590,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Os espectadores ainda podem tirar screenshots ou salvar uma cópia de suas fotos usando ferramentas externas"),
|
||||
"disableDownloadWarningTitle":
|
||||
MessageLookupByLibrary.simpleMessage("Observe"),
|
||||
"disableLinkMessage": m14,
|
||||
"disableLinkMessage": m16,
|
||||
"disableTwofactor": MessageLookupByLibrary.simpleMessage(
|
||||
"Desativar autenticação de dois fatores"),
|
||||
"disablingTwofactorAuthentication":
|
||||
|
@ -603,9 +613,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"downloadFailed":
|
||||
MessageLookupByLibrary.simpleMessage("Falha ao baixar"),
|
||||
"downloading": MessageLookupByLibrary.simpleMessage("Baixando..."),
|
||||
"dropSupportEmail": m15,
|
||||
"duplicateFileCountWithStorageSaved": m16,
|
||||
"duplicateItemsGroup": m17,
|
||||
"dropSupportEmail": m17,
|
||||
"duplicateFileCountWithStorageSaved": m18,
|
||||
"duplicateItemsGroup": m19,
|
||||
"edit": MessageLookupByLibrary.simpleMessage("Editar"),
|
||||
"editLocation": MessageLookupByLibrary.simpleMessage("Editar local"),
|
||||
"editLocationTagTitle":
|
||||
|
@ -616,8 +626,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Edições para local só serão vistas dentro do Ente"),
|
||||
"eligible": MessageLookupByLibrary.simpleMessage("elegível"),
|
||||
"email": MessageLookupByLibrary.simpleMessage("E-mail"),
|
||||
"emailChangedTo": m18,
|
||||
"emailNoEnteAccount": m19,
|
||||
"emailChangedTo": m20,
|
||||
"emailNoEnteAccount": m21,
|
||||
"emailVerificationToggle":
|
||||
MessageLookupByLibrary.simpleMessage("Verificação de e-mail"),
|
||||
"emailYourLogs":
|
||||
|
@ -716,8 +726,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"fileTypes": MessageLookupByLibrary.simpleMessage("Tipos de arquivo"),
|
||||
"fileTypesAndNames":
|
||||
MessageLookupByLibrary.simpleMessage("Tipos de arquivo e nomes"),
|
||||
"filesBackedUpFromDevice": m20,
|
||||
"filesBackedUpInAlbum": m21,
|
||||
"filesBackedUpFromDevice": m22,
|
||||
"filesBackedUpInAlbum": m23,
|
||||
"filesDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Arquivos excluídos"),
|
||||
"flip": MessageLookupByLibrary.simpleMessage("Inverter"),
|
||||
|
@ -727,24 +737,24 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Esqueceu sua senha"),
|
||||
"freeStorageClaimed": MessageLookupByLibrary.simpleMessage(
|
||||
"Armazenamento gratuito reivindicado"),
|
||||
"freeStorageOnReferralSuccess": m22,
|
||||
"freeStorageSpace": m23,
|
||||
"freeStorageOnReferralSuccess": m24,
|
||||
"freeStorageSpace": m25,
|
||||
"freeStorageUsable": MessageLookupByLibrary.simpleMessage(
|
||||
"Armazenamento livre utilizável"),
|
||||
"freeTrial": MessageLookupByLibrary.simpleMessage("Teste gratuito"),
|
||||
"freeTrialValidTill": m24,
|
||||
"freeUpAccessPostDelete": m25,
|
||||
"freeUpAmount": m26,
|
||||
"freeTrialValidTill": m26,
|
||||
"freeUpAccessPostDelete": m27,
|
||||
"freeUpAmount": m28,
|
||||
"freeUpDeviceSpace": MessageLookupByLibrary.simpleMessage(
|
||||
"Liberar espaço no dispositivo"),
|
||||
"freeUpSpace": MessageLookupByLibrary.simpleMessage("Liberar espaço"),
|
||||
"freeUpSpaceSaving": m27,
|
||||
"freeUpSpaceSaving": m29,
|
||||
"galleryMemoryLimitInfo": MessageLookupByLibrary.simpleMessage(
|
||||
"Até 1000 memórias mostradas na galeria"),
|
||||
"general": MessageLookupByLibrary.simpleMessage("Geral"),
|
||||
"generatingEncryptionKeys": MessageLookupByLibrary.simpleMessage(
|
||||
"Gerando chaves de criptografia..."),
|
||||
"genericProgress": m28,
|
||||
"genericProgress": m30,
|
||||
"goToSettings":
|
||||
MessageLookupByLibrary.simpleMessage("Ir para Configurações"),
|
||||
"googlePlayId":
|
||||
|
@ -806,7 +816,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Parece que algo deu errado. Por favor, tente novamente mais tarde. Se o erro persistir, entre em contato com nossa equipe de suporte."),
|
||||
"itemCount": m29,
|
||||
"itemCount": m31,
|
||||
"itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Os itens mostram o número de dias restantes antes da exclusão permanente"),
|
||||
|
@ -834,7 +844,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Limite do dispositivo"),
|
||||
"linkEnabled": MessageLookupByLibrary.simpleMessage("Ativado"),
|
||||
"linkExpired": MessageLookupByLibrary.simpleMessage("Expirado"),
|
||||
"linkExpiresOn": m30,
|
||||
"linkExpiresOn": m32,
|
||||
"linkExpiry": MessageLookupByLibrary.simpleMessage("Expiração do link"),
|
||||
"linkHasExpired":
|
||||
MessageLookupByLibrary.simpleMessage("O link expirou"),
|
||||
|
@ -872,7 +882,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"locationName": MessageLookupByLibrary.simpleMessage("Nome do Local"),
|
||||
"locationTagFeatureDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Uma tag em grupo de todas as fotos que foram tiradas dentro de algum raio de uma foto"),
|
||||
"locations": MessageLookupByLibrary.simpleMessage("Locations"),
|
||||
"locations": MessageLookupByLibrary.simpleMessage("Locais"),
|
||||
"lockButtonLabel": MessageLookupByLibrary.simpleMessage("Bloquear"),
|
||||
"lockScreenEnablePreSteps": MessageLookupByLibrary.simpleMessage(
|
||||
"Para ativar o bloqueio de tela, por favor ative um método de autenticação nas configurações do sistema do seu dispositivo."),
|
||||
|
@ -884,6 +894,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"logout": MessageLookupByLibrary.simpleMessage("Encerrar sessão"),
|
||||
"logsDialogBody": MessageLookupByLibrary.simpleMessage(
|
||||
"Isso enviará através dos logs para nos ajudar a depurar o seu problema. Por favor, note que nomes de arquivos serão incluídos para ajudar a rastrear problemas com arquivos específicos."),
|
||||
"longPressAnEmailToVerifyEndToEndEncryption":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Long press an email to verify end to end encryption."),
|
||||
"longpressOnAnItemToViewInFullscreen":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Pressione e segure em um item para exibir em tela cheia"),
|
||||
|
@ -907,7 +920,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"maps": MessageLookupByLibrary.simpleMessage("Mapas"),
|
||||
"mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"),
|
||||
"matrix": MessageLookupByLibrary.simpleMessage("Matrix"),
|
||||
"memoryCount": m31,
|
||||
"memoryCount": m33,
|
||||
"merchandise": MessageLookupByLibrary.simpleMessage("Produtos"),
|
||||
"mobileWebDesktop":
|
||||
MessageLookupByLibrary.simpleMessage("Mobile, Web, Desktop"),
|
||||
|
@ -917,11 +930,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Modifique sua consulta ou tente procurar por"),
|
||||
"moments": MessageLookupByLibrary.simpleMessage("Momentos"),
|
||||
"monthly": MessageLookupByLibrary.simpleMessage("Mensal"),
|
||||
"moveItem": m32,
|
||||
"moveItem": m34,
|
||||
"moveToAlbum": MessageLookupByLibrary.simpleMessage("Mover para álbum"),
|
||||
"moveToHiddenAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("Mover para álbum oculto"),
|
||||
"movedSuccessfullyTo": m33,
|
||||
"movedSuccessfullyTo": m35,
|
||||
"movedToTrash":
|
||||
MessageLookupByLibrary.simpleMessage("Movido para a lixeira"),
|
||||
"movingFilesToAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -994,15 +1007,15 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Senha alterada com sucesso"),
|
||||
"passwordLock":
|
||||
MessageLookupByLibrary.simpleMessage("Bloqueio de senha"),
|
||||
"passwordStrength": m34,
|
||||
"passwordStrength": m36,
|
||||
"passwordWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"Nós não salvamos essa senha, se você esquecer <underline> nós não poderemos descriptografar seus dados</underline>"),
|
||||
"paymentDetails":
|
||||
MessageLookupByLibrary.simpleMessage("Detalhes de pagamento"),
|
||||
"paymentFailed":
|
||||
MessageLookupByLibrary.simpleMessage("Falha no pagamento"),
|
||||
"paymentFailedTalkToProvider": m35,
|
||||
"paymentFailedWithReason": m36,
|
||||
"paymentFailedTalkToProvider": m37,
|
||||
"paymentFailedWithReason": m38,
|
||||
"pendingItems": MessageLookupByLibrary.simpleMessage("Itens pendentes"),
|
||||
"pendingSync":
|
||||
MessageLookupByLibrary.simpleMessage("Sincronização pendente"),
|
||||
|
@ -1028,7 +1041,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"pinAlbum": MessageLookupByLibrary.simpleMessage("Fixar álbum"),
|
||||
"playOnTv":
|
||||
MessageLookupByLibrary.simpleMessage("Reproduzir álbum na TV"),
|
||||
"playStoreFreeTrialValidTill": m37,
|
||||
"playStoreFreeTrialValidTill": m39,
|
||||
"playstoreSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Assinatura da PlayStore"),
|
||||
"pleaseCheckYourInternetConnectionAndTryAgain":
|
||||
|
@ -1040,12 +1053,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"pleaseContactSupportIfTheProblemPersists":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Por favor, contate o suporte se o problema persistir"),
|
||||
"pleaseEmailUsAt": m38,
|
||||
"pleaseEmailUsAt": m40,
|
||||
"pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage(
|
||||
"Por favor, conceda as permissões"),
|
||||
"pleaseLoginAgain": MessageLookupByLibrary.simpleMessage(
|
||||
"Por favor, faça login novamente"),
|
||||
"pleaseSendTheLogsTo": m39,
|
||||
"pleaseSendTheLogsTo": m41,
|
||||
"pleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("Por favor, tente novamente"),
|
||||
"pleaseVerifyTheCodeYouHaveEntered":
|
||||
|
@ -1082,7 +1095,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"rateTheApp":
|
||||
MessageLookupByLibrary.simpleMessage("Avalie o aplicativo"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("Avalie-nos"),
|
||||
"rateUsOnStore": m40,
|
||||
"rateUsOnStore": m42,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("Recuperar"),
|
||||
"recoverAccount":
|
||||
MessageLookupByLibrary.simpleMessage("Recuperar conta"),
|
||||
|
@ -1114,7 +1127,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Envie esse código aos seus amigos"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage(
|
||||
"2. Eles se inscreveram para um plano pago"),
|
||||
"referralStep3": m41,
|
||||
"referralStep3": m43,
|
||||
"referrals": MessageLookupByLibrary.simpleMessage("Indicações"),
|
||||
"referralsAreCurrentlyPaused": MessageLookupByLibrary.simpleMessage(
|
||||
"Referências estão atualmente pausadas"),
|
||||
|
@ -1138,7 +1151,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"removeLink": MessageLookupByLibrary.simpleMessage("Remover link"),
|
||||
"removeParticipant":
|
||||
MessageLookupByLibrary.simpleMessage("Remover participante"),
|
||||
"removeParticipantBody": m42,
|
||||
"removeParticipantBody": m44,
|
||||
"removePublicLink":
|
||||
MessageLookupByLibrary.simpleMessage("Remover link público"),
|
||||
"removeShareItemsWarning": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1152,7 +1165,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"renameFile": MessageLookupByLibrary.simpleMessage("Renomear arquivo"),
|
||||
"renewSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("Renovar assinatura"),
|
||||
"renewsOn": m43,
|
||||
"renewsOn": m45,
|
||||
"reportABug":
|
||||
MessageLookupByLibrary.simpleMessage("Reportar um problema"),
|
||||
"reportBug":
|
||||
|
@ -1217,7 +1230,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Fotos de grupo que estão sendo tiradas em algum raio da foto"),
|
||||
"searchPeopleEmptySection": MessageLookupByLibrary.simpleMessage(
|
||||
"Convide pessoas e você verá todas as fotos compartilhadas por elas aqui"),
|
||||
"searchResultCount": m44,
|
||||
"searchResultCount": m46,
|
||||
"security": MessageLookupByLibrary.simpleMessage("Segurança"),
|
||||
"selectALocation":
|
||||
MessageLookupByLibrary.simpleMessage("Selecionar um local"),
|
||||
|
@ -1245,8 +1258,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Os itens selecionados serão excluídos de todos os álbuns e movidos para o lixo."),
|
||||
"selectedPhotos": m45,
|
||||
"selectedPhotosWithYours": m46,
|
||||
"selectedPhotos": m47,
|
||||
"selectedPhotosWithYours": m48,
|
||||
"send": MessageLookupByLibrary.simpleMessage("Enviar"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("Enviar e-mail"),
|
||||
"sendInvite": MessageLookupByLibrary.simpleMessage("Enviar convite"),
|
||||
|
@ -1270,16 +1283,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"shareAnAlbumNow":
|
||||
MessageLookupByLibrary.simpleMessage("Compartilhar um álbum agora"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("Compartilhar link"),
|
||||
"shareMyVerificationID": m47,
|
||||
"shareMyVerificationID": m49,
|
||||
"shareOnlyWithThePeopleYouWant": MessageLookupByLibrary.simpleMessage(
|
||||
"Compartilhar apenas com as pessoas que você quiser"),
|
||||
"shareTextConfirmOthersVerificationID": m48,
|
||||
"shareTextConfirmOthersVerificationID": m50,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"Baixe o Ente para podermos compartilhar facilmente fotos e vídeos de alta qualidade\n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m49,
|
||||
"shareTextReferralCode": m51,
|
||||
"shareWithNonenteUsers": MessageLookupByLibrary.simpleMessage(
|
||||
"Compartilhar com usuários não-Ente"),
|
||||
"shareWithPeopleSectionTitle": m50,
|
||||
"shareWithPeopleSectionTitle": m52,
|
||||
"shareYourFirstAlbum": MessageLookupByLibrary.simpleMessage(
|
||||
"Compartilhar seu primeiro álbum"),
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1292,7 +1305,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Novas fotos compartilhadas"),
|
||||
"sharedPhotoNotificationsExplanation": MessageLookupByLibrary.simpleMessage(
|
||||
"Receber notificações quando alguém adicionar uma foto em um álbum compartilhado que você faz parte"),
|
||||
"sharedWith": m51,
|
||||
"sharedWith": m53,
|
||||
"sharedWithMe":
|
||||
MessageLookupByLibrary.simpleMessage("Compartilhado comigo"),
|
||||
"sharedWithYou":
|
||||
|
@ -1308,11 +1321,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Terminar sessão em outros dispositivos"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"Eu concordo com os <u-terms>termos de serviço</u-terms> e a <u-policy>política de privacidade</u-policy>"),
|
||||
"singleFileDeleteFromDevice": m52,
|
||||
"singleFileDeleteFromDevice": m54,
|
||||
"singleFileDeleteHighlight": MessageLookupByLibrary.simpleMessage(
|
||||
"Ele será excluído de todos os álbuns."),
|
||||
"singleFileInBothLocalAndRemote": m53,
|
||||
"singleFileInRemoteOnly": m54,
|
||||
"singleFileInBothLocalAndRemote": m55,
|
||||
"singleFileInRemoteOnly": m56,
|
||||
"skip": MessageLookupByLibrary.simpleMessage("Pular"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("Redes sociais"),
|
||||
"someItemsAreInBothEnteAndYourDevice":
|
||||
|
@ -1353,13 +1366,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"storage": MessageLookupByLibrary.simpleMessage("Armazenamento"),
|
||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("Família"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("Você"),
|
||||
"storageInGB": m55,
|
||||
"storageInGB": m57,
|
||||
"storageLimitExceeded": MessageLookupByLibrary.simpleMessage(
|
||||
"Limite de armazenamento excedido"),
|
||||
"storageUsageInfo": m56,
|
||||
"storageUsageInfo": m58,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("Forte"),
|
||||
"subAlreadyLinkedErrMessage": m57,
|
||||
"subWillBeCancelledOn": m58,
|
||||
"subAlreadyLinkedErrMessage": m59,
|
||||
"subWillBeCancelledOn": m60,
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("Assinar"),
|
||||
"subscribeToEnableSharing": MessageLookupByLibrary.simpleMessage(
|
||||
"Parece que sua assinatura expirou. Por favor inscreva-se para ativar o compartilhamento."),
|
||||
|
@ -1376,7 +1389,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"suggestFeatures":
|
||||
MessageLookupByLibrary.simpleMessage("Sugerir funcionalidades"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("Suporte"),
|
||||
"syncProgress": m59,
|
||||
"syncProgress": m61,
|
||||
"syncStopped":
|
||||
MessageLookupByLibrary.simpleMessage("Sincronização interrompida"),
|
||||
"syncing": MessageLookupByLibrary.simpleMessage("Sincronizando..."),
|
||||
|
@ -1403,7 +1416,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"theseItemsWillBeDeletedFromYourDevice":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Estes itens serão excluídos do seu dispositivo."),
|
||||
"theyAlsoGetXGb": m60,
|
||||
"theyAlsoGetXGb": m62,
|
||||
"theyWillBeDeletedFromAllAlbums": MessageLookupByLibrary.simpleMessage(
|
||||
"Ele será excluído de todos os álbuns."),
|
||||
"thisActionCannotBeUndone": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1419,7 +1432,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("Este e-mail já está em uso"),
|
||||
"thisImageHasNoExifData": MessageLookupByLibrary.simpleMessage(
|
||||
"Esta imagem não tem dados exif"),
|
||||
"thisIsPersonVerificationId": m61,
|
||||
"thisIsPersonVerificationId": m63,
|
||||
"thisIsYourVerificationId": MessageLookupByLibrary.simpleMessage(
|
||||
"Este é o seu ID de verificação"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
|
@ -1435,7 +1448,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"total": MessageLookupByLibrary.simpleMessage("total"),
|
||||
"totalSize": MessageLookupByLibrary.simpleMessage("Tamanho total"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("Lixeira"),
|
||||
"trashDaysLeft": m62,
|
||||
"trashDaysLeft": m64,
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("Tente novamente"),
|
||||
"turnOnBackupForAutoUpload": MessageLookupByLibrary.simpleMessage(
|
||||
"Ative o backup para enviar automaticamente arquivos adicionados a esta pasta do dispositivo para o ente."),
|
||||
|
@ -1488,7 +1501,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"useSelectedPhoto":
|
||||
MessageLookupByLibrary.simpleMessage("Utilizar foto selecionada"),
|
||||
"usedSpace": MessageLookupByLibrary.simpleMessage("Espaço em uso"),
|
||||
"validTill": m63,
|
||||
"validTill": m65,
|
||||
"verificationFailedPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Falha na verificação, por favor, tente novamente"),
|
||||
|
@ -1496,8 +1509,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("ID de Verificação"),
|
||||
"verify": MessageLookupByLibrary.simpleMessage("Verificar"),
|
||||
"verifyEmail": MessageLookupByLibrary.simpleMessage("Verificar email"),
|
||||
"verifyEmailID": m64,
|
||||
"verifyEmailID": m66,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("Verificar"),
|
||||
"verifyPasskey":
|
||||
MessageLookupByLibrary.simpleMessage("Verificar chave de acesso"),
|
||||
"verifyPassword":
|
||||
MessageLookupByLibrary.simpleMessage("Verificar senha"),
|
||||
"verifying": MessageLookupByLibrary.simpleMessage("Verificando..."),
|
||||
|
@ -1518,6 +1533,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"viewer": MessageLookupByLibrary.simpleMessage("Visualizador"),
|
||||
"visitWebToManage": MessageLookupByLibrary.simpleMessage(
|
||||
"Por favor visite web.ente.io para gerenciar sua assinatura"),
|
||||
"waitingForVerification": MessageLookupByLibrary.simpleMessage(
|
||||
"Esperando por verificação..."),
|
||||
"waitingForWifi":
|
||||
MessageLookupByLibrary.simpleMessage("Esperando por Wi-Fi..."),
|
||||
"weAreOpenSource":
|
||||
|
@ -1525,12 +1542,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Não suportamos a edição de fotos e álbuns que você ainda não possui"),
|
||||
"weHaveSendEmailTo": m65,
|
||||
"weHaveSendEmailTo": m67,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("Fraca"),
|
||||
"welcomeBack":
|
||||
MessageLookupByLibrary.simpleMessage("Bem-vindo de volta!"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("Anual"),
|
||||
"yearsAgo": m66,
|
||||
"yearsAgo": m68,
|
||||
"yes": MessageLookupByLibrary.simpleMessage("Sim"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("Sim, cancelar"),
|
||||
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1561,7 +1578,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"Você não pode compartilhar consigo mesmo"),
|
||||
"youDontHaveAnyArchivedItems": MessageLookupByLibrary.simpleMessage(
|
||||
"Você não tem nenhum item arquivado."),
|
||||
"youHaveSuccessfullyFreedUp": m67,
|
||||
"youHaveSuccessfullyFreedUp": m69,
|
||||
"yourAccountHasBeenDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("Sua conta foi excluída"),
|
||||
"yourMap": MessageLookupByLibrary.simpleMessage("Seu mapa"),
|
||||
|
|
290
mobile/lib/generated/intl/messages_zh.dart
generated
290
mobile/lib/generated/intl/messages_zh.dart
generated
|
@ -21,174 +21,180 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
String get localeName => 'zh';
|
||||
|
||||
static String m0(count) =>
|
||||
"${Intl.plural(count, zero: 'Add collaborator', one: 'Add collaborator', other: 'Add collaborators')}";
|
||||
|
||||
static String m2(count) =>
|
||||
"${Intl.plural(count, one: '添加一个项目', other: '添加一些项目')}";
|
||||
|
||||
static String m1(storageAmount, endDate) =>
|
||||
static String m3(storageAmount, endDate) =>
|
||||
"您的 ${storageAmount} 插件有效期至 ${endDate}";
|
||||
|
||||
static String m2(emailOrName) => "由 ${emailOrName} 添加";
|
||||
static String m1(count) =>
|
||||
"${Intl.plural(count, zero: 'Add viewer', one: 'Add viewer', other: 'Add viewers')}";
|
||||
|
||||
static String m3(albumName) => "成功添加到 ${albumName}";
|
||||
static String m4(emailOrName) => "由 ${emailOrName} 添加";
|
||||
|
||||
static String m4(count) =>
|
||||
static String m5(albumName) => "成功添加到 ${albumName}";
|
||||
|
||||
static String m6(count) =>
|
||||
"${Intl.plural(count, zero: '无参与者', one: '1个参与者', other: '${count} 个参与者')}";
|
||||
|
||||
static String m5(versionValue) => "版本: ${versionValue}";
|
||||
static String m7(versionValue) => "版本: ${versionValue}";
|
||||
|
||||
static String m6(paymentProvider) => "请先取消您现有的订阅 ${paymentProvider}";
|
||||
static String m8(paymentProvider) => "请先取消您现有的订阅 ${paymentProvider}";
|
||||
|
||||
static String m7(user) => "${user} 将无法添加更多照片到此相册\n\n他们仍然能够删除他们添加的现有照片";
|
||||
static String m9(user) => "${user} 将无法添加更多照片到此相册\n\n他们仍然能够删除他们添加的现有照片";
|
||||
|
||||
static String m8(isFamilyMember, storageAmountInGb) =>
|
||||
static String m10(isFamilyMember, storageAmountInGb) =>
|
||||
"${Intl.select(isFamilyMember, {
|
||||
'true': '到目前为止,您的家庭已经领取了 ${storageAmountInGb} GB',
|
||||
'false': '到目前为止,您已经领取了 ${storageAmountInGb} GB',
|
||||
'other': '到目前为止,您已经领取了${storageAmountInGb} GB',
|
||||
})}";
|
||||
|
||||
static String m9(albumName) => "为 ${albumName} 创建了协作链接";
|
||||
static String m11(albumName) => "为 ${albumName} 创建了协作链接";
|
||||
|
||||
static String m10(familyAdminEmail) =>
|
||||
static String m12(familyAdminEmail) =>
|
||||
"请联系 <green>${familyAdminEmail}</green> 来管理您的订阅";
|
||||
|
||||
static String m11(provider) =>
|
||||
static String m13(provider) =>
|
||||
"请通过support@ente.io 用英语联系我们来管理您的 ${provider} 订阅。";
|
||||
|
||||
static String m12(count) =>
|
||||
static String m14(count) =>
|
||||
"${Intl.plural(count, one: '删除 ${count} 个项目', other: '删除 ${count} 个项目')}";
|
||||
|
||||
static String m13(currentlyDeleting, totalCount) =>
|
||||
static String m15(currentlyDeleting, totalCount) =>
|
||||
"正在删除 ${currentlyDeleting} /共 ${totalCount}";
|
||||
|
||||
static String m14(albumName) => "这将删除用于访问\"${albumName}\"的公共链接。";
|
||||
static String m16(albumName) => "这将删除用于访问\"${albumName}\"的公共链接。";
|
||||
|
||||
static String m15(supportEmail) => "请从您注册的邮箱发送一封邮件到 ${supportEmail}";
|
||||
static String m17(supportEmail) => "请从您注册的邮箱发送一封邮件到 ${supportEmail}";
|
||||
|
||||
static String m16(count, storageSaved) =>
|
||||
static String m18(count, storageSaved) =>
|
||||
"您已经清理了 ${Intl.plural(count, other: '${count} 个重复文件')}, 释放了 (${storageSaved}!)";
|
||||
|
||||
static String m17(count, formattedSize) =>
|
||||
static String m19(count, formattedSize) =>
|
||||
"${count} 个文件,每个文件 ${formattedSize}";
|
||||
|
||||
static String m18(newEmail) => "电子邮件已更改为 ${newEmail}";
|
||||
static String m20(newEmail) => "电子邮件已更改为 ${newEmail}";
|
||||
|
||||
static String m19(email) => "${email} 没有 ente 账户。\n\n向他们发送分享照片的邀请。";
|
||||
static String m21(email) => "${email} 没有 ente 账户。\n\n向他们发送分享照片的邀请。";
|
||||
|
||||
static String m20(count, formattedNumber) =>
|
||||
static String m22(count, formattedNumber) =>
|
||||
"此设备上的 ${Intl.plural(count, one: '1 个文件', other: '${formattedNumber} 个文件')} 已安全备份";
|
||||
|
||||
static String m21(count, formattedNumber) =>
|
||||
static String m23(count, formattedNumber) =>
|
||||
"此相册中的 ${Intl.plural(count, one: '1 个文件', other: '${formattedNumber} 个文件')} 已安全备份";
|
||||
|
||||
static String m22(storageAmountInGB) =>
|
||||
static String m24(storageAmountInGB) =>
|
||||
"每当有人使用您的代码注册付费计划时您将获得${storageAmountInGB} GB";
|
||||
|
||||
static String m23(freeAmount, storageUnit) =>
|
||||
static String m25(freeAmount, storageUnit) =>
|
||||
"${freeAmount} ${storageUnit} 空闲";
|
||||
|
||||
static String m24(endDate) => "免费试用有效期至 ${endDate}";
|
||||
static String m26(endDate) => "免费试用有效期至 ${endDate}";
|
||||
|
||||
static String m25(count) =>
|
||||
static String m27(count) =>
|
||||
"只要您有有效的订阅,您仍然可以在 ente 上访问 ${Intl.plural(count, one: 'it', other: 'them')}";
|
||||
|
||||
static String m26(sizeInMBorGB) => "释放 ${sizeInMBorGB}";
|
||||
static String m28(sizeInMBorGB) => "释放 ${sizeInMBorGB}";
|
||||
|
||||
static String m27(count, formattedSize) =>
|
||||
static String m29(count, formattedSize) =>
|
||||
"${Intl.plural(count, one: '它可以从设备中删除以释放 ${formattedSize}', other: '它们可以从设备中删除以释放 ${formattedSize}')}";
|
||||
|
||||
static String m28(currentlyProcessing, totalCount) =>
|
||||
static String m30(currentlyProcessing, totalCount) =>
|
||||
"正在处理 ${currentlyProcessing} / ${totalCount}";
|
||||
|
||||
static String m29(count) =>
|
||||
static String m31(count) =>
|
||||
"${Intl.plural(count, one: '${count} 个项目', other: '${count} 个项目')}";
|
||||
|
||||
static String m30(expiryTime) => "链接将在 ${expiryTime} 过期";
|
||||
static String m32(expiryTime) => "链接将在 ${expiryTime} 过期";
|
||||
|
||||
static String m31(count, formattedCount) =>
|
||||
static String m33(count, formattedCount) =>
|
||||
"${Intl.plural(count, zero: '没有回忆', one: '${formattedCount} 个回忆', other: '${formattedCount} 个回忆')}";
|
||||
|
||||
static String m32(count) =>
|
||||
static String m34(count) =>
|
||||
"${Intl.plural(count, one: '移动一个项目', other: '移动一些项目')}";
|
||||
|
||||
static String m33(albumName) => "成功移动到 ${albumName}";
|
||||
static String m35(albumName) => "成功移动到 ${albumName}";
|
||||
|
||||
static String m34(passwordStrengthValue) => "密码强度: ${passwordStrengthValue}";
|
||||
static String m36(passwordStrengthValue) => "密码强度: ${passwordStrengthValue}";
|
||||
|
||||
static String m35(providerName) => "如果您被收取费用,请用英语与 ${providerName} 的客服聊天";
|
||||
static String m37(providerName) => "如果您被收取费用,请用英语与 ${providerName} 的客服聊天";
|
||||
|
||||
static String m36(reason) => "很抱歉,您的支付因 ${reason} 而失败";
|
||||
static String m38(reason) => "很抱歉,您的支付因 ${reason} 而失败";
|
||||
|
||||
static String m37(endDate) => "免费试用有效期至 ${endDate}。\n之后您可以选择付费计划。";
|
||||
static String m39(endDate) => "免费试用有效期至 ${endDate}。\n之后您可以选择付费计划。";
|
||||
|
||||
static String m38(toEmail) => "请给我们发送电子邮件至 ${toEmail}";
|
||||
static String m40(toEmail) => "请给我们发送电子邮件至 ${toEmail}";
|
||||
|
||||
static String m39(toEmail) => "请将日志发送至 \n${toEmail}";
|
||||
static String m41(toEmail) => "请将日志发送至 \n${toEmail}";
|
||||
|
||||
static String m40(storeName) => "在 ${storeName} 上给我们评分";
|
||||
static String m42(storeName) => "在 ${storeName} 上给我们评分";
|
||||
|
||||
static String m41(storageInGB) => "3. 你和朋友都将免费获得 ${storageInGB} GB*";
|
||||
static String m43(storageInGB) => "3. 你和朋友都将免费获得 ${storageInGB} GB*";
|
||||
|
||||
static String m42(userEmail) =>
|
||||
static String m44(userEmail) =>
|
||||
"${userEmail} 将从这个共享相册中删除\n\nTA们添加的任何照片也将从相册中删除";
|
||||
|
||||
static String m43(endDate) => "在 ${endDate} 前续费";
|
||||
static String m45(endDate) => "在 ${endDate} 前续费";
|
||||
|
||||
static String m44(count) =>
|
||||
static String m46(count) =>
|
||||
"${Intl.plural(count, other: '已找到 ${count} 个结果')}";
|
||||
|
||||
static String m45(count) => "已选择 ${count} 个";
|
||||
static String m47(count) => "已选择 ${count} 个";
|
||||
|
||||
static String m46(count, yourCount) => "选择了 ${count} 个 (您的 ${yourCount} 个)";
|
||||
static String m48(count, yourCount) => "选择了 ${count} 个 (您的 ${yourCount} 个)";
|
||||
|
||||
static String m47(verificationID) => "这是我的ente.io 的验证 ID: ${verificationID}。";
|
||||
static String m49(verificationID) => "这是我的ente.io 的验证 ID: ${verificationID}。";
|
||||
|
||||
static String m48(verificationID) =>
|
||||
static String m50(verificationID) =>
|
||||
"嘿,你能确认这是你的 ente.io 验证 ID吗:${verificationID}";
|
||||
|
||||
static String m49(referralCode, referralStorageInGB) =>
|
||||
static String m51(referralCode, referralStorageInGB) =>
|
||||
"ente推荐码: ${referralCode} \n\n注册付费计划后在设置 → 常规 → 推荐中应用它以免费获得 ${referralStorageInGB} GB空间\n\nhttps://ente.io";
|
||||
|
||||
static String m50(numberOfPeople) =>
|
||||
static String m52(numberOfPeople) =>
|
||||
"${Intl.plural(numberOfPeople, zero: '与特定人员共享', one: '与 1 人共享', other: '与 ${numberOfPeople} 人共享')}";
|
||||
|
||||
static String m51(emailIDs) => "与 ${emailIDs} 共享";
|
||||
static String m53(emailIDs) => "与 ${emailIDs} 共享";
|
||||
|
||||
static String m52(fileType) => "此 ${fileType} 将从您的设备中删除。";
|
||||
static String m54(fileType) => "此 ${fileType} 将从您的设备中删除。";
|
||||
|
||||
static String m53(fileType) => "此 ${fileType} 同时在ente和您的设备中。";
|
||||
static String m55(fileType) => "此 ${fileType} 同时在ente和您的设备中。";
|
||||
|
||||
static String m54(fileType) => "此 ${fileType} 将从ente中删除。";
|
||||
static String m56(fileType) => "此 ${fileType} 将从ente中删除。";
|
||||
|
||||
static String m55(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
static String m57(storageAmountInGB) => "${storageAmountInGB} GB";
|
||||
|
||||
static String m56(
|
||||
static String m58(
|
||||
usedAmount, usedStorageUnit, totalAmount, totalStorageUnit) =>
|
||||
"已使用 ${usedAmount} ${usedStorageUnit} / ${totalAmount} ${totalStorageUnit}";
|
||||
|
||||
static String m57(id) =>
|
||||
static String m59(id) =>
|
||||
"您的 ${id} 已经链接到另一个ente账户。\n如果您想要通过此账户使用您的 ${id} ,请联系我们的客服\'\'";
|
||||
|
||||
static String m58(endDate) => "您的订阅将于 ${endDate} 取消";
|
||||
static String m60(endDate) => "您的订阅将于 ${endDate} 取消";
|
||||
|
||||
static String m59(completed, total) => "已保存的回忆 ${completed}/共 ${total}";
|
||||
static String m61(completed, total) => "已保存的回忆 ${completed}/共 ${total}";
|
||||
|
||||
static String m60(storageAmountInGB) => "他们也会获得 ${storageAmountInGB} GB";
|
||||
static String m62(storageAmountInGB) => "他们也会获得 ${storageAmountInGB} GB";
|
||||
|
||||
static String m61(email) => "这是 ${email} 的验证ID";
|
||||
static String m63(email) => "这是 ${email} 的验证ID";
|
||||
|
||||
static String m62(count) =>
|
||||
static String m64(count) =>
|
||||
"${Intl.plural(count, zero: '', one: '1天', other: '${count} 天')}";
|
||||
|
||||
static String m63(endDate) => "有效期至 ${endDate}";
|
||||
static String m65(endDate) => "有效期至 ${endDate}";
|
||||
|
||||
static String m64(email) => "验证 ${email}";
|
||||
static String m66(email) => "验证 ${email}";
|
||||
|
||||
static String m65(email) => "我们已经发送邮件到 <green>${email}</green>";
|
||||
static String m67(email) => "我们已经发送邮件到 <green>${email}</green>";
|
||||
|
||||
static String m66(count) =>
|
||||
static String m68(count) =>
|
||||
"${Intl.plural(count, one: '${count} 年前', other: '${count} 年前')}";
|
||||
|
||||
static String m67(storageSaved) => "您已成功释放了 ${storageSaved}!";
|
||||
static String m69(storageSaved) => "您已成功释放了 ${storageSaved}!";
|
||||
|
||||
final messages = _notInlinedMessages(_notInlinedMessages);
|
||||
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
|
||||
|
@ -202,14 +208,15 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"activeSessions": MessageLookupByLibrary.simpleMessage("已登录的设备"),
|
||||
"addANewEmail": MessageLookupByLibrary.simpleMessage("添加新的电子邮件"),
|
||||
"addCollaborator": MessageLookupByLibrary.simpleMessage("添加协作者"),
|
||||
"addCollaborators": m0,
|
||||
"addFromDevice": MessageLookupByLibrary.simpleMessage("从设备添加"),
|
||||
"addItem": m0,
|
||||
"addItem": m2,
|
||||
"addLocation": MessageLookupByLibrary.simpleMessage("添加地点"),
|
||||
"addLocationButton": MessageLookupByLibrary.simpleMessage("添加"),
|
||||
"addMore": MessageLookupByLibrary.simpleMessage("添加更多"),
|
||||
"addNew": MessageLookupByLibrary.simpleMessage("新建"),
|
||||
"addOnPageSubtitle": MessageLookupByLibrary.simpleMessage("附加组件详情"),
|
||||
"addOnValidTill": m1,
|
||||
"addOnValidTill": m3,
|
||||
"addOns": MessageLookupByLibrary.simpleMessage("附加组件"),
|
||||
"addPhotos": MessageLookupByLibrary.simpleMessage("添加照片"),
|
||||
"addSelected": MessageLookupByLibrary.simpleMessage("添加所选项"),
|
||||
|
@ -217,10 +224,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"addToEnte": MessageLookupByLibrary.simpleMessage("添加到 ente"),
|
||||
"addToHiddenAlbum": MessageLookupByLibrary.simpleMessage("添加到隐藏相册"),
|
||||
"addViewer": MessageLookupByLibrary.simpleMessage("添加查看者"),
|
||||
"addViewers": m1,
|
||||
"addYourPhotosNow": MessageLookupByLibrary.simpleMessage("立即添加您的照片"),
|
||||
"addedAs": MessageLookupByLibrary.simpleMessage("已添加为"),
|
||||
"addedBy": m2,
|
||||
"addedSuccessfullyTo": m3,
|
||||
"addedBy": m4,
|
||||
"addedSuccessfullyTo": m5,
|
||||
"addingToFavorites": MessageLookupByLibrary.simpleMessage("正在添加到收藏..."),
|
||||
"advanced": MessageLookupByLibrary.simpleMessage("高级设置"),
|
||||
"advancedSettings": MessageLookupByLibrary.simpleMessage("高级设置"),
|
||||
|
@ -230,7 +238,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"after1Week": MessageLookupByLibrary.simpleMessage("1 周后"),
|
||||
"after1Year": MessageLookupByLibrary.simpleMessage("1 年后"),
|
||||
"albumOwner": MessageLookupByLibrary.simpleMessage("所有者"),
|
||||
"albumParticipantsCount": m4,
|
||||
"albumParticipantsCount": m6,
|
||||
"albumTitle": MessageLookupByLibrary.simpleMessage("相册标题"),
|
||||
"albumUpdated": MessageLookupByLibrary.simpleMessage("相册已更新"),
|
||||
"albums": MessageLookupByLibrary.simpleMessage("相册"),
|
||||
|
@ -259,7 +267,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"androidIosWebDesktop":
|
||||
MessageLookupByLibrary.simpleMessage("安卓, iOS, 网页端, 桌面端"),
|
||||
"androidSignInTitle": MessageLookupByLibrary.simpleMessage("需要身份验证"),
|
||||
"appVersion": m5,
|
||||
"appVersion": m7,
|
||||
"appleId": MessageLookupByLibrary.simpleMessage("Apple ID"),
|
||||
"apply": MessageLookupByLibrary.simpleMessage("应用"),
|
||||
"applyCodeTitle": MessageLookupByLibrary.simpleMessage("应用代码"),
|
||||
|
@ -331,9 +339,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"canOnlyRemoveFilesOwnedByYou":
|
||||
MessageLookupByLibrary.simpleMessage("只能删除您拥有的文件"),
|
||||
"cancel": MessageLookupByLibrary.simpleMessage("取消"),
|
||||
"cancelOtherSubscription": m6,
|
||||
"cancelOtherSubscription": m8,
|
||||
"cancelSubscription": MessageLookupByLibrary.simpleMessage("取消订阅"),
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m7,
|
||||
"cannotAddMorePhotosAfterBecomingViewer": m9,
|
||||
"cannotDeleteSharedFiles":
|
||||
MessageLookupByLibrary.simpleMessage("无法删除共享文件"),
|
||||
"castInstruction": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -352,8 +360,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"claimFreeStorage": MessageLookupByLibrary.simpleMessage("领取免费存储"),
|
||||
"claimMore": MessageLookupByLibrary.simpleMessage("领取更多!"),
|
||||
"claimed": MessageLookupByLibrary.simpleMessage("已领取"),
|
||||
"claimedStorageSoFar": m8,
|
||||
"claimedStorageSoFar": m10,
|
||||
"cleanUncategorized": MessageLookupByLibrary.simpleMessage("清除未分类的"),
|
||||
"cleanUncategorizedDescription":
|
||||
MessageLookupByLibrary.simpleMessage("从“未分类”中删除其他相册中存在的所有文件"),
|
||||
"clearCaches": MessageLookupByLibrary.simpleMessage("清除缓存"),
|
||||
"clearIndexes": MessageLookupByLibrary.simpleMessage("清空索引"),
|
||||
"click": MessageLookupByLibrary.simpleMessage("• 点击"),
|
||||
|
@ -369,7 +379,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"collabLinkSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"创建一个链接以允许其他人在您的共享相册中添加和查看照片,而无需应用程序或ente账户。 非常适合收集活动照片。"),
|
||||
"collaborativeLink": MessageLookupByLibrary.simpleMessage("协作链接"),
|
||||
"collaborativeLinkCreatedFor": m9,
|
||||
"collaborativeLinkCreatedFor": m11,
|
||||
"collaborator": MessageLookupByLibrary.simpleMessage("协作者"),
|
||||
"collaboratorsCanAddPhotosAndVideosToTheSharedAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("协作者可以将照片和视频添加到共享相册中。"),
|
||||
|
@ -390,9 +400,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"confirmRecoveryKey": MessageLookupByLibrary.simpleMessage("确认恢复密钥"),
|
||||
"confirmYourRecoveryKey":
|
||||
MessageLookupByLibrary.simpleMessage("确认您的恢复密钥"),
|
||||
"contactFamilyAdmin": m10,
|
||||
"contactFamilyAdmin": m12,
|
||||
"contactSupport": MessageLookupByLibrary.simpleMessage("联系支持"),
|
||||
"contactToManageSubscription": m11,
|
||||
"contactToManageSubscription": m13,
|
||||
"contacts": MessageLookupByLibrary.simpleMessage("联系人"),
|
||||
"contents": MessageLookupByLibrary.simpleMessage("内容"),
|
||||
"continueLabel": MessageLookupByLibrary.simpleMessage("继续"),
|
||||
|
@ -450,10 +460,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"deleteFromBoth": MessageLookupByLibrary.simpleMessage("同时从两者中删除"),
|
||||
"deleteFromDevice": MessageLookupByLibrary.simpleMessage("从设备中删除"),
|
||||
"deleteFromEnte": MessageLookupByLibrary.simpleMessage("从ente 中删除"),
|
||||
"deleteItemCount": m12,
|
||||
"deleteItemCount": m14,
|
||||
"deleteLocation": MessageLookupByLibrary.simpleMessage("删除位置"),
|
||||
"deletePhotos": MessageLookupByLibrary.simpleMessage("删除照片"),
|
||||
"deleteProgress": m13,
|
||||
"deleteProgress": m15,
|
||||
"deleteReason1": MessageLookupByLibrary.simpleMessage("找不到我想要的功能"),
|
||||
"deleteReason2":
|
||||
MessageLookupByLibrary.simpleMessage("应用或某个功能没有按我的预期运行"),
|
||||
|
@ -465,7 +475,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"deleteSharedAlbum": MessageLookupByLibrary.simpleMessage("要删除共享相册吗?"),
|
||||
"deleteSharedAlbumDialogBody": MessageLookupByLibrary.simpleMessage(
|
||||
"将为所有人删除相册\n\n您将无法访问此相册中他人拥有的共享照片"),
|
||||
"descriptions": MessageLookupByLibrary.simpleMessage("Descriptions"),
|
||||
"descriptions": MessageLookupByLibrary.simpleMessage("描述"),
|
||||
"deselectAll": MessageLookupByLibrary.simpleMessage("取消全选"),
|
||||
"designedToOutlive": MessageLookupByLibrary.simpleMessage("经久耐用"),
|
||||
"details": MessageLookupByLibrary.simpleMessage("详情"),
|
||||
|
@ -483,7 +493,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("查看者仍然可以使用外部工具截图或保存您的照片副本"),
|
||||
"disableDownloadWarningTitle":
|
||||
MessageLookupByLibrary.simpleMessage("请注意"),
|
||||
"disableLinkMessage": m14,
|
||||
"disableLinkMessage": m16,
|
||||
"disableTwofactor": MessageLookupByLibrary.simpleMessage("禁用双因素认证"),
|
||||
"disablingTwofactorAuthentication":
|
||||
MessageLookupByLibrary.simpleMessage("正在禁用双因素认证..."),
|
||||
|
@ -500,9 +510,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"download": MessageLookupByLibrary.simpleMessage("下载"),
|
||||
"downloadFailed": MessageLookupByLibrary.simpleMessage("下載失敗"),
|
||||
"downloading": MessageLookupByLibrary.simpleMessage("正在下载..."),
|
||||
"dropSupportEmail": m15,
|
||||
"duplicateFileCountWithStorageSaved": m16,
|
||||
"duplicateItemsGroup": m17,
|
||||
"dropSupportEmail": m17,
|
||||
"duplicateFileCountWithStorageSaved": m18,
|
||||
"duplicateItemsGroup": m19,
|
||||
"edit": MessageLookupByLibrary.simpleMessage("编辑"),
|
||||
"editLocation": MessageLookupByLibrary.simpleMessage("编辑位置"),
|
||||
"editLocationTagTitle": MessageLookupByLibrary.simpleMessage("编辑位置"),
|
||||
|
@ -511,8 +521,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("对位置的编辑只能在 Ente 内看到"),
|
||||
"eligible": MessageLookupByLibrary.simpleMessage("符合资格"),
|
||||
"email": MessageLookupByLibrary.simpleMessage("电子邮件地址"),
|
||||
"emailChangedTo": m18,
|
||||
"emailNoEnteAccount": m19,
|
||||
"emailChangedTo": m20,
|
||||
"emailNoEnteAccount": m21,
|
||||
"emailVerificationToggle":
|
||||
MessageLookupByLibrary.simpleMessage("电子邮件验证"),
|
||||
"emailYourLogs": MessageLookupByLibrary.simpleMessage("通过电子邮件发送您的日志"),
|
||||
|
@ -589,29 +599,29 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"fileSavedToGallery": MessageLookupByLibrary.simpleMessage("文件已保存到相册"),
|
||||
"fileTypes": MessageLookupByLibrary.simpleMessage("文件类型"),
|
||||
"fileTypesAndNames": MessageLookupByLibrary.simpleMessage("文件类型和名称"),
|
||||
"filesBackedUpFromDevice": m20,
|
||||
"filesBackedUpInAlbum": m21,
|
||||
"filesBackedUpFromDevice": m22,
|
||||
"filesBackedUpInAlbum": m23,
|
||||
"filesDeleted": MessageLookupByLibrary.simpleMessage("文件已删除"),
|
||||
"flip": MessageLookupByLibrary.simpleMessage("上下翻转"),
|
||||
"forYourMemories": MessageLookupByLibrary.simpleMessage("为您的回忆"),
|
||||
"forgotPassword": MessageLookupByLibrary.simpleMessage("忘记密码"),
|
||||
"freeStorageClaimed": MessageLookupByLibrary.simpleMessage("已领取的免费存储"),
|
||||
"freeStorageOnReferralSuccess": m22,
|
||||
"freeStorageSpace": m23,
|
||||
"freeStorageOnReferralSuccess": m24,
|
||||
"freeStorageSpace": m25,
|
||||
"freeStorageUsable": MessageLookupByLibrary.simpleMessage("可用的免费存储"),
|
||||
"freeTrial": MessageLookupByLibrary.simpleMessage("免费试用"),
|
||||
"freeTrialValidTill": m24,
|
||||
"freeUpAccessPostDelete": m25,
|
||||
"freeUpAmount": m26,
|
||||
"freeTrialValidTill": m26,
|
||||
"freeUpAccessPostDelete": m27,
|
||||
"freeUpAmount": m28,
|
||||
"freeUpDeviceSpace": MessageLookupByLibrary.simpleMessage("释放设备空间"),
|
||||
"freeUpSpace": MessageLookupByLibrary.simpleMessage("释放空间"),
|
||||
"freeUpSpaceSaving": m27,
|
||||
"freeUpSpaceSaving": m29,
|
||||
"galleryMemoryLimitInfo":
|
||||
MessageLookupByLibrary.simpleMessage("在图库中显示最多1000个回忆"),
|
||||
"general": MessageLookupByLibrary.simpleMessage("通用"),
|
||||
"generatingEncryptionKeys":
|
||||
MessageLookupByLibrary.simpleMessage("正在生成加密密钥..."),
|
||||
"genericProgress": m28,
|
||||
"genericProgress": m30,
|
||||
"goToSettings": MessageLookupByLibrary.simpleMessage("前往设置"),
|
||||
"googlePlayId": MessageLookupByLibrary.simpleMessage("Google Play ID"),
|
||||
"grantFullAccessPrompt":
|
||||
|
@ -662,7 +672,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"看起来出了点问题。 请稍后重试。 如果错误仍然存在,请联系我们的支持团队。"),
|
||||
"itemCount": m29,
|
||||
"itemCount": m31,
|
||||
"itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion":
|
||||
MessageLookupByLibrary.simpleMessage("项目显示永久删除前剩余的天数"),
|
||||
"itemsWillBeRemovedFromAlbum":
|
||||
|
@ -685,7 +695,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"linkDeviceLimit": MessageLookupByLibrary.simpleMessage("设备限制"),
|
||||
"linkEnabled": MessageLookupByLibrary.simpleMessage("已启用"),
|
||||
"linkExpired": MessageLookupByLibrary.simpleMessage("已过期"),
|
||||
"linkExpiresOn": m30,
|
||||
"linkExpiresOn": m32,
|
||||
"linkExpiry": MessageLookupByLibrary.simpleMessage("链接过期"),
|
||||
"linkHasExpired": MessageLookupByLibrary.simpleMessage("链接已过期"),
|
||||
"linkNeverExpires": MessageLookupByLibrary.simpleMessage("永不"),
|
||||
|
@ -716,7 +726,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"locationName": MessageLookupByLibrary.simpleMessage("地点名称"),
|
||||
"locationTagFeatureDescription":
|
||||
MessageLookupByLibrary.simpleMessage("位置标签将在照片的某个半径范围内拍摄的所有照片进行分组"),
|
||||
"locations": MessageLookupByLibrary.simpleMessage("Locations"),
|
||||
"locations": MessageLookupByLibrary.simpleMessage("位置"),
|
||||
"lockButtonLabel": MessageLookupByLibrary.simpleMessage("锁定"),
|
||||
"lockScreenEnablePreSteps":
|
||||
MessageLookupByLibrary.simpleMessage("要启用锁屏,请在系统设置中设置设备密码或屏幕锁定。"),
|
||||
|
@ -728,6 +738,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"logout": MessageLookupByLibrary.simpleMessage("退出登录"),
|
||||
"logsDialogBody": MessageLookupByLibrary.simpleMessage(
|
||||
"这将跨日志发送以帮助我们调试您的问题。 请注意,将包含文件名以帮助跟踪特定文件的问题。"),
|
||||
"longPressAnEmailToVerifyEndToEndEncryption":
|
||||
MessageLookupByLibrary.simpleMessage(
|
||||
"Long press an email to verify end to end encryption."),
|
||||
"longpressOnAnItemToViewInFullscreen":
|
||||
MessageLookupByLibrary.simpleMessage("长按一个项目来全屏查看"),
|
||||
"lostDevice": MessageLookupByLibrary.simpleMessage("丢失了设备吗?"),
|
||||
|
@ -745,7 +758,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"maps": MessageLookupByLibrary.simpleMessage("地图"),
|
||||
"mastodon": MessageLookupByLibrary.simpleMessage("Mastodon"),
|
||||
"matrix": MessageLookupByLibrary.simpleMessage("Matrix"),
|
||||
"memoryCount": m31,
|
||||
"memoryCount": m33,
|
||||
"merchandise": MessageLookupByLibrary.simpleMessage("商品"),
|
||||
"mobileWebDesktop":
|
||||
MessageLookupByLibrary.simpleMessage("移动端, 网页端, 桌面端"),
|
||||
|
@ -754,10 +767,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("修改您的查询,或尝试搜索"),
|
||||
"moments": MessageLookupByLibrary.simpleMessage("瞬间"),
|
||||
"monthly": MessageLookupByLibrary.simpleMessage("每月"),
|
||||
"moveItem": m32,
|
||||
"moveItem": m34,
|
||||
"moveToAlbum": MessageLookupByLibrary.simpleMessage("移动到相册"),
|
||||
"moveToHiddenAlbum": MessageLookupByLibrary.simpleMessage("移至隐藏相册"),
|
||||
"movedSuccessfullyTo": m33,
|
||||
"movedSuccessfullyTo": m35,
|
||||
"movedToTrash": MessageLookupByLibrary.simpleMessage("已移至回收站"),
|
||||
"movingFilesToAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("正在将文件移动到相册..."),
|
||||
|
@ -819,13 +832,13 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"passwordChangedSuccessfully":
|
||||
MessageLookupByLibrary.simpleMessage("密码修改成功"),
|
||||
"passwordLock": MessageLookupByLibrary.simpleMessage("密码锁"),
|
||||
"passwordStrength": m34,
|
||||
"passwordStrength": m36,
|
||||
"passwordWarning": MessageLookupByLibrary.simpleMessage(
|
||||
"我们不储存这个密码,所以如果忘记, <underline>我们将无法解密您的数据</underline>"),
|
||||
"paymentDetails": MessageLookupByLibrary.simpleMessage("付款明细"),
|
||||
"paymentFailed": MessageLookupByLibrary.simpleMessage("支付失败"),
|
||||
"paymentFailedTalkToProvider": m35,
|
||||
"paymentFailedWithReason": m36,
|
||||
"paymentFailedTalkToProvider": m37,
|
||||
"paymentFailedWithReason": m38,
|
||||
"pendingItems": MessageLookupByLibrary.simpleMessage("待处理项目"),
|
||||
"pendingSync": MessageLookupByLibrary.simpleMessage("正在等待同步"),
|
||||
"peopleUsingYourCode": MessageLookupByLibrary.simpleMessage("使用您的代码的人"),
|
||||
|
@ -843,7 +856,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"pickCenterPoint": MessageLookupByLibrary.simpleMessage("选择中心点"),
|
||||
"pinAlbum": MessageLookupByLibrary.simpleMessage("置顶相册"),
|
||||
"playOnTv": MessageLookupByLibrary.simpleMessage("在电视上播放相册"),
|
||||
"playStoreFreeTrialValidTill": m37,
|
||||
"playStoreFreeTrialValidTill": m39,
|
||||
"playstoreSubscription":
|
||||
MessageLookupByLibrary.simpleMessage("PlayStore 订阅"),
|
||||
"pleaseCheckYourInternetConnectionAndTryAgain":
|
||||
|
@ -853,10 +866,10 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"请用英语联系 support@ente.io ,我们将乐意提供帮助!"),
|
||||
"pleaseContactSupportIfTheProblemPersists":
|
||||
MessageLookupByLibrary.simpleMessage("如果问题仍然存在,请联系支持"),
|
||||
"pleaseEmailUsAt": m38,
|
||||
"pleaseEmailUsAt": m40,
|
||||
"pleaseGrantPermissions": MessageLookupByLibrary.simpleMessage("请授予权限"),
|
||||
"pleaseLoginAgain": MessageLookupByLibrary.simpleMessage("请重新登录"),
|
||||
"pleaseSendTheLogsTo": m39,
|
||||
"pleaseSendTheLogsTo": m41,
|
||||
"pleaseTryAgain": MessageLookupByLibrary.simpleMessage("请重试"),
|
||||
"pleaseVerifyTheCodeYouHaveEntered":
|
||||
MessageLookupByLibrary.simpleMessage("请验证您输入的代码"),
|
||||
|
@ -882,7 +895,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"raiseTicket": MessageLookupByLibrary.simpleMessage("提升工单"),
|
||||
"rateTheApp": MessageLookupByLibrary.simpleMessage("为此应用评分"),
|
||||
"rateUs": MessageLookupByLibrary.simpleMessage("给我们评分"),
|
||||
"rateUsOnStore": m40,
|
||||
"rateUsOnStore": m42,
|
||||
"recover": MessageLookupByLibrary.simpleMessage("恢复"),
|
||||
"recoverAccount": MessageLookupByLibrary.simpleMessage("恢复账户"),
|
||||
"recoverButton": MessageLookupByLibrary.simpleMessage("恢复"),
|
||||
|
@ -907,7 +920,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("把我们推荐给你的朋友然后获得延长一倍的订阅计划"),
|
||||
"referralStep1": MessageLookupByLibrary.simpleMessage("1. 将此代码提供给您的朋友"),
|
||||
"referralStep2": MessageLookupByLibrary.simpleMessage("2. 他们注册一个付费计划"),
|
||||
"referralStep3": m41,
|
||||
"referralStep3": m43,
|
||||
"referrals": MessageLookupByLibrary.simpleMessage("推荐人"),
|
||||
"referralsAreCurrentlyPaused":
|
||||
MessageLookupByLibrary.simpleMessage("推荐已暂停"),
|
||||
|
@ -926,7 +939,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"removeFromFavorite": MessageLookupByLibrary.simpleMessage("从收藏中移除"),
|
||||
"removeLink": MessageLookupByLibrary.simpleMessage("移除链接"),
|
||||
"removeParticipant": MessageLookupByLibrary.simpleMessage("移除参与者"),
|
||||
"removeParticipantBody": m42,
|
||||
"removeParticipantBody": m44,
|
||||
"removePublicLink": MessageLookupByLibrary.simpleMessage("删除公开链接"),
|
||||
"removeShareItemsWarning":
|
||||
MessageLookupByLibrary.simpleMessage("您要删除的某些项目是由其他人添加的,您将无法访问它们"),
|
||||
|
@ -937,7 +950,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"renameAlbum": MessageLookupByLibrary.simpleMessage("重命名相册"),
|
||||
"renameFile": MessageLookupByLibrary.simpleMessage("重命名文件"),
|
||||
"renewSubscription": MessageLookupByLibrary.simpleMessage("续费订阅"),
|
||||
"renewsOn": m43,
|
||||
"renewsOn": m45,
|
||||
"reportABug": MessageLookupByLibrary.simpleMessage("报告错误"),
|
||||
"reportBug": MessageLookupByLibrary.simpleMessage("报告错误"),
|
||||
"resendEmail": MessageLookupByLibrary.simpleMessage("重新发送电子邮件"),
|
||||
|
@ -984,7 +997,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("在照片的一定半径内拍摄的几组照片"),
|
||||
"searchPeopleEmptySection":
|
||||
MessageLookupByLibrary.simpleMessage("邀请他人,您将在此看到他们分享的所有照片"),
|
||||
"searchResultCount": m44,
|
||||
"searchResultCount": m46,
|
||||
"security": MessageLookupByLibrary.simpleMessage("安全"),
|
||||
"selectALocation": MessageLookupByLibrary.simpleMessage("选择一个位置"),
|
||||
"selectALocationFirst":
|
||||
|
@ -1004,8 +1017,8 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("所选文件夹将被加密和备份"),
|
||||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved":
|
||||
MessageLookupByLibrary.simpleMessage("所选项目将从所有相册中删除并移动到回收站。"),
|
||||
"selectedPhotos": m45,
|
||||
"selectedPhotosWithYours": m46,
|
||||
"selectedPhotos": m47,
|
||||
"selectedPhotosWithYours": m48,
|
||||
"send": MessageLookupByLibrary.simpleMessage("发送"),
|
||||
"sendEmail": MessageLookupByLibrary.simpleMessage("发送电子邮件"),
|
||||
"sendInvite": MessageLookupByLibrary.simpleMessage("发送邀请"),
|
||||
|
@ -1024,16 +1037,16 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("打开相册并点击右上角的分享按钮进行分享"),
|
||||
"shareAnAlbumNow": MessageLookupByLibrary.simpleMessage("立即分享相册"),
|
||||
"shareLink": MessageLookupByLibrary.simpleMessage("分享链接"),
|
||||
"shareMyVerificationID": m47,
|
||||
"shareMyVerificationID": m49,
|
||||
"shareOnlyWithThePeopleYouWant":
|
||||
MessageLookupByLibrary.simpleMessage("仅与您想要的人分享"),
|
||||
"shareTextConfirmOthersVerificationID": m48,
|
||||
"shareTextConfirmOthersVerificationID": m50,
|
||||
"shareTextRecommendUsingEnte": MessageLookupByLibrary.simpleMessage(
|
||||
"下载 ente,以便我们轻松分享原始质量的照片和视频\n\nhttps://ente.io"),
|
||||
"shareTextReferralCode": m49,
|
||||
"shareTextReferralCode": m51,
|
||||
"shareWithNonenteUsers":
|
||||
MessageLookupByLibrary.simpleMessage("与非ente 用户分享"),
|
||||
"shareWithPeopleSectionTitle": m50,
|
||||
"shareWithPeopleSectionTitle": m52,
|
||||
"shareYourFirstAlbum":
|
||||
MessageLookupByLibrary.simpleMessage("分享您的第一个相册"),
|
||||
"sharedAlbumSectionDescription": MessageLookupByLibrary.simpleMessage(
|
||||
|
@ -1044,7 +1057,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("新共享的照片"),
|
||||
"sharedPhotoNotificationsExplanation":
|
||||
MessageLookupByLibrary.simpleMessage("当有人将照片添加到您所属的共享相册时收到通知"),
|
||||
"sharedWith": m51,
|
||||
"sharedWith": m53,
|
||||
"sharedWithMe": MessageLookupByLibrary.simpleMessage("与我共享"),
|
||||
"sharedWithYou": MessageLookupByLibrary.simpleMessage("已与您共享"),
|
||||
"sharing": MessageLookupByLibrary.simpleMessage("正在分享..."),
|
||||
|
@ -1056,11 +1069,11 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"signOutOtherDevices": MessageLookupByLibrary.simpleMessage("登出其他设备"),
|
||||
"signUpTerms": MessageLookupByLibrary.simpleMessage(
|
||||
"我同意 <u-terms>服务条款</u-terms> 和 <u-policy>隐私政策</u-policy>"),
|
||||
"singleFileDeleteFromDevice": m52,
|
||||
"singleFileDeleteFromDevice": m54,
|
||||
"singleFileDeleteHighlight":
|
||||
MessageLookupByLibrary.simpleMessage("它将从所有相册中删除。"),
|
||||
"singleFileInBothLocalAndRemote": m53,
|
||||
"singleFileInRemoteOnly": m54,
|
||||
"singleFileInBothLocalAndRemote": m55,
|
||||
"singleFileInRemoteOnly": m56,
|
||||
"skip": MessageLookupByLibrary.simpleMessage("跳过"),
|
||||
"social": MessageLookupByLibrary.simpleMessage("社交"),
|
||||
"someItemsAreInBothEnteAndYourDevice":
|
||||
|
@ -1091,12 +1104,12 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"storage": MessageLookupByLibrary.simpleMessage("存储空间"),
|
||||
"storageBreakupFamily": MessageLookupByLibrary.simpleMessage("家庭"),
|
||||
"storageBreakupYou": MessageLookupByLibrary.simpleMessage("您"),
|
||||
"storageInGB": m55,
|
||||
"storageInGB": m57,
|
||||
"storageLimitExceeded": MessageLookupByLibrary.simpleMessage("已超出存储限制"),
|
||||
"storageUsageInfo": m56,
|
||||
"storageUsageInfo": m58,
|
||||
"strongStrength": MessageLookupByLibrary.simpleMessage("强"),
|
||||
"subAlreadyLinkedErrMessage": m57,
|
||||
"subWillBeCancelledOn": m58,
|
||||
"subAlreadyLinkedErrMessage": m59,
|
||||
"subWillBeCancelledOn": m60,
|
||||
"subscribe": MessageLookupByLibrary.simpleMessage("订阅"),
|
||||
"subscribeToEnableSharing":
|
||||
MessageLookupByLibrary.simpleMessage("您的订阅似乎已过期。请订阅以启用分享。"),
|
||||
|
@ -1109,7 +1122,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"successfullyUnhid": MessageLookupByLibrary.simpleMessage("已成功取消隐藏"),
|
||||
"suggestFeatures": MessageLookupByLibrary.simpleMessage("建议新功能"),
|
||||
"support": MessageLookupByLibrary.simpleMessage("支持"),
|
||||
"syncProgress": m59,
|
||||
"syncProgress": m61,
|
||||
"syncStopped": MessageLookupByLibrary.simpleMessage("同步已停止"),
|
||||
"syncing": MessageLookupByLibrary.simpleMessage("正在同步···"),
|
||||
"systemTheme": MessageLookupByLibrary.simpleMessage("适应系统"),
|
||||
|
@ -1132,7 +1145,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"theme": MessageLookupByLibrary.simpleMessage("主题"),
|
||||
"theseItemsWillBeDeletedFromYourDevice":
|
||||
MessageLookupByLibrary.simpleMessage("这些项目将从您的设备中删除。"),
|
||||
"theyAlsoGetXGb": m60,
|
||||
"theyAlsoGetXGb": m62,
|
||||
"theyWillBeDeletedFromAllAlbums":
|
||||
MessageLookupByLibrary.simpleMessage("他们将从所有相册中删除。"),
|
||||
"thisActionCannotBeUndone":
|
||||
|
@ -1146,7 +1159,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("这个邮箱地址已经被使用"),
|
||||
"thisImageHasNoExifData":
|
||||
MessageLookupByLibrary.simpleMessage("此图像没有Exif 数据"),
|
||||
"thisIsPersonVerificationId": m61,
|
||||
"thisIsPersonVerificationId": m63,
|
||||
"thisIsYourVerificationId":
|
||||
MessageLookupByLibrary.simpleMessage("这是您的验证 ID"),
|
||||
"thisWillLogYouOutOfTheFollowingDevice":
|
||||
|
@ -1160,7 +1173,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"total": MessageLookupByLibrary.simpleMessage("总计"),
|
||||
"totalSize": MessageLookupByLibrary.simpleMessage("总大小"),
|
||||
"trash": MessageLookupByLibrary.simpleMessage("回收站"),
|
||||
"trashDaysLeft": m62,
|
||||
"trashDaysLeft": m64,
|
||||
"tryAgain": MessageLookupByLibrary.simpleMessage("请再试一次"),
|
||||
"turnOnBackupForAutoUpload":
|
||||
MessageLookupByLibrary.simpleMessage("打开备份以自动上传添加到此设备文件夹的文件。"),
|
||||
|
@ -1203,14 +1216,15 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"useRecoveryKey": MessageLookupByLibrary.simpleMessage("使用恢复密钥"),
|
||||
"useSelectedPhoto": MessageLookupByLibrary.simpleMessage("使用所选照片"),
|
||||
"usedSpace": MessageLookupByLibrary.simpleMessage("已用空间"),
|
||||
"validTill": m63,
|
||||
"validTill": m65,
|
||||
"verificationFailedPleaseTryAgain":
|
||||
MessageLookupByLibrary.simpleMessage("验证失败,请重试"),
|
||||
"verificationId": MessageLookupByLibrary.simpleMessage("验证 ID"),
|
||||
"verify": MessageLookupByLibrary.simpleMessage("验证"),
|
||||
"verifyEmail": MessageLookupByLibrary.simpleMessage("验证电子邮件"),
|
||||
"verifyEmailID": m64,
|
||||
"verifyEmailID": m66,
|
||||
"verifyIDLabel": MessageLookupByLibrary.simpleMessage("验证"),
|
||||
"verifyPasskey": MessageLookupByLibrary.simpleMessage("验证通行密钥"),
|
||||
"verifyPassword": MessageLookupByLibrary.simpleMessage("验证密码"),
|
||||
"verifying": MessageLookupByLibrary.simpleMessage("正在验证..."),
|
||||
"verifyingRecoveryKey":
|
||||
|
@ -1226,15 +1240,17 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
"viewer": MessageLookupByLibrary.simpleMessage("查看者"),
|
||||
"visitWebToManage":
|
||||
MessageLookupByLibrary.simpleMessage("请访问 web.ente.io 来管理您的订阅"),
|
||||
"waitingForVerification":
|
||||
MessageLookupByLibrary.simpleMessage("等待验证..."),
|
||||
"waitingForWifi": MessageLookupByLibrary.simpleMessage("正在等待 WiFi..."),
|
||||
"weAreOpenSource": MessageLookupByLibrary.simpleMessage("我们是开源的 !"),
|
||||
"weDontSupportEditingPhotosAndAlbumsThatYouDont":
|
||||
MessageLookupByLibrary.simpleMessage("我们不支持编辑您尚未拥有的照片和相册"),
|
||||
"weHaveSendEmailTo": m65,
|
||||
"weHaveSendEmailTo": m67,
|
||||
"weakStrength": MessageLookupByLibrary.simpleMessage("弱"),
|
||||
"welcomeBack": MessageLookupByLibrary.simpleMessage("欢迎回来!"),
|
||||
"yearly": MessageLookupByLibrary.simpleMessage("每年"),
|
||||
"yearsAgo": m66,
|
||||
"yearsAgo": m68,
|
||||
"yes": MessageLookupByLibrary.simpleMessage("是"),
|
||||
"yesCancel": MessageLookupByLibrary.simpleMessage("是的,取消"),
|
||||
"yesConvertToViewer": MessageLookupByLibrary.simpleMessage("是的,转换为查看者"),
|
||||
|
@ -1260,7 +1276,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
|||
MessageLookupByLibrary.simpleMessage("莫开玩笑,您不能与自己分享"),
|
||||
"youDontHaveAnyArchivedItems":
|
||||
MessageLookupByLibrary.simpleMessage("您没有任何存档的项目。"),
|
||||
"youHaveSuccessfullyFreedUp": m67,
|
||||
"youHaveSuccessfullyFreedUp": m69,
|
||||
"yourAccountHasBeenDeleted":
|
||||
MessageLookupByLibrary.simpleMessage("您的账户已删除"),
|
||||
"yourMap": MessageLookupByLibrary.simpleMessage("您的地图"),
|
||||
|
|
36
mobile/lib/generated/l10n.dart
generated
36
mobile/lib/generated/l10n.dart
generated
|
@ -8427,6 +8427,42 @@ class S {
|
|||
args: [],
|
||||
);
|
||||
}
|
||||
|
||||
/// `{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}`
|
||||
String addViewers(num count) {
|
||||
return Intl.plural(
|
||||
count,
|
||||
zero: 'Add viewer',
|
||||
one: 'Add viewer',
|
||||
other: 'Add viewers',
|
||||
name: 'addViewers',
|
||||
desc: '',
|
||||
args: [count],
|
||||
);
|
||||
}
|
||||
|
||||
/// `{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}`
|
||||
String addCollaborators(num count) {
|
||||
return Intl.plural(
|
||||
count,
|
||||
zero: 'Add collaborator',
|
||||
one: 'Add collaborator',
|
||||
other: 'Add collaborators',
|
||||
name: 'addCollaborators',
|
||||
desc: '',
|
||||
args: [count],
|
||||
);
|
||||
}
|
||||
|
||||
/// `Long press an email to verify end to end encryption.`
|
||||
String get longPressAnEmailToVerifyEndToEndEncryption {
|
||||
return Intl.message(
|
||||
'Long press an email to verify end to end encryption.',
|
||||
name: 'longPressAnEmailToVerifyEndToEndEncryption',
|
||||
desc: '',
|
||||
args: [],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class AppLocalizationDelegate extends LocalizationsDelegate<S> {
|
||||
|
|
|
@ -13,5 +13,8 @@
|
|||
"editsToLocationWillOnlyBeSeenWithinEnte": "Edits to location will only be seen within Ente",
|
||||
"joinDiscord": "Join Discord",
|
||||
"locations": "Locations",
|
||||
"descriptions": "Descriptions"
|
||||
"descriptions": "Descriptions",
|
||||
"addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}",
|
||||
"addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}",
|
||||
"longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption."
|
||||
}
|
|
@ -1199,5 +1199,8 @@
|
|||
"deviceCodeHint": "Code eingeben",
|
||||
"joinDiscord": "Discord beitreten",
|
||||
"locations": "Orte",
|
||||
"descriptions": "Beschreibungen"
|
||||
"descriptions": "Beschreibungen",
|
||||
"addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}",
|
||||
"addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}",
|
||||
"longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption."
|
||||
}
|
|
@ -1199,5 +1199,8 @@
|
|||
"deviceCodeHint": "Enter the code",
|
||||
"joinDiscord": "Join Discord",
|
||||
"locations": "Locations",
|
||||
"descriptions": "Descriptions"
|
||||
"descriptions": "Descriptions",
|
||||
"addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}",
|
||||
"addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}",
|
||||
"longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption."
|
||||
}
|
|
@ -975,5 +975,8 @@
|
|||
"editsToLocationWillOnlyBeSeenWithinEnte": "Edits to location will only be seen within Ente",
|
||||
"joinDiscord": "Join Discord",
|
||||
"locations": "Locations",
|
||||
"descriptions": "Descriptions"
|
||||
"descriptions": "Descriptions",
|
||||
"addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}",
|
||||
"addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}",
|
||||
"longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption."
|
||||
}
|
|
@ -1156,5 +1156,8 @@
|
|||
"editsToLocationWillOnlyBeSeenWithinEnte": "Edits to location will only be seen within Ente",
|
||||
"joinDiscord": "Join Discord",
|
||||
"locations": "Locations",
|
||||
"descriptions": "Descriptions"
|
||||
"descriptions": "Descriptions",
|
||||
"addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}",
|
||||
"addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}",
|
||||
"longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption."
|
||||
}
|
|
@ -1118,5 +1118,8 @@
|
|||
"editsToLocationWillOnlyBeSeenWithinEnte": "Edits to location will only be seen within Ente",
|
||||
"joinDiscord": "Join Discord",
|
||||
"locations": "Locations",
|
||||
"descriptions": "Descriptions"
|
||||
"descriptions": "Descriptions",
|
||||
"addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}",
|
||||
"addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}",
|
||||
"longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption."
|
||||
}
|
|
@ -13,5 +13,8 @@
|
|||
"editsToLocationWillOnlyBeSeenWithinEnte": "Edits to location will only be seen within Ente",
|
||||
"joinDiscord": "Join Discord",
|
||||
"locations": "Locations",
|
||||
"descriptions": "Descriptions"
|
||||
"descriptions": "Descriptions",
|
||||
"addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}",
|
||||
"addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}",
|
||||
"longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption."
|
||||
}
|
|
@ -1194,5 +1194,8 @@
|
|||
"deviceCodeHint": "Voer de code in",
|
||||
"joinDiscord": "Join Discord",
|
||||
"locations": "Locations",
|
||||
"descriptions": "Descriptions"
|
||||
"descriptions": "Descriptions",
|
||||
"addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}",
|
||||
"addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}",
|
||||
"longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption."
|
||||
}
|
|
@ -27,5 +27,8 @@
|
|||
"editsToLocationWillOnlyBeSeenWithinEnte": "Edits to location will only be seen within Ente",
|
||||
"joinDiscord": "Join Discord",
|
||||
"locations": "Locations",
|
||||
"descriptions": "Descriptions"
|
||||
"descriptions": "Descriptions",
|
||||
"addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}",
|
||||
"addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}",
|
||||
"longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption."
|
||||
}
|
|
@ -114,5 +114,8 @@
|
|||
"editsToLocationWillOnlyBeSeenWithinEnte": "Edits to location will only be seen within Ente",
|
||||
"joinDiscord": "Join Discord",
|
||||
"locations": "Locations",
|
||||
"descriptions": "Descriptions"
|
||||
"descriptions": "Descriptions",
|
||||
"addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}",
|
||||
"addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}",
|
||||
"longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption."
|
||||
}
|
|
@ -1199,5 +1199,8 @@
|
|||
"deviceCodeHint": "Insira o código",
|
||||
"joinDiscord": "Junte-se ao Discord",
|
||||
"locations": "Locais",
|
||||
"descriptions": "Descrições"
|
||||
"descriptions": "Descrições",
|
||||
"addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}",
|
||||
"addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}",
|
||||
"longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption."
|
||||
}
|
|
@ -1199,5 +1199,8 @@
|
|||
"deviceCodeHint": "输入代码",
|
||||
"joinDiscord": "加入 Discord",
|
||||
"locations": "位置",
|
||||
"descriptions": "描述"
|
||||
"descriptions": "描述",
|
||||
"addViewers": "{count, plural, zero {Add viewer} one {Add viewer} other {Add viewers}}",
|
||||
"addCollaborators": "{count, plural, zero {Add collaborator} one {Add collaborator} other {Add collaborators}}",
|
||||
"longPressAnEmailToVerifyEndToEndEncryption": "Long press an email to verify end to end encryption."
|
||||
}
|
|
@ -17,8 +17,7 @@ class MachineLearningController {
|
|||
|
||||
static const kMaximumTemperature = 42; // 42 degree celsius
|
||||
static const kMinimumBatteryLevel = 20; // 20%
|
||||
static const kInitialInteractionTimeout = Duration(seconds: 10);
|
||||
static const kDefaultInteractionTimeout = Duration(seconds: 5);
|
||||
static const kDefaultInteractionTimeout = Duration(seconds: 15);
|
||||
static const kUnhealthyStates = ["over_heat", "over_voltage", "dead"];
|
||||
|
||||
bool _isDeviceHealthy = true;
|
||||
|
@ -28,7 +27,7 @@ class MachineLearningController {
|
|||
|
||||
void init() {
|
||||
if (Platform.isAndroid) {
|
||||
_startInteractionTimer(timeout: kInitialInteractionTimeout);
|
||||
_startInteractionTimer();
|
||||
BatteryInfoPlugin()
|
||||
.androidBatteryInfoStream
|
||||
.listen((AndroidBatteryInfo? batteryInfo) {
|
||||
|
|
|
@ -6,7 +6,6 @@ import "package:logging/logging.dart";
|
|||
import "package:photos/core/errors.dart";
|
||||
|
||||
import "package:photos/core/event_bus.dart";
|
||||
import "package:photos/core/network/network.dart";
|
||||
import "package:photos/events/event.dart";
|
||||
import "package:photos/services/remote_assets_service.dart";
|
||||
|
||||
|
@ -17,9 +16,9 @@ abstract class MLFramework {
|
|||
static final _logger = Logger("MLFramework");
|
||||
|
||||
final bool shouldDownloadOverMobileData;
|
||||
final _initializationCompleter = Completer<void>();
|
||||
|
||||
InitializationState _state = InitializationState.notInitialized;
|
||||
final _initializationCompleter = Completer<void>();
|
||||
|
||||
MLFramework(this.shouldDownloadOverMobileData) {
|
||||
Connectivity()
|
||||
|
@ -65,6 +64,7 @@ abstract class MLFramework {
|
|||
/// instead of a CDN.
|
||||
Future<void> init() async {
|
||||
try {
|
||||
_initState = InitializationState.initializing;
|
||||
await Future.wait([_initImageModel(), _initTextModel()]);
|
||||
} catch (e, s) {
|
||||
_logger.warning(e, s);
|
||||
|
@ -102,41 +102,32 @@ abstract class MLFramework {
|
|||
if (!kImageEncoderEnabled) {
|
||||
return;
|
||||
}
|
||||
_initState = InitializationState.initializingImageModel;
|
||||
final imageModel =
|
||||
await RemoteAssetsService.instance.getAsset(getImageModelRemotePath());
|
||||
final imageModel = await _getModel(getImageModelRemotePath());
|
||||
await loadImageModel(imageModel.path);
|
||||
_initState = InitializationState.initializedImageModel;
|
||||
}
|
||||
|
||||
Future<void> _initTextModel() async {
|
||||
_initState = InitializationState.initializingTextModel;
|
||||
final textModel =
|
||||
await RemoteAssetsService.instance.getAsset(getTextModelRemotePath());
|
||||
final textModel = await _getModel(getTextModelRemotePath());
|
||||
await loadTextModel(textModel.path);
|
||||
_initState = InitializationState.initializedTextModel;
|
||||
}
|
||||
|
||||
Future<void> _downloadFile(
|
||||
String url,
|
||||
String savePath, {
|
||||
Future<File> _getModel(
|
||||
String url, {
|
||||
int trialCount = 1,
|
||||
}) async {
|
||||
if (await RemoteAssetsService.instance.hasAsset(url)) {
|
||||
return RemoteAssetsService.instance.getAsset(url);
|
||||
}
|
||||
if (!await _canDownload()) {
|
||||
_initState = InitializationState.waitingForNetwork;
|
||||
throw WiFiUnavailableError();
|
||||
}
|
||||
_logger.info("Downloading " + url);
|
||||
final existingFile = File(savePath);
|
||||
if (await existingFile.exists()) {
|
||||
await existingFile.delete();
|
||||
}
|
||||
try {
|
||||
await NetworkClient.instance.getDio().download(url, savePath);
|
||||
return RemoteAssetsService.instance.getAsset(url);
|
||||
} catch (e, s) {
|
||||
_logger.severe(e, s);
|
||||
if (trialCount < kMaximumRetrials) {
|
||||
return _downloadFile(url, savePath, trialCount: trialCount + 1);
|
||||
return _getModel(url, trialCount: trialCount + 1);
|
||||
} else {
|
||||
rethrow;
|
||||
}
|
||||
|
@ -159,9 +150,6 @@ class MLFrameworkInitializationUpdateEvent extends Event {
|
|||
enum InitializationState {
|
||||
notInitialized,
|
||||
waitingForNetwork,
|
||||
initializingImageModel,
|
||||
initializedImageModel,
|
||||
initializingTextModel,
|
||||
initializedTextModel,
|
||||
initializing,
|
||||
initialized,
|
||||
}
|
||||
|
|
|
@ -26,6 +26,11 @@ class RemoteAssetsService {
|
|||
}
|
||||
}
|
||||
|
||||
Future<bool> hasAsset(String remotePath) async {
|
||||
final path = await _getLocalPath(remotePath);
|
||||
return File(path).exists();
|
||||
}
|
||||
|
||||
Future<String> _getLocalPath(String remotePath) async {
|
||||
return (await getApplicationSupportDirectory()).path +
|
||||
"/assets/" +
|
||||
|
|
|
@ -198,6 +198,62 @@ class CollectionActions {
|
|||
return false;
|
||||
}
|
||||
|
||||
Future<bool> doesEmailHaveAccount(
|
||||
BuildContext context,
|
||||
String email, {
|
||||
bool showProgress = false,
|
||||
}) async {
|
||||
ProgressDialog? dialog;
|
||||
String? publicKey;
|
||||
if (showProgress) {
|
||||
dialog = createProgressDialog(
|
||||
context,
|
||||
S.of(context).sharing,
|
||||
isDismissible: true,
|
||||
);
|
||||
await dialog.show();
|
||||
}
|
||||
try {
|
||||
publicKey = await UserService.instance.getPublicKey(email);
|
||||
} catch (e) {
|
||||
await dialog?.hide();
|
||||
logger.severe("Failed to get public key", e);
|
||||
await showGenericErrorDialog(context: context, error: e);
|
||||
return false;
|
||||
}
|
||||
// getPublicKey can return null when no user is associated with given
|
||||
// email id
|
||||
if (publicKey == null || publicKey == '') {
|
||||
// todo: neeraj replace this as per the design where a new screen
|
||||
// is used for error. Do this change along with handling of network errors
|
||||
await showDialogWidget(
|
||||
context: context,
|
||||
title: S.of(context).inviteToEnte,
|
||||
icon: Icons.info_outline,
|
||||
body: S.of(context).emailNoEnteAccount(email),
|
||||
isDismissible: true,
|
||||
buttons: [
|
||||
ButtonWidget(
|
||||
buttonType: ButtonType.neutral,
|
||||
icon: Icons.adaptive.share,
|
||||
labelText: S.of(context).sendInvite,
|
||||
isInAlert: true,
|
||||
onTap: () async {
|
||||
unawaited(
|
||||
shareText(
|
||||
S.of(context).shareTextRecommendUsingEnte,
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
],
|
||||
);
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// addEmailToCollection returns true if add operation was successful
|
||||
Future<bool> addEmailToCollection(
|
||||
BuildContext context,
|
||||
|
|
|
@ -202,14 +202,14 @@ class _ButtonChildWidgetState extends State<ButtonChildWidget> {
|
|||
|
||||
@override
|
||||
void initState() {
|
||||
_setButtonTheme();
|
||||
super.initState();
|
||||
_setButtonTheme();
|
||||
}
|
||||
|
||||
@override
|
||||
void didUpdateWidget(covariant ButtonChildWidget oldWidget) {
|
||||
_setButtonTheme();
|
||||
super.didUpdateWidget(oldWidget);
|
||||
_setButtonTheme();
|
||||
}
|
||||
|
||||
@override
|
||||
|
|
402
mobile/lib/ui/sharing/add_participant_page.dart
Normal file
402
mobile/lib/ui/sharing/add_participant_page.dart
Normal file
|
@ -0,0 +1,402 @@
|
|||
import 'package:email_validator/email_validator.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:photos/core/configuration.dart';
|
||||
import "package:photos/generated/l10n.dart";
|
||||
import "package:photos/models/api/collection/user.dart";
|
||||
import 'package:photos/models/collection/collection.dart';
|
||||
import 'package:photos/services/collections_service.dart';
|
||||
import "package:photos/services/user_service.dart";
|
||||
import 'package:photos/theme/ente_theme.dart';
|
||||
import 'package:photos/ui/actions/collection/collection_sharing_actions.dart';
|
||||
import 'package:photos/ui/components/buttons/button_widget.dart';
|
||||
import 'package:photos/ui/components/captioned_text_widget.dart';
|
||||
import 'package:photos/ui/components/divider_widget.dart';
|
||||
import 'package:photos/ui/components/menu_item_widget/menu_item_widget.dart';
|
||||
import 'package:photos/ui/components/menu_section_description_widget.dart';
|
||||
import 'package:photos/ui/components/menu_section_title.dart';
|
||||
import 'package:photos/ui/components/models/button_type.dart';
|
||||
import 'package:photos/ui/sharing/user_avator_widget.dart';
|
||||
import "package:photos/ui/sharing/verify_identity_dialog.dart";
|
||||
import "package:photos/utils/toast_util.dart";
|
||||
|
||||
class AddParticipantPage extends StatefulWidget {
|
||||
final Collection collection;
|
||||
final bool isAddingViewer;
|
||||
|
||||
const AddParticipantPage(this.collection, this.isAddingViewer, {super.key});
|
||||
|
||||
@override
|
||||
State<StatefulWidget> createState() => _AddParticipantPage();
|
||||
}
|
||||
|
||||
class _AddParticipantPage extends State<AddParticipantPage> {
|
||||
final _selectedEmails = <String>{};
|
||||
String _newEmail = '';
|
||||
bool _emailIsValid = false;
|
||||
bool isKeypadOpen = false;
|
||||
late CollectionActions collectionActions;
|
||||
late List<User> _suggestedUsers;
|
||||
|
||||
// Focus nodes are necessary
|
||||
final textFieldFocusNode = FocusNode();
|
||||
final _textController = TextEditingController();
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
collectionActions = CollectionActions(CollectionsService.instance);
|
||||
_suggestedUsers = _getSuggestedUser();
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_textController.dispose();
|
||||
textFieldFocusNode.dispose();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final filterSuggestedUsers = _suggestedUsers
|
||||
.where(
|
||||
(element) => element.email.toLowerCase().contains(
|
||||
_textController.text.trim().toLowerCase(),
|
||||
),
|
||||
)
|
||||
.toList();
|
||||
isKeypadOpen = MediaQuery.viewInsetsOf(context).bottom > 100;
|
||||
final enteTextTheme = getEnteTextTheme(context);
|
||||
final enteColorScheme = getEnteColorScheme(context);
|
||||
return Scaffold(
|
||||
resizeToAvoidBottomInset: isKeypadOpen,
|
||||
appBar: AppBar(
|
||||
title: Text(
|
||||
widget.isAddingViewer
|
||||
? S.of(context).addViewer
|
||||
: S.of(context).addCollaborator,
|
||||
),
|
||||
),
|
||||
body: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
const SizedBox(height: 12),
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 16.0),
|
||||
child: Text(
|
||||
S.of(context).addANewEmail,
|
||||
style: enteTextTheme.small
|
||||
.copyWith(color: enteColorScheme.textMuted),
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 4),
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 16.0),
|
||||
child: _enterEmailField(),
|
||||
),
|
||||
Expanded(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 16.0),
|
||||
child: Column(
|
||||
children: [
|
||||
filterSuggestedUsers.isNotEmpty
|
||||
? MenuSectionTitle(
|
||||
title: S.of(context).orPickAnExistingOne,
|
||||
)
|
||||
: const SizedBox.shrink(),
|
||||
Expanded(
|
||||
child: ListView.builder(
|
||||
physics: const BouncingScrollPhysics(),
|
||||
itemBuilder: (context, index) {
|
||||
if (index >= filterSuggestedUsers.length) {
|
||||
return Padding(
|
||||
padding: const EdgeInsets.symmetric(
|
||||
vertical: 8.0,
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
filterSuggestedUsers.isNotEmpty
|
||||
? MenuSectionDescriptionWidget(
|
||||
content: S
|
||||
.of(context)
|
||||
.longPressAnEmailToVerifyEndToEndEncryption,
|
||||
)
|
||||
: const SizedBox.shrink(),
|
||||
widget.isAddingViewer
|
||||
? const SizedBox.shrink()
|
||||
: MenuSectionDescriptionWidget(
|
||||
content: S
|
||||
.of(context)
|
||||
.collaboratorsCanAddPhotosAndVideosToTheSharedAlbum,
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
final currentUser = filterSuggestedUsers[index];
|
||||
return Column(
|
||||
children: [
|
||||
MenuItemWidget(
|
||||
captionedTextWidget: CaptionedTextWidget(
|
||||
title: currentUser.email,
|
||||
),
|
||||
leadingIconSize: 24.0,
|
||||
leadingIconWidget: UserAvatarWidget(
|
||||
currentUser,
|
||||
type: AvatarType.mini,
|
||||
),
|
||||
menuItemColor:
|
||||
getEnteColorScheme(context).fillFaint,
|
||||
pressedColor:
|
||||
getEnteColorScheme(context).fillFaint,
|
||||
trailingIcon:
|
||||
(_selectedEmails.contains(currentUser.email))
|
||||
? Icons.check
|
||||
: null,
|
||||
onTap: () async {
|
||||
textFieldFocusNode.unfocus();
|
||||
if (_selectedEmails
|
||||
.contains(currentUser.email)) {
|
||||
_selectedEmails.remove(currentUser.email);
|
||||
} else {
|
||||
_selectedEmails.add(currentUser.email);
|
||||
}
|
||||
|
||||
setState(() => {});
|
||||
// showShortToast(context, "yet to implement");
|
||||
},
|
||||
onLongPress: () {
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (BuildContext context) {
|
||||
return VerifyIdentifyDialog(
|
||||
self: false,
|
||||
email: currentUser.email,
|
||||
);
|
||||
},
|
||||
);
|
||||
},
|
||||
isTopBorderRadiusRemoved: index > 0,
|
||||
isBottomBorderRadiusRemoved:
|
||||
index < (filterSuggestedUsers.length - 1),
|
||||
),
|
||||
(index == (filterSuggestedUsers.length - 1))
|
||||
? const SizedBox.shrink()
|
||||
: DividerWidget(
|
||||
dividerType: DividerType.menu,
|
||||
bgColor:
|
||||
getEnteColorScheme(context).fillFaint,
|
||||
),
|
||||
],
|
||||
);
|
||||
},
|
||||
itemCount: filterSuggestedUsers.length + 1,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
SafeArea(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(
|
||||
top: 8,
|
||||
bottom: 8,
|
||||
left: 16,
|
||||
right: 16,
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
const SizedBox(height: 8),
|
||||
ButtonWidget(
|
||||
buttonType: ButtonType.primary,
|
||||
buttonSize: ButtonSize.large,
|
||||
labelText: widget.isAddingViewer
|
||||
? S.of(context).addViewers(_selectedEmails.length)
|
||||
: S
|
||||
.of(context)
|
||||
.addCollaborators(_selectedEmails.length),
|
||||
isDisabled: _selectedEmails.isEmpty,
|
||||
onTap: () async {
|
||||
final results = <bool>[];
|
||||
for (String email in _selectedEmails) {
|
||||
results.add(
|
||||
await collectionActions.addEmailToCollection(
|
||||
context,
|
||||
widget.collection,
|
||||
email,
|
||||
widget.isAddingViewer
|
||||
? CollectionParticipantRole.viewer
|
||||
: CollectionParticipantRole.collaborator,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
final noOfSuccessfullAdds =
|
||||
results.where((e) => e).length;
|
||||
showToast(
|
||||
context,
|
||||
"Added $noOfSuccessfullAdds ${widget.isAddingViewer ? "viewers" : "collaborators"}",
|
||||
);
|
||||
|
||||
if (!results.any((e) => e == false) && mounted) {
|
||||
Navigator.of(context).pop(true);
|
||||
}
|
||||
},
|
||||
),
|
||||
const SizedBox(height: 12),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
void clearFocus() {
|
||||
_textController.clear();
|
||||
_newEmail = _textController.text;
|
||||
_emailIsValid = false;
|
||||
textFieldFocusNode.unfocus();
|
||||
setState(() => {});
|
||||
}
|
||||
|
||||
Widget _enterEmailField() {
|
||||
return Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: TextFormField(
|
||||
controller: _textController,
|
||||
focusNode: textFieldFocusNode,
|
||||
style: getEnteTextTheme(context).body,
|
||||
autofillHints: const [AutofillHints.email],
|
||||
decoration: InputDecoration(
|
||||
focusedBorder: OutlineInputBorder(
|
||||
borderRadius: const BorderRadius.all(Radius.circular(4.0)),
|
||||
borderSide:
|
||||
BorderSide(color: getEnteColorScheme(context).strokeMuted),
|
||||
),
|
||||
fillColor: getEnteColorScheme(context).fillFaint,
|
||||
filled: true,
|
||||
hintText: S.of(context).enterEmail,
|
||||
contentPadding: const EdgeInsets.symmetric(
|
||||
horizontal: 16,
|
||||
vertical: 14,
|
||||
),
|
||||
border: UnderlineInputBorder(
|
||||
borderSide: BorderSide.none,
|
||||
borderRadius: BorderRadius.circular(4),
|
||||
),
|
||||
prefixIcon: Icon(
|
||||
Icons.email_outlined,
|
||||
color: getEnteColorScheme(context).strokeMuted,
|
||||
),
|
||||
suffixIcon: _newEmail == ''
|
||||
? null
|
||||
: IconButton(
|
||||
onPressed: clearFocus,
|
||||
icon: Icon(
|
||||
Icons.cancel,
|
||||
color: getEnteColorScheme(context).strokeMuted,
|
||||
),
|
||||
),
|
||||
),
|
||||
onChanged: (value) {
|
||||
_newEmail = value.trim();
|
||||
_emailIsValid = EmailValidator.validate(_newEmail);
|
||||
setState(() {});
|
||||
},
|
||||
autocorrect: false,
|
||||
keyboardType: TextInputType.emailAddress,
|
||||
//initialValue: _email,
|
||||
textInputAction: TextInputAction.next,
|
||||
),
|
||||
),
|
||||
const SizedBox(width: 8),
|
||||
ButtonWidget(
|
||||
buttonType: ButtonType.secondary,
|
||||
buttonSize: ButtonSize.small,
|
||||
labelText: "Add",
|
||||
isDisabled: !_emailIsValid,
|
||||
onTap: () async {
|
||||
if (_emailIsValid) {
|
||||
final result = await collectionActions.doesEmailHaveAccount(
|
||||
context,
|
||||
_newEmail,
|
||||
);
|
||||
if (result && mounted) {
|
||||
setState(() {
|
||||
for (var suggestedUser in _suggestedUsers) {
|
||||
if (suggestedUser.email == _newEmail) {
|
||||
_selectedEmails.add(suggestedUser.email);
|
||||
clearFocus();
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
_suggestedUsers.insert(0, User(email: _newEmail));
|
||||
_selectedEmails.add(_newEmail);
|
||||
clearFocus();
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
List<User> _getSuggestedUser() {
|
||||
final List<User> suggestedUsers = [];
|
||||
final Set<String> existingEmails = {};
|
||||
final int ownerID = Configuration.instance.getUserID()!;
|
||||
existingEmails.add(Configuration.instance.getEmail()!);
|
||||
for (final User? u in widget.collection.sharees ?? []) {
|
||||
if (u != null && u.id != null && u.email.isNotEmpty) {
|
||||
existingEmails.add(u.email);
|
||||
}
|
||||
}
|
||||
for (final c in CollectionsService.instance.getActiveCollections()) {
|
||||
if (c.owner?.id == ownerID) {
|
||||
for (final User? u in c.sharees ?? []) {
|
||||
if (u != null &&
|
||||
u.id != null &&
|
||||
u.email.isNotEmpty &&
|
||||
!existingEmails.contains(u.email)) {
|
||||
existingEmails.add(u.email);
|
||||
suggestedUsers.add(u);
|
||||
}
|
||||
}
|
||||
} else if (c.owner != null &&
|
||||
c.owner!.id != null &&
|
||||
c.owner!.email.isNotEmpty &&
|
||||
!existingEmails.contains(c.owner!.email)) {
|
||||
existingEmails.add(c.owner!.email);
|
||||
suggestedUsers.add(c.owner!);
|
||||
}
|
||||
}
|
||||
final cachedUserDetails = UserService.instance.getCachedUserDetails();
|
||||
if (cachedUserDetails != null &&
|
||||
(cachedUserDetails.familyData?.members?.isNotEmpty ?? false)) {
|
||||
for (final member in cachedUserDetails.familyData!.members!) {
|
||||
if (!existingEmails.contains(member.email)) {
|
||||
existingEmails.add(member.email);
|
||||
suggestedUsers.add(User(email: member.email));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (_textController.text.trim().isNotEmpty) {
|
||||
suggestedUsers.removeWhere(
|
||||
(element) => !element.email
|
||||
.toLowerCase()
|
||||
.contains(_textController.text.trim().toLowerCase()),
|
||||
);
|
||||
}
|
||||
suggestedUsers.sort((a, b) => a.email.compareTo(b.email));
|
||||
|
||||
return suggestedUsers;
|
||||
}
|
||||
}
|
|
@ -1,361 +0,0 @@
|
|||
import 'package:email_validator/email_validator.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:photos/core/configuration.dart';
|
||||
import "package:photos/generated/l10n.dart";
|
||||
import "package:photos/models/api/collection/user.dart";
|
||||
import 'package:photos/models/collection/collection.dart';
|
||||
import 'package:photos/services/collections_service.dart';
|
||||
import "package:photos/services/user_service.dart";
|
||||
import 'package:photos/theme/ente_theme.dart';
|
||||
import 'package:photos/ui/actions/collection/collection_sharing_actions.dart';
|
||||
import 'package:photos/ui/components/buttons/button_widget.dart';
|
||||
import 'package:photos/ui/components/captioned_text_widget.dart';
|
||||
import 'package:photos/ui/components/divider_widget.dart';
|
||||
import 'package:photos/ui/components/menu_item_widget/menu_item_widget.dart';
|
||||
import 'package:photos/ui/components/menu_section_description_widget.dart';
|
||||
import 'package:photos/ui/components/menu_section_title.dart';
|
||||
import 'package:photos/ui/components/models/button_type.dart';
|
||||
import 'package:photos/ui/sharing/user_avator_widget.dart';
|
||||
import "package:photos/ui/sharing/verify_identity_dialog.dart";
|
||||
import "package:photos/utils/dialog_util.dart";
|
||||
|
||||
class AddParticipantPage extends StatefulWidget {
|
||||
final Collection collection;
|
||||
final bool isAddingViewer;
|
||||
|
||||
const AddParticipantPage(this.collection, this.isAddingViewer, {super.key});
|
||||
|
||||
@override
|
||||
State<StatefulWidget> createState() => _AddParticipantPage();
|
||||
}
|
||||
|
||||
class _AddParticipantPage extends State<AddParticipantPage> {
|
||||
String selectedEmail = '';
|
||||
String _email = '';
|
||||
bool isEmailListEmpty = false;
|
||||
bool _emailIsValid = false;
|
||||
bool isKeypadOpen = false;
|
||||
late CollectionActions collectionActions;
|
||||
|
||||
// Focus nodes are necessary
|
||||
final textFieldFocusNode = FocusNode();
|
||||
final _textController = TextEditingController();
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
collectionActions = CollectionActions(CollectionsService.instance);
|
||||
super.initState();
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_textController.dispose();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
isKeypadOpen = MediaQuery.of(context).viewInsets.bottom > 100;
|
||||
final enteTextTheme = getEnteTextTheme(context);
|
||||
final enteColorScheme = getEnteColorScheme(context);
|
||||
final List<User> suggestedUsers = _getSuggestedUser();
|
||||
isEmailListEmpty = suggestedUsers.isEmpty;
|
||||
return Scaffold(
|
||||
resizeToAvoidBottomInset: isKeypadOpen,
|
||||
appBar: AppBar(
|
||||
title: Text(
|
||||
widget.isAddingViewer
|
||||
? S.of(context).addViewer
|
||||
: S.of(context).addCollaborator,
|
||||
),
|
||||
),
|
||||
body: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
const SizedBox(height: 12),
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 16.0),
|
||||
child: Text(
|
||||
S.of(context).addANewEmail,
|
||||
style: enteTextTheme.small
|
||||
.copyWith(color: enteColorScheme.textMuted),
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 4),
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 16.0),
|
||||
child: _getEmailField(),
|
||||
),
|
||||
(isEmailListEmpty && widget.isAddingViewer)
|
||||
? const Expanded(child: SizedBox.shrink())
|
||||
: Expanded(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 16.0),
|
||||
child: Column(
|
||||
children: [
|
||||
!isEmailListEmpty
|
||||
? MenuSectionTitle(
|
||||
title: S.of(context).orPickAnExistingOne,
|
||||
)
|
||||
: const SizedBox.shrink(),
|
||||
Expanded(
|
||||
child: ListView.builder(
|
||||
itemBuilder: (context, index) {
|
||||
if (index >= suggestedUsers.length) {
|
||||
return Padding(
|
||||
padding: const EdgeInsets.symmetric(
|
||||
vertical: 8.0,
|
||||
),
|
||||
child: MenuSectionDescriptionWidget(
|
||||
content: S
|
||||
.of(context)
|
||||
.collaboratorsCanAddPhotosAndVideosToTheSharedAlbum,
|
||||
),
|
||||
);
|
||||
}
|
||||
final currentUser = suggestedUsers[index];
|
||||
return Column(
|
||||
children: [
|
||||
MenuItemWidget(
|
||||
captionedTextWidget: CaptionedTextWidget(
|
||||
title: currentUser.email,
|
||||
),
|
||||
leadingIconSize: 24.0,
|
||||
leadingIconWidget: UserAvatarWidget(
|
||||
currentUser,
|
||||
type: AvatarType.mini,
|
||||
),
|
||||
menuItemColor:
|
||||
getEnteColorScheme(context).fillFaint,
|
||||
pressedColor:
|
||||
getEnteColorScheme(context).fillFaint,
|
||||
trailingIcon:
|
||||
(selectedEmail == currentUser.email)
|
||||
? Icons.check
|
||||
: null,
|
||||
onTap: () async {
|
||||
textFieldFocusNode.unfocus();
|
||||
if (selectedEmail == currentUser.email) {
|
||||
selectedEmail = '';
|
||||
} else {
|
||||
selectedEmail = currentUser.email;
|
||||
}
|
||||
|
||||
setState(() => {});
|
||||
// showShortToast(context, "yet to implement");
|
||||
},
|
||||
isTopBorderRadiusRemoved: index > 0,
|
||||
isBottomBorderRadiusRemoved:
|
||||
index < (suggestedUsers.length - 1),
|
||||
),
|
||||
(index == (suggestedUsers.length - 1))
|
||||
? const SizedBox.shrink()
|
||||
: DividerWidget(
|
||||
dividerType: DividerType.menu,
|
||||
bgColor: getEnteColorScheme(context)
|
||||
.fillFaint,
|
||||
),
|
||||
],
|
||||
);
|
||||
},
|
||||
itemCount: suggestedUsers.length +
|
||||
(widget.isAddingViewer ? 0 : 1),
|
||||
// physics: const ClampingScrollPhysics(),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
SafeArea(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(
|
||||
top: 8,
|
||||
bottom: 8,
|
||||
left: 16,
|
||||
right: 16,
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
const SizedBox(height: 8),
|
||||
ButtonWidget(
|
||||
buttonType: ButtonType.primary,
|
||||
buttonSize: ButtonSize.large,
|
||||
labelText: widget.isAddingViewer
|
||||
? S.of(context).addViewer
|
||||
: S.of(context).addCollaborator,
|
||||
isDisabled: (selectedEmail == '' && !_emailIsValid),
|
||||
onTap: (selectedEmail == '' && !_emailIsValid)
|
||||
? null
|
||||
: () async {
|
||||
final emailToAdd =
|
||||
selectedEmail == '' ? _email : selectedEmail;
|
||||
final result =
|
||||
await collectionActions.addEmailToCollection(
|
||||
context,
|
||||
widget.collection,
|
||||
emailToAdd,
|
||||
widget.isAddingViewer
|
||||
? CollectionParticipantRole.viewer
|
||||
: CollectionParticipantRole.collaborator,
|
||||
);
|
||||
if (result && mounted) {
|
||||
Navigator.of(context).pop(true);
|
||||
}
|
||||
},
|
||||
),
|
||||
const SizedBox(height: 12),
|
||||
GestureDetector(
|
||||
onTap: () async {
|
||||
if ((selectedEmail == '' && !_emailIsValid)) {
|
||||
await showErrorDialog(
|
||||
context,
|
||||
S.of(context).invalidEmailAddress,
|
||||
S.of(context).enterValidEmail,
|
||||
);
|
||||
return;
|
||||
}
|
||||
final emailToAdd =
|
||||
selectedEmail == '' ? _email : selectedEmail;
|
||||
// ignore: unawaited_futures
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (BuildContext context) {
|
||||
return VerifyIdentifyDialog(
|
||||
self: false,
|
||||
email: emailToAdd,
|
||||
);
|
||||
},
|
||||
);
|
||||
},
|
||||
child: Text(
|
||||
S.of(context).verifyIDLabel,
|
||||
textAlign: TextAlign.center,
|
||||
style: enteTextTheme.smallMuted.copyWith(
|
||||
decoration: TextDecoration.underline,
|
||||
),
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 12),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
void clearFocus() {
|
||||
_textController.clear();
|
||||
_email = _textController.text;
|
||||
_emailIsValid = false;
|
||||
textFieldFocusNode.unfocus();
|
||||
setState(() => {});
|
||||
}
|
||||
|
||||
Widget _getEmailField() {
|
||||
return TextFormField(
|
||||
controller: _textController,
|
||||
focusNode: textFieldFocusNode,
|
||||
style: getEnteTextTheme(context).body,
|
||||
autofillHints: const [AutofillHints.email],
|
||||
decoration: InputDecoration(
|
||||
focusedBorder: OutlineInputBorder(
|
||||
borderRadius: const BorderRadius.all(Radius.circular(4.0)),
|
||||
borderSide:
|
||||
BorderSide(color: getEnteColorScheme(context).strokeMuted),
|
||||
),
|
||||
fillColor: getEnteColorScheme(context).fillFaint,
|
||||
filled: true,
|
||||
hintText: S.of(context).enterEmail,
|
||||
contentPadding: const EdgeInsets.symmetric(
|
||||
horizontal: 16,
|
||||
vertical: 14,
|
||||
),
|
||||
border: UnderlineInputBorder(
|
||||
borderSide: BorderSide.none,
|
||||
borderRadius: BorderRadius.circular(4),
|
||||
),
|
||||
prefixIcon: Icon(
|
||||
Icons.email_outlined,
|
||||
color: getEnteColorScheme(context).strokeMuted,
|
||||
),
|
||||
suffixIcon: _email == ''
|
||||
? null
|
||||
: IconButton(
|
||||
onPressed: clearFocus,
|
||||
icon: Icon(
|
||||
Icons.cancel,
|
||||
color: getEnteColorScheme(context).strokeMuted,
|
||||
),
|
||||
),
|
||||
),
|
||||
onChanged: (value) {
|
||||
if (selectedEmail != '') {
|
||||
selectedEmail = '';
|
||||
}
|
||||
_email = value.trim();
|
||||
_emailIsValid = EmailValidator.validate(_email);
|
||||
setState(() {});
|
||||
},
|
||||
autocorrect: false,
|
||||
keyboardType: TextInputType.emailAddress,
|
||||
//initialValue: _email,
|
||||
textInputAction: TextInputAction.next,
|
||||
);
|
||||
}
|
||||
|
||||
List<User> _getSuggestedUser() {
|
||||
final List<User> suggestedUsers = [];
|
||||
final Set<String> existingEmails = {};
|
||||
final int ownerID = Configuration.instance.getUserID()!;
|
||||
existingEmails.add(Configuration.instance.getEmail()!);
|
||||
for (final User? u in widget.collection.sharees ?? []) {
|
||||
if (u != null && u.id != null && u.email.isNotEmpty) {
|
||||
existingEmails.add(u.email);
|
||||
}
|
||||
}
|
||||
for (final c in CollectionsService.instance.getActiveCollections()) {
|
||||
if (c.owner?.id == ownerID) {
|
||||
for (final User? u in c.sharees ?? []) {
|
||||
if (u != null &&
|
||||
u.id != null &&
|
||||
u.email.isNotEmpty &&
|
||||
!existingEmails.contains(u.email)) {
|
||||
existingEmails.add(u.email);
|
||||
suggestedUsers.add(u);
|
||||
}
|
||||
}
|
||||
} else if (c.owner != null &&
|
||||
c.owner!.id != null &&
|
||||
c.owner!.email.isNotEmpty &&
|
||||
!existingEmails.contains(c.owner!.email)) {
|
||||
existingEmails.add(c.owner!.email);
|
||||
suggestedUsers.add(c.owner!);
|
||||
}
|
||||
}
|
||||
final cachedUserDetails = UserService.instance.getCachedUserDetails();
|
||||
if (cachedUserDetails != null &&
|
||||
(cachedUserDetails.familyData?.members?.isNotEmpty ?? false)) {
|
||||
for (final member in cachedUserDetails.familyData!.members!) {
|
||||
if (!existingEmails.contains(member.email)) {
|
||||
existingEmails.add(member.email);
|
||||
suggestedUsers.add(User(email: member.email));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (_textController.text.trim().isNotEmpty) {
|
||||
suggestedUsers.removeWhere(
|
||||
(element) => !element.email
|
||||
.toLowerCase()
|
||||
.contains(_textController.text.trim().toLowerCase()),
|
||||
);
|
||||
}
|
||||
suggestedUsers.sort((a, b) => a.email.compareTo(b.email));
|
||||
|
||||
return suggestedUsers;
|
||||
}
|
||||
}
|
|
@ -11,7 +11,7 @@ import 'package:photos/ui/components/menu_item_widget/menu_item_widget.dart';
|
|||
import 'package:photos/ui/components/menu_section_title.dart';
|
||||
import 'package:photos/ui/components/title_bar_title_widget.dart';
|
||||
import 'package:photos/ui/components/title_bar_widget.dart';
|
||||
import 'package:photos/ui/sharing/add_partipant_page.dart';
|
||||
import "package:photos/ui/sharing/add_participant_page.dart";
|
||||
import 'package:photos/ui/sharing/manage_album_participant.dart';
|
||||
import 'package:photos/ui/sharing/user_avator_widget.dart';
|
||||
import 'package:photos/utils/navigation_util.dart';
|
||||
|
|
|
@ -13,7 +13,7 @@ import 'package:photos/ui/components/divider_widget.dart';
|
|||
import 'package:photos/ui/components/menu_item_widget/menu_item_widget.dart';
|
||||
import 'package:photos/ui/components/menu_section_description_widget.dart';
|
||||
import 'package:photos/ui/components/menu_section_title.dart';
|
||||
import 'package:photos/ui/sharing/add_partipant_page.dart';
|
||||
import "package:photos/ui/sharing/add_participant_page.dart";
|
||||
import 'package:photos/ui/sharing/album_participants_page.dart';
|
||||
import "package:photos/ui/sharing/album_share_info_widget.dart";
|
||||
import "package:photos/ui/sharing/manage_album_participant.dart";
|
||||
|
|
|
@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
|
|||
import "package:photos/generated/l10n.dart";
|
||||
import 'package:photos/models/file/file.dart';
|
||||
import 'package:photos/theme/ente_theme.dart';
|
||||
import 'package:photos/ui/components/keyboard/keybiard_oveylay.dart';
|
||||
import 'package:photos/ui/components/keyboard/keyboard_oveylay.dart';
|
||||
import 'package:photos/ui/components/keyboard/keyboard_top_button.dart';
|
||||
import 'package:photos/utils/magic_util.dart';
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ import "package:photos/ui/common/loading_widget.dart";
|
|||
import "package:photos/ui/components/bottom_of_title_bar_widget.dart";
|
||||
import "package:photos/ui/components/buttons/button_widget.dart";
|
||||
import "package:photos/ui/components/divider_widget.dart";
|
||||
import "package:photos/ui/components/keyboard/keybiard_oveylay.dart";
|
||||
import 'package:photos/ui/components/keyboard/keyboard_oveylay.dart';
|
||||
import "package:photos/ui/components/keyboard/keyboard_top_button.dart";
|
||||
import "package:photos/ui/components/models/button_type.dart";
|
||||
import "package:photos/ui/components/text_input_widget.dart";
|
||||
|
|
|
@ -13,7 +13,7 @@ import "package:photos/ui/common/loading_widget.dart";
|
|||
import "package:photos/ui/components/bottom_of_title_bar_widget.dart";
|
||||
import "package:photos/ui/components/buttons/button_widget.dart";
|
||||
import "package:photos/ui/components/divider_widget.dart";
|
||||
import "package:photos/ui/components/keyboard/keybiard_oveylay.dart";
|
||||
import 'package:photos/ui/components/keyboard/keyboard_oveylay.dart';
|
||||
import "package:photos/ui/components/keyboard/keyboard_top_button.dart";
|
||||
import "package:photos/ui/components/models/button_type.dart";
|
||||
import "package:photos/ui/components/text_input_widget.dart";
|
||||
|
|
|
@ -95,9 +95,10 @@ setup we ourselves use in production.
|
|||
> [!TIP]
|
||||
>
|
||||
> On our production servers, we wrap museum in a [systemd
|
||||
> service](scripts/museum.service). Our production machines are vanilla Ubuntu
|
||||
> images, with Docker and Promtail installed. We then plonk in this systemd
|
||||
> service, and use `systemctl start|stop|status museum` to herd it around.
|
||||
> service](scripts/deploy/museum.service). Our production machines are vanilla
|
||||
> Ubuntu images, with Docker and Promtail installed. We then plonk in this
|
||||
> systemd service, and use `systemctl start|stop|status museum` to herd it
|
||||
> around.
|
||||
|
||||
Some people new to Docker/Go/Postgres might have general questions though.
|
||||
Unfortunately, because of limited engineering bandwidth **we will currently not
|
||||
|
|
|
@ -178,7 +178,8 @@ func main() {
|
|||
authCache := cache.New(1*time.Minute, 15*time.Minute)
|
||||
accessTokenCache := cache.New(1*time.Minute, 15*time.Minute)
|
||||
discordController := discord.NewDiscordController(userRepo, hostName, environment)
|
||||
rateLimiter := middleware.NewRateLimitMiddleware(discordController)
|
||||
rateLimiter := middleware.NewRateLimitMiddleware(discordController, 1000, 1*time.Second)
|
||||
defer rateLimiter.Stop()
|
||||
|
||||
emailNotificationCtrl := &email.EmailNotificationController{
|
||||
UserRepo: userRepo,
|
||||
|
@ -360,22 +361,22 @@ func main() {
|
|||
server.Use(requestid.New(), middleware.Logger(urlSanitizer), cors(), gzip.Gzip(gzip.DefaultCompression), middleware.PanicRecover())
|
||||
|
||||
publicAPI := server.Group("/")
|
||||
publicAPI.Use(rateLimiter.APIRateLimitMiddleware(urlSanitizer))
|
||||
publicAPI.Use(rateLimiter.GlobalRateLimiter(), rateLimiter.APIRateLimitMiddleware(urlSanitizer))
|
||||
|
||||
privateAPI := server.Group("/")
|
||||
privateAPI.Use(authMiddleware.TokenAuthMiddleware(nil), rateLimiter.APIRateLimitForUserMiddleware(urlSanitizer))
|
||||
privateAPI.Use(rateLimiter.GlobalRateLimiter(), authMiddleware.TokenAuthMiddleware(nil), rateLimiter.APIRateLimitForUserMiddleware(urlSanitizer))
|
||||
|
||||
adminAPI := server.Group("/admin")
|
||||
adminAPI.Use(authMiddleware.TokenAuthMiddleware(nil), authMiddleware.AdminAuthMiddleware())
|
||||
adminAPI.Use(rateLimiter.GlobalRateLimiter(), authMiddleware.TokenAuthMiddleware(nil), authMiddleware.AdminAuthMiddleware())
|
||||
paymentJwtAuthAPI := server.Group("/")
|
||||
paymentJwtAuthAPI.Use(authMiddleware.TokenAuthMiddleware(jwt.PAYMENT.Ptr()))
|
||||
paymentJwtAuthAPI.Use(rateLimiter.GlobalRateLimiter(), authMiddleware.TokenAuthMiddleware(jwt.PAYMENT.Ptr()))
|
||||
|
||||
familiesJwtAuthAPI := server.Group("/")
|
||||
//The middleware order matters. First, the userID must be set in the context, so that we can apply limit for user.
|
||||
familiesJwtAuthAPI.Use(authMiddleware.TokenAuthMiddleware(jwt.FAMILIES.Ptr()), rateLimiter.APIRateLimitForUserMiddleware(urlSanitizer))
|
||||
familiesJwtAuthAPI.Use(rateLimiter.GlobalRateLimiter(), authMiddleware.TokenAuthMiddleware(jwt.FAMILIES.Ptr()), rateLimiter.APIRateLimitForUserMiddleware(urlSanitizer))
|
||||
|
||||
publicCollectionAPI := server.Group("/public-collection")
|
||||
publicCollectionAPI.Use(accessTokenMiddleware.AccessTokenAuthMiddleware(urlSanitizer))
|
||||
publicCollectionAPI.Use(rateLimiter.GlobalRateLimiter(), accessTokenMiddleware.AccessTokenAuthMiddleware(urlSanitizer))
|
||||
|
||||
healthCheckHandler := &api.HealthCheckHandler{
|
||||
DB: db,
|
||||
|
@ -472,7 +473,7 @@ func main() {
|
|||
privateAPI.DELETE("/users/delete", userHandler.DeleteUser)
|
||||
|
||||
accountsJwtAuthAPI := server.Group("/")
|
||||
accountsJwtAuthAPI.Use(authMiddleware.TokenAuthMiddleware(jwt.ACCOUNTS.Ptr()), rateLimiter.APIRateLimitForUserMiddleware(urlSanitizer))
|
||||
accountsJwtAuthAPI.Use(rateLimiter.GlobalRateLimiter(), authMiddleware.TokenAuthMiddleware(jwt.ACCOUNTS.Ptr()), rateLimiter.APIRateLimitForUserMiddleware(urlSanitizer))
|
||||
passkeysHandler := &api.PasskeyHandler{
|
||||
Controller: passkeyCtrl,
|
||||
}
|
||||
|
@ -531,7 +532,7 @@ func main() {
|
|||
|
||||
castCtrl := cast.NewController(&castDb, accessCtrl)
|
||||
castMiddleware := middleware.CastMiddleware{CastCtrl: castCtrl, Cache: authCache}
|
||||
castAPI.Use(castMiddleware.CastAuthMiddleware())
|
||||
castAPI.Use(rateLimiter.GlobalRateLimiter(), castMiddleware.CastAuthMiddleware())
|
||||
|
||||
castHandler := &api.CastHandler{
|
||||
CollectionCtrl: collectionController,
|
||||
|
@ -711,9 +712,8 @@ func main() {
|
|||
}
|
||||
|
||||
func runServer(environment string, server *gin.Engine) {
|
||||
if environment == "local" {
|
||||
server.Run(":8080")
|
||||
} else {
|
||||
useTLS := viper.GetBool("http.use-tls")
|
||||
if useTLS {
|
||||
certPath, err := config.CredentialFilePath("tls.cert")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
|
@ -725,6 +725,8 @@ func runServer(environment string, server *gin.Engine) {
|
|||
}
|
||||
|
||||
log.Fatal(server.RunTLS(":443", certPath, keyPath))
|
||||
} else {
|
||||
server.Run(":8080")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -65,6 +65,12 @@
|
|||
# It must be specified if running in a non-local environment.
|
||||
log-file: ""
|
||||
|
||||
# HTTP connection parameters
|
||||
http:
|
||||
# If true, bind to 443 and use TLS.
|
||||
# By default, this is false, and museum will bind to 8080 without TLS.
|
||||
# use-tls: true
|
||||
|
||||
# Database connection parameters
|
||||
db:
|
||||
host: localhost
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
log-file: /var/logs/museum.log
|
||||
|
||||
http:
|
||||
use-tls: true
|
||||
|
||||
stripe:
|
||||
path:
|
||||
success: ?status=success&session_id={CHECKOUT_SESSION_ID}
|
||||
|
|
|
@ -106,7 +106,7 @@ func (c *DiscordController) NotifyAccountDelete(userID int64, paymentProvider st
|
|||
}
|
||||
|
||||
func (c *DiscordController) NotifyPotentialAbuse(message string) {
|
||||
c.Notify(message)
|
||||
c.Notify(fmt.Sprintf("%s: %s", c.HostName, message))
|
||||
}
|
||||
|
||||
func (c *DiscordController) getTimeSinceSignUp(userID int64) string {
|
||||
|
|
|
@ -5,6 +5,8 @@ import (
|
|||
"net/http"
|
||||
"strconv"
|
||||
"strings"
|
||||
"sync/atomic"
|
||||
"time"
|
||||
|
||||
"github.com/ente-io/museum/pkg/controller/discord"
|
||||
"github.com/ente-io/museum/pkg/utils/auth"
|
||||
|
@ -20,14 +22,40 @@ type RateLimitMiddleware struct {
|
|||
limit10ReqPerMin *limiter.Limiter
|
||||
limit200ReqPerSec *limiter.Limiter
|
||||
discordCtrl *discord.DiscordController
|
||||
count int64 // Use int64 for atomic operations
|
||||
limit int64
|
||||
reset time.Duration
|
||||
ticker *time.Ticker
|
||||
}
|
||||
|
||||
func NewRateLimitMiddleware(discordCtrl *discord.DiscordController) *RateLimitMiddleware {
|
||||
return &RateLimitMiddleware{
|
||||
func NewRateLimitMiddleware(discordCtrl *discord.DiscordController, limit int64, reset time.Duration) *RateLimitMiddleware {
|
||||
rl := &RateLimitMiddleware{
|
||||
limit10ReqPerMin: rateLimiter("10-M"),
|
||||
limit200ReqPerSec: rateLimiter("200-S"),
|
||||
discordCtrl: discordCtrl,
|
||||
limit: limit,
|
||||
reset: reset,
|
||||
ticker: time.NewTicker(reset),
|
||||
}
|
||||
go func() {
|
||||
for range rl.ticker.C {
|
||||
atomic.StoreInt64(&rl.count, 0) // Reset the count every reset interval
|
||||
}
|
||||
}()
|
||||
return rl
|
||||
}
|
||||
|
||||
// Increment increments the counter in a thread-safe manner.
|
||||
// Returns true if the increment was within the rate limit, false if the rate limit was exceeded.
|
||||
func (r *RateLimitMiddleware) Increment() bool {
|
||||
// Atomically increment the count
|
||||
newCount := atomic.AddInt64(&r.count, 1)
|
||||
return newCount <= r.limit
|
||||
}
|
||||
|
||||
// Stop the internal ticker, effectively stopping the rate limiter.
|
||||
func (r *RateLimitMiddleware) Stop() {
|
||||
r.ticker.Stop()
|
||||
}
|
||||
|
||||
// rateLimiter will return instance of limiter.Limiter based on internal <limit>-<period>
|
||||
|
@ -44,6 +72,20 @@ func rateLimiter(interval string) *limiter.Limiter {
|
|||
return instance
|
||||
}
|
||||
|
||||
// GlobalRateLimiter rate limits all requests to the server, regardless of the endpoint.
|
||||
func (r *RateLimitMiddleware) GlobalRateLimiter() gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
if !r.Increment() {
|
||||
if r.count%100 == 0 {
|
||||
go r.discordCtrl.NotifyPotentialAbuse(fmt.Sprintf("Global ratelimit (%d) breached %d", r.limit, r.count))
|
||||
}
|
||||
c.AbortWithStatusJSON(http.StatusTooManyRequests, gin.H{"error": "Rate limit breached, try later"})
|
||||
return
|
||||
}
|
||||
c.Next()
|
||||
}
|
||||
}
|
||||
|
||||
// APIRateLimitMiddleware only rate limits sensitive public endpoints which have a higher risk
|
||||
// of abuse by any bad actor.
|
||||
func (r *RateLimitMiddleware) APIRateLimitMiddleware(urlSanitizer func(_ *gin.Context) string) gin.HandlerFunc {
|
||||
|
|
92
server/scripts/deploy/README.md
Normal file
92
server/scripts/deploy/README.md
Normal file
|
@ -0,0 +1,92 @@
|
|||
# Production Deployments
|
||||
|
||||
This document outlines how we ourselves deploy museum. Note that this is very
|
||||
specific to our use case, and while this might be useful as an example, this is
|
||||
likely overkill for simple self hosted deployments.
|
||||
|
||||
## Overview
|
||||
|
||||
We use museum's Dockerfile to build images which we then run on vanilla Ubuntu
|
||||
servers (+ Docker installed). For ease of administration, we wrap Docker
|
||||
commands to start/stop/update it in a systemd service.
|
||||
|
||||
* The production machines are vanilla Ubuntu instances, with Docker and Promtail
|
||||
installed.
|
||||
|
||||
* There is a [GitHub action](../../../.github/workflows/server-release.yml) to
|
||||
build museum Docker images using its Dockerfile.
|
||||
|
||||
* We wrap the commands to start and stop containers using these images in a
|
||||
systemd service.
|
||||
|
||||
* We call this general concept of standalone Docker images that are managed
|
||||
using systemd as "services". More examples and details
|
||||
[here](../../../infra/services/README.md).
|
||||
|
||||
* So museum is a "service". You can see its systemd unit definition in
|
||||
[museum.service](museum.service)
|
||||
|
||||
* On the running instance, we use `systemctl start|stop|status museum` to manage
|
||||
it.
|
||||
|
||||
* The service automatically updates itself on each start. There's also a
|
||||
convenience [script](update-and-restart-museum.sh) that pre-downloads the
|
||||
latest image to further reduce the delay during a restart.
|
||||
|
||||
* Optionally and alternatively, museum can also be run behind an Nginx. This
|
||||
option has a separate service definition.
|
||||
|
||||
## Installation
|
||||
|
||||
To bring up an additional museum node:
|
||||
|
||||
* Prepare the instance to run our services
|
||||
|
||||
* Setup [promtail](../../../infra/services/promtail/README.md), [prometheus and
|
||||
node-exporter](../../../infra/services/prometheus/README.md) services
|
||||
|
||||
* If running behind Nginx, install the
|
||||
[nginx](../../../infra/services/nginx/README.md) service.
|
||||
|
||||
* Add credentials
|
||||
|
||||
sudo mkdir -p /root/museum/credentials
|
||||
sudo tee /root/museum/credentials/pst-service-account.json
|
||||
sudo tee /root/museum/credentials/fcm-service-account.json
|
||||
sudo tee /root/museum/credentials.yaml
|
||||
|
||||
* If not running behind Nginx, add the TLS credentials (otherwise add the to
|
||||
Nginx)
|
||||
|
||||
sudo tee /root/museum/credentials/tls.cert
|
||||
sudo tee /root/museum/credentials/tls.key
|
||||
|
||||
* Copy the service definition and restart script to the new instance. The
|
||||
restart script can remain in the ente user's home directory. Move the service
|
||||
definition to its proper place.
|
||||
|
||||
# If using nginx
|
||||
scp scripts/deploy/museum.nginx.service <instance>:museum.service
|
||||
# otherwise
|
||||
scp scripts/deploy/museum.service <instance>:
|
||||
|
||||
scp scripts/deploy/update-and-restart-museum.sh <instance>:
|
||||
|
||||
sudo mv museum.service /etc/systemd/system
|
||||
sudo systemctl daemon-reload
|
||||
|
||||
* If running behind Nginx, tell it about museum
|
||||
|
||||
scp scripts/deploy/museum.nginx.conf <instance>:
|
||||
|
||||
sudo mv museum.nginx.conf /etc/systemd/system
|
||||
sudo systemctl restart nginx
|
||||
|
||||
## Starting
|
||||
|
||||
SSH into the instance, and run
|
||||
|
||||
./update-and-restart-museum.sh
|
||||
|
||||
This'll ask for sudo credentials, pull the latest Docker image, restart the
|
||||
museum service and start tailing the logs (as a sanity check).
|
16
server/scripts/deploy/museum.nginx.conf
Normal file
16
server/scripts/deploy/museum.nginx.conf
Normal file
|
@ -0,0 +1,16 @@
|
|||
server {
|
||||
listen 443 ssl http2;
|
||||
listen [::]:443 ssl http2;
|
||||
ssl_certificate /etc/ssl/certs/cert.pem;
|
||||
ssl_certificate_key /etc/ssl/private/key.pem;
|
||||
|
||||
server_name api.ente.io;
|
||||
|
||||
location / {
|
||||
proxy_pass http://host.docker.internal:8080;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
}
|
||||
}
|
22
server/scripts/deploy/museum.nginx.service
Normal file
22
server/scripts/deploy/museum.nginx.service
Normal file
|
@ -0,0 +1,22 @@
|
|||
[Unit]
|
||||
Documentation=https://github.com/ente-io/ente/tree/main/server#readme
|
||||
Requires=docker.service
|
||||
After=docker.service
|
||||
Requires=nginx.service
|
||||
|
||||
[Service]
|
||||
Restart=on-failure
|
||||
ExecStartPre=docker pull rg.fr-par.scw.cloud/ente/museum-prod
|
||||
ExecStartPre=-docker stop museum
|
||||
ExecStartPre=-docker rm museum
|
||||
ExecStart=docker run --name museum \
|
||||
-e ENVIRONMENT=production \
|
||||
-e ENTE_HTTP_USE-TLS=1 \
|
||||
--hostname "%H" \
|
||||
-p 8080:8080 \
|
||||
-p 2112:2112 \
|
||||
-v /root/museum/credentials:/credentials:ro \
|
||||
-v /root/museum/credentials.yaml:/credentials.yaml:ro \
|
||||
-v /root/museum/data:/data:ro \
|
||||
-v /root/var:/var \
|
||||
rg.fr-par.scw.cloud/ente/museum-prod
|
|
@ -1,10 +1,7 @@
|
|||
[Unit]
|
||||
Documentation=https://github.com/ente-io/museum
|
||||
Documentation=https://github.com/ente-io/ente/tree/main/server#readme
|
||||
Requires=docker.service
|
||||
After=docker.service
|
||||
# Don't automatically restart if it fails more than 5 times in 10 minutes.
|
||||
StartLimitIntervalSec=600
|
||||
StartLimitBurst=5
|
||||
|
||||
[Service]
|
||||
Restart=on-failure
|
15
server/scripts/deploy/update-and-restart-museum.sh
Executable file
15
server/scripts/deploy/update-and-restart-museum.sh
Executable file
|
@ -0,0 +1,15 @@
|
|||
#!/bin/sh
|
||||
|
||||
# This script is meant to be run on the production instances.
|
||||
#
|
||||
# It will pull the latest Docker image, restart the museum process and start
|
||||
# tailing the logs as a sanity check.
|
||||
|
||||
set -o errexit
|
||||
|
||||
# The service file also does this, but also pre-pull here to minimize downtime.
|
||||
sudo docker pull rg.fr-par.scw.cloud/ente/museum-prod
|
||||
|
||||
sudo systemctl restart museum
|
||||
sudo systemctl status museum | more
|
||||
sudo tail -f /root/var/logs/museum.log
|
19
web/apps/accounts/src/pages/passkeys/flow/Recover.tsx
Normal file
19
web/apps/accounts/src/pages/passkeys/flow/Recover.tsx
Normal file
|
@ -0,0 +1,19 @@
|
|||
import { TwoFactorType } from "@ente/accounts/constants/twofactor";
|
||||
import RecoverPage from "@ente/accounts/pages/recover";
|
||||
import { APPS } from "@ente/shared/apps/constants";
|
||||
import { useRouter } from "next/router";
|
||||
import { AppContext } from "pages/_app";
|
||||
import { useContext } from "react";
|
||||
|
||||
export default function Recover() {
|
||||
const appContext = useContext(AppContext);
|
||||
const router = useRouter();
|
||||
return (
|
||||
<RecoverPage
|
||||
appContext={appContext}
|
||||
router={router}
|
||||
appName={APPS.PHOTOS}
|
||||
twoFactorType={TwoFactorType.PASSKEY}
|
||||
/>
|
||||
);
|
||||
}
|
|
@ -257,6 +257,18 @@ const PasskeysFlow = () => {
|
|||
>
|
||||
{t("TRY_AGAIN")}
|
||||
</EnteButton>
|
||||
<EnteButton
|
||||
href="/passkeys/flow/recover"
|
||||
fullWidth
|
||||
style={{
|
||||
marginTop: "1rem",
|
||||
}}
|
||||
color="primary"
|
||||
type="button"
|
||||
variant="text"
|
||||
>
|
||||
{t("RECOVER_TWO_FACTOR")}
|
||||
</EnteButton>
|
||||
</FormPaper>
|
||||
</Box>
|
||||
</Box>
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
"sanitize-filename": "^1.6.3",
|
||||
"similarity-transformation": "^0.0.1",
|
||||
"transformation-matrix": "^2.15.0",
|
||||
"uuid": "^9.0.0",
|
||||
"uuid": "^9.0.1",
|
||||
"vscode-uri": "^3.0.7",
|
||||
"xml-js": "^1.6.11",
|
||||
"zxcvbn": "^4.4.2"
|
||||
|
|
|
@ -634,8 +634,21 @@
|
|||
"VISIT_CAST_ENTE_IO": "",
|
||||
"CAST_AUTO_PAIR_FAILED": "",
|
||||
"CACHE_DIRECTORY": "",
|
||||
"PASSKEYS": "",
|
||||
"FREEHAND": "",
|
||||
"APPLY_CROP": "",
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": ""
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": "",
|
||||
"PASSKEYS": "",
|
||||
"DELETE_PASSKEY": "",
|
||||
"DELETE_PASSKEY_CONFIRMATION": "",
|
||||
"RENAME_PASSKEY": "",
|
||||
"ADD_PASSKEY": "",
|
||||
"ENTER_PASSKEY_NAME": "",
|
||||
"PASSKEYS_DESCRIPTION": "",
|
||||
"CREATED_AT": "",
|
||||
"PASSKEY_LOGIN_FAILED": "",
|
||||
"PASSKEY_LOGIN_URL_INVALID": "",
|
||||
"PASSKEY_LOGIN_ERRORED": "",
|
||||
"TRY_AGAIN": "",
|
||||
"PASSKEY_FOLLOW_THE_STEPS_FROM_YOUR_BROWSER": "",
|
||||
"LOGIN_WITH_PASSKEY": ""
|
||||
}
|
||||
|
|
|
@ -163,7 +163,7 @@
|
|||
"SUBSCRIPTION_PURCHASE_CANCELLED": "Dein Kauf wurde abgebrochen. Bitte versuche es erneut, wenn du abonnieren willst",
|
||||
"SUBSCRIPTION_PURCHASE_FAILED": "Kauf des Abonnements fehlgeschlagen Bitte versuchen Sie es erneut",
|
||||
"SUBSCRIPTION_UPDATE_FAILED": "Aktualisierung des Abonnements fehlgeschlagen Bitte versuchen Sie es erneut",
|
||||
"UPDATE_PAYMENT_METHOD_MESSAGE": "",
|
||||
"UPDATE_PAYMENT_METHOD_MESSAGE": "Es tut uns leid, die Zahlung ist fehlgeschlagen, als wir versuchten Ihre Karte zu belasten. Bitte aktualisieren Sie Ihre Zahlungsmethode und versuchen Sie es erneut",
|
||||
"STRIPE_AUTHENTICATION_FAILED": "Wir können deine Zahlungsmethode nicht authentifizieren. Bitte wähle eine andere Zahlungsmethode und versuche es erneut",
|
||||
"UPDATE_PAYMENT_METHOD": "Zahlungsmethode aktualisieren",
|
||||
"MONTHLY": "Monatlich",
|
||||
|
@ -260,13 +260,13 @@
|
|||
"ENABLE": "Aktivieren",
|
||||
"LOST_DEVICE": "Zwei-Faktor-Gerät verloren",
|
||||
"INCORRECT_CODE": "Falscher Code",
|
||||
"TWO_FACTOR_INFO": "",
|
||||
"TWO_FACTOR_INFO": "Fügen Sie eine zusätzliche Sicherheitsebene hinzu, indem Sie mehr als Ihre E-Mail und Ihr Passwort benötigen, um sich mit Ihrem Account anzumelden",
|
||||
"DISABLE_TWO_FACTOR_LABEL": "Deaktiviere die Zwei-Faktor-Authentifizierung",
|
||||
"UPDATE_TWO_FACTOR_LABEL": "Authentifizierungsgerät aktualisieren",
|
||||
"DISABLE": "Deaktivieren",
|
||||
"RECONFIGURE": "Neu einrichten",
|
||||
"UPDATE_TWO_FACTOR": "Zweiten Faktor aktualisieren",
|
||||
"UPDATE_TWO_FACTOR_MESSAGE": "",
|
||||
"UPDATE_TWO_FACTOR_MESSAGE": "Fahren Sie fort, werden alle Ihre zuvor konfigurierten Authentifikatoren ungültig",
|
||||
"UPDATE": "Aktualisierung",
|
||||
"DISABLE_TWO_FACTOR": "Zweiten Faktor deaktivieren",
|
||||
"DISABLE_TWO_FACTOR_MESSAGE": "Bist du sicher, dass du die Zwei-Faktor-Authentifizierung deaktivieren willst",
|
||||
|
@ -278,24 +278,24 @@
|
|||
"LAST_EXPORT_TIME": "Letztes Exportdatum",
|
||||
"EXPORT_AGAIN": "Neusynchronisation",
|
||||
"LOCAL_STORAGE_NOT_ACCESSIBLE": "Lokaler Speicher nicht zugänglich",
|
||||
"LOCAL_STORAGE_NOT_ACCESSIBLE_MESSAGE": "",
|
||||
"LOCAL_STORAGE_NOT_ACCESSIBLE_MESSAGE": "Ihr Browser oder ein Addon blockiert ente vor der Speicherung von Daten im lokalen Speicher. Bitte versuchen Sie, den Browser-Modus zu wechseln und die Seite neu zu laden.",
|
||||
"SEND_OTT": "OTP senden",
|
||||
"EMAIl_ALREADY_OWNED": "Diese E-Mail wird bereits verwendet",
|
||||
"ETAGS_BLOCKED": "",
|
||||
"SKIPPED_VIDEOS_INFO": "",
|
||||
"LIVE_PHOTOS_DETECTED": "",
|
||||
"RETRY_FAILED": "",
|
||||
"RETRY_FAILED": "Fehlgeschlagene Uploads erneut probieren",
|
||||
"FAILED_UPLOADS": "Fehlgeschlagene Uploads ",
|
||||
"SKIPPED_FILES": "Ignorierte Uploads",
|
||||
"THUMBNAIL_GENERATION_FAILED_UPLOADS": "Das Vorschaubild konnte nicht erzeugt werden",
|
||||
"UNSUPPORTED_FILES": "Nicht unterstützte Dateien",
|
||||
"SUCCESSFUL_UPLOADS": "",
|
||||
"SUCCESSFUL_UPLOADS": "Erfolgreiche Uploads",
|
||||
"SKIPPED_INFO": "",
|
||||
"UNSUPPORTED_INFO": "ente unterstützt diese Dateiformate noch nicht",
|
||||
"BLOCKED_UPLOADS": "Blockierte Uploads",
|
||||
"SKIPPED_VIDEOS": "Übersprungene Videos",
|
||||
"INPROGRESS_METADATA_EXTRACTION": "In Bearbeitung",
|
||||
"INPROGRESS_UPLOADS": "",
|
||||
"INPROGRESS_UPLOADS": "Upload läuft",
|
||||
"TOO_LARGE_UPLOADS": "Große Dateien",
|
||||
"LARGER_THAN_AVAILABLE_STORAGE_UPLOADS": "Zu wenig Speicher",
|
||||
"LARGER_THAN_AVAILABLE_STORAGE_INFO": "Diese Dateien wurden nicht hochgeladen, da sie die maximale Größe für Ihren Speicherplan überschreiten",
|
||||
|
@ -346,10 +346,10 @@
|
|||
"REPLACE_THUMBNAIL_COMPLETED": "",
|
||||
"REPLACE_THUMBNAIL_NOOP": "",
|
||||
"REPLACE_THUMBNAIL_COMPLETED_WITH_ERROR": "",
|
||||
"FIX_CREATION_TIME": "",
|
||||
"FIX_CREATION_TIME_IN_PROGRESS": "",
|
||||
"CREATION_TIME_UPDATED": "",
|
||||
"UPDATE_CREATION_TIME_NOT_STARTED": "",
|
||||
"FIX_CREATION_TIME": "Zeit reparieren",
|
||||
"FIX_CREATION_TIME_IN_PROGRESS": "Zeit wird repariert",
|
||||
"CREATION_TIME_UPDATED": "Datei-Zeit aktualisiert",
|
||||
"UPDATE_CREATION_TIME_NOT_STARTED": "Wählen Sie die Option, die Sie verwenden möchten",
|
||||
"UPDATE_CREATION_TIME_COMPLETED": "",
|
||||
"UPDATE_CREATION_TIME_COMPLETED_WITH_ERROR": "",
|
||||
"CAPTION_CHARACTER_LIMIT": "Maximal 5000 Zeichen",
|
||||
|
@ -358,25 +358,25 @@
|
|||
"METADATA_DATE": "",
|
||||
"CUSTOM_TIME": "Benutzerdefinierte Zeit",
|
||||
"REOPEN_PLAN_SELECTOR_MODAL": "",
|
||||
"OPEN_PLAN_SELECTOR_MODAL_FAILED": "",
|
||||
"OPEN_PLAN_SELECTOR_MODAL_FAILED": "Fehler beim Öffnen der Pläne",
|
||||
"INSTALL": "Installieren",
|
||||
"SHARING_DETAILS": "Details teilen",
|
||||
"MODIFY_SHARING": "Freigabe ändern",
|
||||
"ADD_COLLABORATORS": "Bearbeiter hinzufügen",
|
||||
"ADD_NEW_EMAIL": "Neue E-Mail-Adresse hinzufügen",
|
||||
"shared_with_people_zero": "",
|
||||
"shared_with_people_zero": "Mit bestimmten Personen teilen",
|
||||
"shared_with_people_one": "Geteilt mit einer Person",
|
||||
"shared_with_people_other": "",
|
||||
"shared_with_people_other": "Geteilt mit {{count, number}} Personen",
|
||||
"participants_zero": "Keine Teilnehmer",
|
||||
"participants_one": "1 Teilnehmer",
|
||||
"participants_other": "",
|
||||
"participants_other": "{{count, number}} Teilnehmer",
|
||||
"ADD_VIEWERS": "Betrachter hinzufügen",
|
||||
"PARTICIPANTS": "Teilnehmer",
|
||||
"CHANGE_PERMISSIONS_TO_VIEWER": "",
|
||||
"CHANGE_PERMISSIONS_TO_COLLABORATOR": "",
|
||||
"CONVERT_TO_VIEWER": "Ja, zu \"Beobachter\" ändern",
|
||||
"CONVERT_TO_COLLABORATOR": "",
|
||||
"CHANGE_PERMISSION": "",
|
||||
"CHANGE_PERMISSION": "Berechtigung ändern?",
|
||||
"REMOVE_PARTICIPANT": "Entfernen?",
|
||||
"CONFIRM_REMOVE": "Ja, entfernen",
|
||||
"MANAGE": "Verwalten",
|
||||
|
@ -384,9 +384,9 @@
|
|||
"COLLABORATOR_RIGHTS": "Bearbeiter können Fotos & Videos zu dem geteilten Album hinzufügen",
|
||||
"REMOVE_PARTICIPANT_HEAD": "Teilnehmer entfernen",
|
||||
"OWNER": "Besitzer",
|
||||
"COLLABORATORS": "",
|
||||
"COLLABORATORS": "Bearbeiter",
|
||||
"ADD_MORE": "Mehr hinzufügen",
|
||||
"VIEWERS": "",
|
||||
"VIEWERS": "Zuschauer",
|
||||
"OR_ADD_EXISTING": "Oder eine Vorherige auswählen",
|
||||
"REMOVE_PARTICIPANT_MESSAGE": "",
|
||||
"NOT_FOUND": "404 - Nicht gefunden",
|
||||
|
@ -401,19 +401,19 @@
|
|||
"NO_DEVICE_LIMIT": "Keins",
|
||||
"LINK_EXPIRY": "Ablaufdatum des Links",
|
||||
"NEVER": "Niemals",
|
||||
"DISABLE_FILE_DOWNLOAD": "",
|
||||
"DISABLE_FILE_DOWNLOAD": "Download deaktivieren",
|
||||
"DISABLE_FILE_DOWNLOAD_MESSAGE": "",
|
||||
"MALICIOUS_CONTENT": "",
|
||||
"COPYRIGHT": "",
|
||||
"SHARED_USING": "",
|
||||
"MALICIOUS_CONTENT": "Enthält schädliche Inhalte",
|
||||
"COPYRIGHT": "Verletzung des Urheberrechts von jemandem, den ich repräsentieren darf",
|
||||
"SHARED_USING": "Freigegeben über ",
|
||||
"ENTE_IO": "ente.io",
|
||||
"SHARING_REFERRAL_CODE": "",
|
||||
"LIVE": "LIVE",
|
||||
"DISABLE_PASSWORD": "",
|
||||
"DISABLE_PASSWORD_MESSAGE": "",
|
||||
"DISABLE_PASSWORD": "Passwort-Sperre deaktivieren",
|
||||
"DISABLE_PASSWORD_MESSAGE": "Sind Sie sicher, dass Sie die Passwort-Sperre deaktivieren möchten?",
|
||||
"PASSWORD_LOCK": "Passwort Sperre",
|
||||
"LOCK": "Sperren",
|
||||
"DOWNLOAD_UPLOAD_LOGS": "",
|
||||
"DOWNLOAD_UPLOAD_LOGS": "Debug-Logs",
|
||||
"UPLOAD_FILES": "Datei",
|
||||
"UPLOAD_DIRS": "Ordner",
|
||||
"UPLOAD_GOOGLE_TAKEOUT": "Google Takeout",
|
||||
|
@ -467,13 +467,13 @@
|
|||
"FAMILY_PLAN": "Familientarif",
|
||||
"DOWNLOAD_LOGS": "Logs herunterladen",
|
||||
"DOWNLOAD_LOGS_MESSAGE": "",
|
||||
"CHANGE_FOLDER": "",
|
||||
"TWO_MONTHS_FREE": "",
|
||||
"CHANGE_FOLDER": "Ordner ändern",
|
||||
"TWO_MONTHS_FREE": "Erhalte 2 Monate kostenlos bei Jahresabonnements",
|
||||
"GB": "GB",
|
||||
"POPULAR": "Beliebt",
|
||||
"FREE_PLAN_OPTION_LABEL": "",
|
||||
"FREE_PLAN_OPTION_LABEL": "Mit kostenloser Testversion fortfahren",
|
||||
"FREE_PLAN_DESCRIPTION": "1 GB für 1 Jahr",
|
||||
"CURRENT_USAGE": "",
|
||||
"CURRENT_USAGE": "Aktuelle Nutzung ist <strong>{{usage}}</strong>",
|
||||
"WEAK_DEVICE": "",
|
||||
"DRAG_AND_DROP_HINT": "",
|
||||
"CONFIRM_ACCOUNT_DELETION_MESSAGE": "",
|
||||
|
@ -634,8 +634,21 @@
|
|||
"VISIT_CAST_ENTE_IO": "",
|
||||
"CAST_AUTO_PAIR_FAILED": "",
|
||||
"CACHE_DIRECTORY": "",
|
||||
"PASSKEYS": "",
|
||||
"FREEHAND": "",
|
||||
"APPLY_CROP": "",
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": ""
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": "",
|
||||
"PASSKEYS": "",
|
||||
"DELETE_PASSKEY": "",
|
||||
"DELETE_PASSKEY_CONFIRMATION": "",
|
||||
"RENAME_PASSKEY": "",
|
||||
"ADD_PASSKEY": "",
|
||||
"ENTER_PASSKEY_NAME": "",
|
||||
"PASSKEYS_DESCRIPTION": "",
|
||||
"CREATED_AT": "",
|
||||
"PASSKEY_LOGIN_FAILED": "",
|
||||
"PASSKEY_LOGIN_URL_INVALID": "",
|
||||
"PASSKEY_LOGIN_ERRORED": "",
|
||||
"TRY_AGAIN": "",
|
||||
"PASSKEY_FOLLOW_THE_STEPS_FROM_YOUR_BROWSER": "",
|
||||
"LOGIN_WITH_PASSKEY": ""
|
||||
}
|
||||
|
|
|
@ -634,8 +634,21 @@
|
|||
"VISIT_CAST_ENTE_IO": "Visit cast.ente.io on the device you want to pair.",
|
||||
"CAST_AUTO_PAIR_FAILED": "Chromecast Auto Pair failed. Please try again.",
|
||||
"CACHE_DIRECTORY": "Cache folder",
|
||||
"PASSKEYS": "Passkeys",
|
||||
"FREEHAND": "Freehand",
|
||||
"APPLY_CROP": "Apply Crop",
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": "At least one transformation or color adjustment must be performed before saving."
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": "At least one transformation or color adjustment must be performed before saving.",
|
||||
"PASSKEYS": "Passkeys",
|
||||
"DELETE_PASSKEY": "Delete passkey",
|
||||
"DELETE_PASSKEY_CONFIRMATION": "Are you sure you want to delete this passkey? This action is irreversible.",
|
||||
"RENAME_PASSKEY": "Rename passkey",
|
||||
"ADD_PASSKEY": "Add passkey",
|
||||
"ENTER_PASSKEY_NAME": "Enter passkey name",
|
||||
"PASSKEYS_DESCRIPTION": "Passkeys are a modern and secure second-factor for your Ente account. They use on-device biometric authentication for convenience and security.",
|
||||
"CREATED_AT": "Created at",
|
||||
"PASSKEY_LOGIN_FAILED": "Passkey login failed",
|
||||
"PASSKEY_LOGIN_URL_INVALID": "The login URL is invalid.",
|
||||
"PASSKEY_LOGIN_ERRORED": "An error occurred while logging in with passkey.",
|
||||
"TRY_AGAIN": "Try again",
|
||||
"PASSKEY_FOLLOW_THE_STEPS_FROM_YOUR_BROWSER": "Follow the steps from your browser to continue logging in.",
|
||||
"LOGIN_WITH_PASSKEY": "Login with passkey"
|
||||
}
|
||||
|
|
|
@ -634,8 +634,21 @@
|
|||
"VISIT_CAST_ENTE_IO": "",
|
||||
"CAST_AUTO_PAIR_FAILED": "",
|
||||
"CACHE_DIRECTORY": "",
|
||||
"PASSKEYS": "",
|
||||
"FREEHAND": "",
|
||||
"APPLY_CROP": "",
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": ""
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": "",
|
||||
"PASSKEYS": "",
|
||||
"DELETE_PASSKEY": "",
|
||||
"DELETE_PASSKEY_CONFIRMATION": "",
|
||||
"RENAME_PASSKEY": "",
|
||||
"ADD_PASSKEY": "",
|
||||
"ENTER_PASSKEY_NAME": "",
|
||||
"PASSKEYS_DESCRIPTION": "",
|
||||
"CREATED_AT": "",
|
||||
"PASSKEY_LOGIN_FAILED": "",
|
||||
"PASSKEY_LOGIN_URL_INVALID": "",
|
||||
"PASSKEY_LOGIN_ERRORED": "",
|
||||
"TRY_AGAIN": "",
|
||||
"PASSKEY_FOLLOW_THE_STEPS_FROM_YOUR_BROWSER": "",
|
||||
"LOGIN_WITH_PASSKEY": ""
|
||||
}
|
||||
|
|
|
@ -634,8 +634,21 @@
|
|||
"VISIT_CAST_ENTE_IO": "",
|
||||
"CAST_AUTO_PAIR_FAILED": "",
|
||||
"CACHE_DIRECTORY": "",
|
||||
"PASSKEYS": "",
|
||||
"FREEHAND": "",
|
||||
"APPLY_CROP": "",
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": ""
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": "",
|
||||
"PASSKEYS": "",
|
||||
"DELETE_PASSKEY": "",
|
||||
"DELETE_PASSKEY_CONFIRMATION": "",
|
||||
"RENAME_PASSKEY": "",
|
||||
"ADD_PASSKEY": "",
|
||||
"ENTER_PASSKEY_NAME": "",
|
||||
"PASSKEYS_DESCRIPTION": "",
|
||||
"CREATED_AT": "",
|
||||
"PASSKEY_LOGIN_FAILED": "",
|
||||
"PASSKEY_LOGIN_URL_INVALID": "",
|
||||
"PASSKEY_LOGIN_ERRORED": "",
|
||||
"TRY_AGAIN": "",
|
||||
"PASSKEY_FOLLOW_THE_STEPS_FROM_YOUR_BROWSER": "",
|
||||
"LOGIN_WITH_PASSKEY": ""
|
||||
}
|
||||
|
|
|
@ -634,8 +634,21 @@
|
|||
"VISIT_CAST_ENTE_IO": "",
|
||||
"CAST_AUTO_PAIR_FAILED": "",
|
||||
"CACHE_DIRECTORY": "",
|
||||
"PASSKEYS": "",
|
||||
"FREEHAND": "",
|
||||
"APPLY_CROP": "",
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": ""
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": "",
|
||||
"PASSKEYS": "",
|
||||
"DELETE_PASSKEY": "",
|
||||
"DELETE_PASSKEY_CONFIRMATION": "",
|
||||
"RENAME_PASSKEY": "",
|
||||
"ADD_PASSKEY": "",
|
||||
"ENTER_PASSKEY_NAME": "",
|
||||
"PASSKEYS_DESCRIPTION": "",
|
||||
"CREATED_AT": "",
|
||||
"PASSKEY_LOGIN_FAILED": "",
|
||||
"PASSKEY_LOGIN_URL_INVALID": "",
|
||||
"PASSKEY_LOGIN_ERRORED": "",
|
||||
"TRY_AGAIN": "",
|
||||
"PASSKEY_FOLLOW_THE_STEPS_FROM_YOUR_BROWSER": "",
|
||||
"LOGIN_WITH_PASSKEY": ""
|
||||
}
|
||||
|
|
|
@ -634,8 +634,21 @@
|
|||
"VISIT_CAST_ENTE_IO": "Visitez cast.ente.io sur l'appareil que vous voulez associer.",
|
||||
"CAST_AUTO_PAIR_FAILED": "La paire automatique de Chromecast a échoué. Veuillez réessayer.",
|
||||
"CACHE_DIRECTORY": "Dossier du cache",
|
||||
"PASSKEYS": "Clés d'accès",
|
||||
"FREEHAND": "Main levée",
|
||||
"APPLY_CROP": "Appliquer le recadrage",
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": "Au moins une transformation ou un ajustement de couleur doit être effectué avant de sauvegarder."
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": "Au moins une transformation ou un ajustement de couleur doit être effectué avant de sauvegarder.",
|
||||
"PASSKEYS": "Clés d'accès",
|
||||
"DELETE_PASSKEY": "",
|
||||
"DELETE_PASSKEY_CONFIRMATION": "",
|
||||
"RENAME_PASSKEY": "",
|
||||
"ADD_PASSKEY": "",
|
||||
"ENTER_PASSKEY_NAME": "",
|
||||
"PASSKEYS_DESCRIPTION": "",
|
||||
"CREATED_AT": "",
|
||||
"PASSKEY_LOGIN_FAILED": "",
|
||||
"PASSKEY_LOGIN_URL_INVALID": "",
|
||||
"PASSKEY_LOGIN_ERRORED": "",
|
||||
"TRY_AGAIN": "",
|
||||
"PASSKEY_FOLLOW_THE_STEPS_FROM_YOUR_BROWSER": "",
|
||||
"LOGIN_WITH_PASSKEY": ""
|
||||
}
|
||||
|
|
|
@ -634,8 +634,21 @@
|
|||
"VISIT_CAST_ENTE_IO": "",
|
||||
"CAST_AUTO_PAIR_FAILED": "",
|
||||
"CACHE_DIRECTORY": "",
|
||||
"PASSKEYS": "",
|
||||
"FREEHAND": "",
|
||||
"APPLY_CROP": "",
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": ""
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": "",
|
||||
"PASSKEYS": "",
|
||||
"DELETE_PASSKEY": "",
|
||||
"DELETE_PASSKEY_CONFIRMATION": "",
|
||||
"RENAME_PASSKEY": "",
|
||||
"ADD_PASSKEY": "",
|
||||
"ENTER_PASSKEY_NAME": "",
|
||||
"PASSKEYS_DESCRIPTION": "",
|
||||
"CREATED_AT": "",
|
||||
"PASSKEY_LOGIN_FAILED": "",
|
||||
"PASSKEY_LOGIN_URL_INVALID": "",
|
||||
"PASSKEY_LOGIN_ERRORED": "",
|
||||
"TRY_AGAIN": "",
|
||||
"PASSKEY_FOLLOW_THE_STEPS_FROM_YOUR_BROWSER": "",
|
||||
"LOGIN_WITH_PASSKEY": ""
|
||||
}
|
||||
|
|
|
@ -634,8 +634,21 @@
|
|||
"VISIT_CAST_ENTE_IO": "",
|
||||
"CAST_AUTO_PAIR_FAILED": "",
|
||||
"CACHE_DIRECTORY": "",
|
||||
"PASSKEYS": "",
|
||||
"FREEHAND": "",
|
||||
"APPLY_CROP": "",
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": ""
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": "",
|
||||
"PASSKEYS": "",
|
||||
"DELETE_PASSKEY": "",
|
||||
"DELETE_PASSKEY_CONFIRMATION": "",
|
||||
"RENAME_PASSKEY": "",
|
||||
"ADD_PASSKEY": "",
|
||||
"ENTER_PASSKEY_NAME": "",
|
||||
"PASSKEYS_DESCRIPTION": "",
|
||||
"CREATED_AT": "",
|
||||
"PASSKEY_LOGIN_FAILED": "",
|
||||
"PASSKEY_LOGIN_URL_INVALID": "",
|
||||
"PASSKEY_LOGIN_ERRORED": "",
|
||||
"TRY_AGAIN": "",
|
||||
"PASSKEY_FOLLOW_THE_STEPS_FROM_YOUR_BROWSER": "",
|
||||
"LOGIN_WITH_PASSKEY": ""
|
||||
}
|
||||
|
|
|
@ -634,8 +634,21 @@
|
|||
"VISIT_CAST_ENTE_IO": "",
|
||||
"CAST_AUTO_PAIR_FAILED": "",
|
||||
"CACHE_DIRECTORY": "Cache map",
|
||||
"PASSKEYS": "",
|
||||
"FREEHAND": "Losse hand",
|
||||
"APPLY_CROP": "Bijsnijden toepassen",
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": "Tenminste één transformatie of kleuraanpassing moet worden uitgevoerd voordat u opslaat."
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": "Tenminste één transformatie of kleuraanpassing moet worden uitgevoerd voordat u opslaat.",
|
||||
"PASSKEYS": "",
|
||||
"DELETE_PASSKEY": "",
|
||||
"DELETE_PASSKEY_CONFIRMATION": "",
|
||||
"RENAME_PASSKEY": "",
|
||||
"ADD_PASSKEY": "",
|
||||
"ENTER_PASSKEY_NAME": "",
|
||||
"PASSKEYS_DESCRIPTION": "",
|
||||
"CREATED_AT": "",
|
||||
"PASSKEY_LOGIN_FAILED": "",
|
||||
"PASSKEY_LOGIN_URL_INVALID": "",
|
||||
"PASSKEY_LOGIN_ERRORED": "",
|
||||
"TRY_AGAIN": "",
|
||||
"PASSKEY_FOLLOW_THE_STEPS_FROM_YOUR_BROWSER": "",
|
||||
"LOGIN_WITH_PASSKEY": ""
|
||||
}
|
||||
|
|
|
@ -634,8 +634,21 @@
|
|||
"VISIT_CAST_ENTE_IO": "Acesse cast.ente.io no dispositivo que você deseja parear.",
|
||||
"CAST_AUTO_PAIR_FAILED": "Chromecast Auto Pair falhou. Por favor, tente novamente.",
|
||||
"CACHE_DIRECTORY": "Pasta de Cache",
|
||||
"PASSKEYS": "Chaves de acesso",
|
||||
"FREEHAND": "Mão livre",
|
||||
"APPLY_CROP": "Aplicar Recorte",
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": "Pelo menos uma transformação ou ajuste de cor deve ser feito antes de salvar."
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": "Pelo menos uma transformação ou ajuste de cor deve ser feito antes de salvar.",
|
||||
"PASSKEYS": "Chaves de acesso",
|
||||
"DELETE_PASSKEY": "",
|
||||
"DELETE_PASSKEY_CONFIRMATION": "",
|
||||
"RENAME_PASSKEY": "",
|
||||
"ADD_PASSKEY": "",
|
||||
"ENTER_PASSKEY_NAME": "",
|
||||
"PASSKEYS_DESCRIPTION": "",
|
||||
"CREATED_AT": "",
|
||||
"PASSKEY_LOGIN_FAILED": "",
|
||||
"PASSKEY_LOGIN_URL_INVALID": "",
|
||||
"PASSKEY_LOGIN_ERRORED": "",
|
||||
"TRY_AGAIN": "",
|
||||
"PASSKEY_FOLLOW_THE_STEPS_FROM_YOUR_BROWSER": "",
|
||||
"LOGIN_WITH_PASSKEY": ""
|
||||
}
|
||||
|
|
|
@ -634,8 +634,21 @@
|
|||
"VISIT_CAST_ENTE_IO": "",
|
||||
"CAST_AUTO_PAIR_FAILED": "",
|
||||
"CACHE_DIRECTORY": "",
|
||||
"PASSKEYS": "",
|
||||
"FREEHAND": "",
|
||||
"APPLY_CROP": "",
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": ""
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": "",
|
||||
"PASSKEYS": "",
|
||||
"DELETE_PASSKEY": "",
|
||||
"DELETE_PASSKEY_CONFIRMATION": "",
|
||||
"RENAME_PASSKEY": "",
|
||||
"ADD_PASSKEY": "",
|
||||
"ENTER_PASSKEY_NAME": "",
|
||||
"PASSKEYS_DESCRIPTION": "",
|
||||
"CREATED_AT": "",
|
||||
"PASSKEY_LOGIN_FAILED": "",
|
||||
"PASSKEY_LOGIN_URL_INVALID": "",
|
||||
"PASSKEY_LOGIN_ERRORED": "",
|
||||
"TRY_AGAIN": "",
|
||||
"PASSKEY_FOLLOW_THE_STEPS_FROM_YOUR_BROWSER": "",
|
||||
"LOGIN_WITH_PASSKEY": ""
|
||||
}
|
||||
|
|
|
@ -634,8 +634,21 @@
|
|||
"VISIT_CAST_ENTE_IO": "",
|
||||
"CAST_AUTO_PAIR_FAILED": "",
|
||||
"CACHE_DIRECTORY": "",
|
||||
"PASSKEYS": "",
|
||||
"FREEHAND": "",
|
||||
"APPLY_CROP": "",
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": ""
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": "",
|
||||
"PASSKEYS": "",
|
||||
"DELETE_PASSKEY": "",
|
||||
"DELETE_PASSKEY_CONFIRMATION": "",
|
||||
"RENAME_PASSKEY": "",
|
||||
"ADD_PASSKEY": "",
|
||||
"ENTER_PASSKEY_NAME": "",
|
||||
"PASSKEYS_DESCRIPTION": "",
|
||||
"CREATED_AT": "",
|
||||
"PASSKEY_LOGIN_FAILED": "",
|
||||
"PASSKEY_LOGIN_URL_INVALID": "",
|
||||
"PASSKEY_LOGIN_ERRORED": "",
|
||||
"TRY_AGAIN": "",
|
||||
"PASSKEY_FOLLOW_THE_STEPS_FROM_YOUR_BROWSER": "",
|
||||
"LOGIN_WITH_PASSKEY": ""
|
||||
}
|
||||
|
|
|
@ -634,8 +634,21 @@
|
|||
"VISIT_CAST_ENTE_IO": "",
|
||||
"CAST_AUTO_PAIR_FAILED": "",
|
||||
"CACHE_DIRECTORY": "",
|
||||
"PASSKEYS": "",
|
||||
"FREEHAND": "",
|
||||
"APPLY_CROP": "",
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": ""
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": "",
|
||||
"PASSKEYS": "",
|
||||
"DELETE_PASSKEY": "",
|
||||
"DELETE_PASSKEY_CONFIRMATION": "",
|
||||
"RENAME_PASSKEY": "",
|
||||
"ADD_PASSKEY": "",
|
||||
"ENTER_PASSKEY_NAME": "",
|
||||
"PASSKEYS_DESCRIPTION": "",
|
||||
"CREATED_AT": "",
|
||||
"PASSKEY_LOGIN_FAILED": "",
|
||||
"PASSKEY_LOGIN_URL_INVALID": "",
|
||||
"PASSKEY_LOGIN_ERRORED": "",
|
||||
"TRY_AGAIN": "",
|
||||
"PASSKEY_FOLLOW_THE_STEPS_FROM_YOUR_BROWSER": "",
|
||||
"LOGIN_WITH_PASSKEY": ""
|
||||
}
|
||||
|
|
|
@ -634,8 +634,21 @@
|
|||
"VISIT_CAST_ENTE_IO": "",
|
||||
"CAST_AUTO_PAIR_FAILED": "",
|
||||
"CACHE_DIRECTORY": "",
|
||||
"PASSKEYS": "",
|
||||
"FREEHAND": "",
|
||||
"APPLY_CROP": "",
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": ""
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": "",
|
||||
"PASSKEYS": "",
|
||||
"DELETE_PASSKEY": "",
|
||||
"DELETE_PASSKEY_CONFIRMATION": "",
|
||||
"RENAME_PASSKEY": "",
|
||||
"ADD_PASSKEY": "",
|
||||
"ENTER_PASSKEY_NAME": "",
|
||||
"PASSKEYS_DESCRIPTION": "",
|
||||
"CREATED_AT": "",
|
||||
"PASSKEY_LOGIN_FAILED": "",
|
||||
"PASSKEY_LOGIN_URL_INVALID": "",
|
||||
"PASSKEY_LOGIN_ERRORED": "",
|
||||
"TRY_AGAIN": "",
|
||||
"PASSKEY_FOLLOW_THE_STEPS_FROM_YOUR_BROWSER": "",
|
||||
"LOGIN_WITH_PASSKEY": ""
|
||||
}
|
||||
|
|
|
@ -634,8 +634,21 @@
|
|||
"VISIT_CAST_ENTE_IO": "",
|
||||
"CAST_AUTO_PAIR_FAILED": "",
|
||||
"CACHE_DIRECTORY": "",
|
||||
"PASSKEYS": "",
|
||||
"FREEHAND": "",
|
||||
"APPLY_CROP": "",
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": ""
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": "",
|
||||
"PASSKEYS": "",
|
||||
"DELETE_PASSKEY": "",
|
||||
"DELETE_PASSKEY_CONFIRMATION": "",
|
||||
"RENAME_PASSKEY": "",
|
||||
"ADD_PASSKEY": "",
|
||||
"ENTER_PASSKEY_NAME": "",
|
||||
"PASSKEYS_DESCRIPTION": "",
|
||||
"CREATED_AT": "",
|
||||
"PASSKEY_LOGIN_FAILED": "",
|
||||
"PASSKEY_LOGIN_URL_INVALID": "",
|
||||
"PASSKEY_LOGIN_ERRORED": "",
|
||||
"TRY_AGAIN": "",
|
||||
"PASSKEY_FOLLOW_THE_STEPS_FROM_YOUR_BROWSER": "",
|
||||
"LOGIN_WITH_PASSKEY": ""
|
||||
}
|
||||
|
|
|
@ -634,8 +634,21 @@
|
|||
"VISIT_CAST_ENTE_IO": "在您要配对的设备上访问 cast.ente.io 。",
|
||||
"CAST_AUTO_PAIR_FAILED": "Chromecast 自动配对失败。请再试一次。",
|
||||
"CACHE_DIRECTORY": "缓存文件夹",
|
||||
"PASSKEYS": "通行密钥",
|
||||
"FREEHAND": "手画",
|
||||
"APPLY_CROP": "应用裁剪",
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": "保存之前必须至少执行一项转换或颜色调整。"
|
||||
"PHOTO_EDIT_REQUIRED_TO_SAVE": "保存之前必须至少执行一项转换或颜色调整。",
|
||||
"PASSKEYS": "通行密钥",
|
||||
"DELETE_PASSKEY": "",
|
||||
"DELETE_PASSKEY_CONFIRMATION": "",
|
||||
"RENAME_PASSKEY": "",
|
||||
"ADD_PASSKEY": "",
|
||||
"ENTER_PASSKEY_NAME": "",
|
||||
"PASSKEYS_DESCRIPTION": "",
|
||||
"CREATED_AT": "",
|
||||
"PASSKEY_LOGIN_FAILED": "",
|
||||
"PASSKEY_LOGIN_URL_INVALID": "",
|
||||
"PASSKEY_LOGIN_ERRORED": "",
|
||||
"TRY_AGAIN": "",
|
||||
"PASSKEY_FOLLOW_THE_STEPS_FROM_YOUR_BROWSER": "",
|
||||
"LOGIN_WITH_PASSKEY": ""
|
||||
}
|
||||
|
|
|
@ -11,8 +11,17 @@ import TwoFactorModal from "components/TwoFactor/Modal";
|
|||
import { useRouter } from "next/router";
|
||||
import { AppContext } from "pages/_app";
|
||||
// import mlIDbStorage from 'utils/storage/mlIDbStorage';
|
||||
import {
|
||||
configurePasskeyRecovery,
|
||||
isPasskeyRecoveryEnabled,
|
||||
} from "@ente/accounts/services/passkey";
|
||||
import { APPS, CLIENT_PACKAGE_NAMES } from "@ente/shared/apps/constants";
|
||||
import ThemeSwitcher from "@ente/shared/components/ThemeSwitcher";
|
||||
import { getRecoveryKey } from "@ente/shared/crypto/helpers";
|
||||
import {
|
||||
encryptToB64,
|
||||
generateEncryptionKey,
|
||||
} from "@ente/shared/crypto/internal/libsodium";
|
||||
import { getAccountsURL } from "@ente/shared/network/api";
|
||||
import { logError } from "@ente/shared/sentry";
|
||||
import { THEME_COLOR } from "@ente/shared/themes/constants";
|
||||
|
@ -72,13 +81,35 @@ export default function UtilitySection({ closeSidebar }) {
|
|||
closeSidebar();
|
||||
|
||||
try {
|
||||
// check if the user has passkey recovery enabled
|
||||
const recoveryEnabled = await isPasskeyRecoveryEnabled();
|
||||
if (!recoveryEnabled) {
|
||||
// let's create the necessary recovery information
|
||||
const recoveryKey = await getRecoveryKey();
|
||||
|
||||
const resetSecret = await generateEncryptionKey();
|
||||
|
||||
const encryptionResult = await encryptToB64(
|
||||
resetSecret,
|
||||
recoveryKey,
|
||||
);
|
||||
|
||||
await configurePasskeyRecovery(
|
||||
resetSecret,
|
||||
encryptionResult.encryptedData,
|
||||
encryptionResult.nonce,
|
||||
);
|
||||
}
|
||||
|
||||
const accountsToken = await getAccountsToken();
|
||||
|
||||
window.location.href = `${getAccountsURL()}${
|
||||
ACCOUNTS_PAGES.ACCOUNT_HANDOFF
|
||||
}?package=${CLIENT_PACKAGE_NAMES.get(
|
||||
APPS.PHOTOS,
|
||||
)}&token=${accountsToken}`;
|
||||
window.open(
|
||||
`${getAccountsURL()}${
|
||||
ACCOUNTS_PAGES.ACCOUNT_HANDOFF
|
||||
}?package=${CLIENT_PACKAGE_NAMES.get(
|
||||
APPS.PHOTOS,
|
||||
)}&token=${accountsToken}`,
|
||||
);
|
||||
} catch (e) {
|
||||
logError(e, "failed to redirect to accounts page");
|
||||
}
|
||||
|
|
|
@ -15,6 +15,7 @@ import { logError } from "@ente/shared/sentry";
|
|||
import { getToken } from "@ente/shared/storage/localStorage/helpers";
|
||||
import { KeyAttributes } from "@ente/shared/user/types";
|
||||
import { HttpStatusCode } from "axios";
|
||||
import { TwoFactorType } from "../constants/twofactor";
|
||||
|
||||
const ENDPOINT = getEndpoint();
|
||||
|
||||
|
@ -79,17 +80,26 @@ export const verifyTwoFactor = async (code: string, sessionID: string) => {
|
|||
return resp.data as UserVerificationResponse;
|
||||
};
|
||||
|
||||
export const recoverTwoFactor = async (sessionID: string) => {
|
||||
export const recoverTwoFactor = async (
|
||||
sessionID: string,
|
||||
twoFactorType: TwoFactorType = TwoFactorType.TOTP,
|
||||
) => {
|
||||
const resp = await HTTPService.get(`${ENDPOINT}/users/two-factor/recover`, {
|
||||
sessionID,
|
||||
twoFactorType,
|
||||
});
|
||||
return resp.data as TwoFactorRecoveryResponse;
|
||||
};
|
||||
|
||||
export const removeTwoFactor = async (sessionID: string, secret: string) => {
|
||||
export const removeTwoFactor = async (
|
||||
sessionID: string,
|
||||
secret: string,
|
||||
twoFactorType: TwoFactorType = TwoFactorType.TOTP,
|
||||
) => {
|
||||
const resp = await HTTPService.post(`${ENDPOINT}/users/two-factor/remove`, {
|
||||
sessionID,
|
||||
secret,
|
||||
twoFactorType,
|
||||
});
|
||||
return resp.data as TwoFactorVerificationResponse;
|
||||
};
|
||||
|
|
4
web/packages/accounts/constants/twofactor.ts
Normal file
4
web/packages/accounts/constants/twofactor.ts
Normal file
|
@ -0,0 +1,4 @@
|
|||
export enum TwoFactorType {
|
||||
PASSKEY = "passkey",
|
||||
TOTP = "totp",
|
||||
}
|
|
@ -8,6 +8,7 @@ import { useEffect, useState } from "react";
|
|||
|
||||
import { recoverTwoFactor, removeTwoFactor } from "@ente/accounts/api/user";
|
||||
import { PAGES } from "@ente/accounts/constants/pages";
|
||||
import { TwoFactorType } from "@ente/accounts/constants/twofactor";
|
||||
import { logoutUser } from "@ente/accounts/services/user";
|
||||
import { PageProps } from "@ente/shared/apps/types";
|
||||
import { DialogBoxAttributesV2 } from "@ente/shared/components/DialogBoxV2/types";
|
||||
|
@ -28,7 +29,11 @@ const bip39 = require("bip39");
|
|||
// mobile client library only supports english.
|
||||
bip39.setDefaultWordlist("english");
|
||||
|
||||
export default function Recover({ router, appContext }: PageProps) {
|
||||
export default function Recover({
|
||||
router,
|
||||
appContext,
|
||||
twoFactorType = TwoFactorType.TOTP,
|
||||
}: PageProps) {
|
||||
const [encryptedTwoFactorSecret, setEncryptedTwoFactorSecret] =
|
||||
useState<B64EncryptionResult>(null);
|
||||
const [sessionID, setSessionID] = useState(null);
|
||||
|
@ -49,7 +54,10 @@ export default function Recover({ router, appContext }: PageProps) {
|
|||
}
|
||||
const main = async () => {
|
||||
try {
|
||||
const resp = await recoverTwoFactor(user.twoFactorSessionID);
|
||||
const resp = await recoverTwoFactor(
|
||||
user.twoFactorSessionID,
|
||||
twoFactorType,
|
||||
);
|
||||
setDoesHaveEncryptedRecoveryKey(!!resp.encryptedSecret);
|
||||
if (!resp.encryptedSecret) {
|
||||
showContactSupportDialog({
|
||||
|
@ -106,7 +114,11 @@ export default function Recover({ router, appContext }: PageProps) {
|
|||
encryptedTwoFactorSecret.nonce,
|
||||
await cryptoWorker.fromHex(recoveryKey),
|
||||
);
|
||||
const resp = await removeTwoFactor(sessionID, twoFactorSecret);
|
||||
const resp = await removeTwoFactor(
|
||||
sessionID,
|
||||
twoFactorSecret,
|
||||
twoFactorType,
|
||||
);
|
||||
const { keyAttributes, encryptedToken, token, id } = resp;
|
||||
setData(LS_KEYS.USER, {
|
||||
...getData(LS_KEYS.USER),
|
||||
|
|
56
web/packages/accounts/services/passkey.ts
Normal file
56
web/packages/accounts/services/passkey.ts
Normal file
|
@ -0,0 +1,56 @@
|
|||
import { CustomError } from "@ente/shared/error";
|
||||
import HTTPService from "@ente/shared/network/HTTPService";
|
||||
import { logError } from "@ente/shared/sentry";
|
||||
import { getToken } from "@ente/shared/storage/localStorage/helpers";
|
||||
|
||||
export const isPasskeyRecoveryEnabled = async () => {
|
||||
try {
|
||||
const token = getToken();
|
||||
|
||||
const resp = await HTTPService.get(
|
||||
"/users/two-factor/recovery-status",
|
||||
{},
|
||||
{
|
||||
"X-Auth-Token": token,
|
||||
},
|
||||
);
|
||||
|
||||
if (typeof resp.data === "undefined") {
|
||||
throw Error(CustomError.REQUEST_FAILED);
|
||||
}
|
||||
|
||||
return resp.data["isPasskeyRecoveryEnabled"] as boolean;
|
||||
} catch (e) {
|
||||
logError(e, "failed to get passkey recovery status");
|
||||
throw e;
|
||||
}
|
||||
};
|
||||
|
||||
export const configurePasskeyRecovery = async (
|
||||
secret: string,
|
||||
userEncryptedSecret: string,
|
||||
userSecretNonce: string,
|
||||
) => {
|
||||
try {
|
||||
const token = getToken();
|
||||
|
||||
const resp = await HTTPService.post(
|
||||
"/users/two-factor/passkeys/configure-recovery",
|
||||
{
|
||||
secret,
|
||||
userEncryptedSecret,
|
||||
userSecretNonce,
|
||||
},
|
||||
{
|
||||
"X-Auth-Token": token,
|
||||
},
|
||||
);
|
||||
|
||||
if (typeof resp.data === "undefined") {
|
||||
throw Error(CustomError.REQUEST_FAILED);
|
||||
}
|
||||
} catch (e) {
|
||||
logError(e, "failed to configure passkey recovery");
|
||||
throw e;
|
||||
}
|
||||
};
|
|
@ -1,4 +1,5 @@
|
|||
import { EmotionCache } from "@emotion/react";
|
||||
import { TwoFactorType } from "@ente/accounts/constants/twofactor";
|
||||
import { SetDialogBoxAttributesV2 } from "@ente/shared/components/DialogBoxV2/types";
|
||||
import { AppProps } from "next/app";
|
||||
import { NextRouter } from "next/router";
|
||||
|
@ -16,4 +17,5 @@ export interface PageProps {
|
|||
};
|
||||
router: NextRouter;
|
||||
appName: APPS;
|
||||
twoFactorType?: TwoFactorType;
|
||||
}
|
||||
|
|
|
@ -1979,11 +1979,7 @@ fastq@^1.6.0:
|
|||
reusify "^1.0.4"
|
||||
|
||||
"ffmpeg-wasm@file:./apps/photos/thirdparty/ffmpeg-wasm":
|
||||
version "0.10.1"
|
||||
dependencies:
|
||||
is-url "^1.2.4"
|
||||
node-fetch "^2.6.1"
|
||||
regenerator-runtime "^0.13.7"
|
||||
version "0.0.0"
|
||||
|
||||
file-entry-cache@^6.0.1:
|
||||
version "6.0.1"
|
||||
|
@ -2618,11 +2614,6 @@ is-typed-array@^1.1.13:
|
|||
dependencies:
|
||||
which-typed-array "^1.1.14"
|
||||
|
||||
is-url@^1.2.4:
|
||||
version "1.2.4"
|
||||
resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52"
|
||||
integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==
|
||||
|
||||
is-weakmap@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2"
|
||||
|
@ -3253,7 +3244,7 @@ peek-readable@^4.1.0:
|
|||
integrity sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==
|
||||
|
||||
"photoswipe@file:./apps/photos/thirdparty/photoswipe":
|
||||
version "4.1.6"
|
||||
version "0.0.0"
|
||||
|
||||
picocolors@^1.0.0:
|
||||
version "1.0.0"
|
||||
|
@ -3585,11 +3576,6 @@ reflect.getprototypeof@^1.0.4:
|
|||
globalthis "^1.0.3"
|
||||
which-builtin-type "^1.1.3"
|
||||
|
||||
regenerator-runtime@^0.13.7:
|
||||
version "0.13.11"
|
||||
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9"
|
||||
integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
|
||||
|
||||
regenerator-runtime@^0.14.0:
|
||||
version "0.14.1"
|
||||
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f"
|
||||
|
@ -4201,7 +4187,7 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1:
|
|||
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
|
||||
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
|
||||
|
||||
uuid@^9.0.0:
|
||||
uuid@^9.0.1:
|
||||
version "9.0.1"
|
||||
resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30"
|
||||
integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==
|
||||
|
|
Loading…
Reference in a new issue