This commit is contained in:
otsmr 2025-06-18 23:29:25 +02:00
parent 2ecebb2429
commit 6f3ac11f2f
4 changed files with 162 additions and 307 deletions

View file

@ -118,7 +118,10 @@ class ContactsDao extends DatabaseAccessor<TwonlyDatabase>
Stream<List<Contact>> watchNotAcceptedContacts() { Stream<List<Contact>> watchNotAcceptedContacts() {
return (select(contacts) return (select(contacts)
..where((t) => t.accepted.equals(false) & t.archived.equals(false))) ..where((t) =>
t.accepted.equals(false) &
t.archived.equals(false) &
t.blocked.equals(false)))
.watch(); .watch();
// return (select(contacts)).watch(); // return (select(contacts)).watch();
} }

View file

@ -62,8 +62,7 @@ import 'app_localizations_en.dart';
/// be consistent with the languages listed in the AppLocalizations.supportedLocales /// be consistent with the languages listed in the AppLocalizations.supportedLocales
/// property. /// property.
abstract class AppLocalizations { abstract class AppLocalizations {
AppLocalizations(String locale) AppLocalizations(String locale) : localeName = intl.Intl.canonicalizedLocale(locale.toString());
: localeName = intl.Intl.canonicalizedLocale(locale.toString());
final String localeName; final String localeName;
@ -71,8 +70,7 @@ abstract class AppLocalizations {
return Localizations.of<AppLocalizations>(context, AppLocalizations); return Localizations.of<AppLocalizations>(context, AppLocalizations);
} }
static const LocalizationsDelegate<AppLocalizations> delegate = static const LocalizationsDelegate<AppLocalizations> delegate = _AppLocalizationsDelegate();
_AppLocalizationsDelegate();
/// A list of this localizations delegate along with the default localizations /// A list of this localizations delegate along with the default localizations
/// delegates. /// delegates.
@ -84,8 +82,7 @@ abstract class AppLocalizations {
/// Additional delegates can be added by appending to this list in /// Additional delegates can be added by appending to this list in
/// MaterialApp. This list does not have to be used at all if a custom list /// MaterialApp. This list does not have to be used at all if a custom list
/// of delegates is preferred or required. /// of delegates is preferred or required.
static const List<LocalizationsDelegate<dynamic>> localizationsDelegates = static const List<LocalizationsDelegate<dynamic>> localizationsDelegates = <LocalizationsDelegate<dynamic>>[
<LocalizationsDelegate<dynamic>>[
delegate, delegate,
GlobalMaterialLocalizations.delegate, GlobalMaterialLocalizations.delegate,
GlobalCupertinoLocalizations.delegate, GlobalCupertinoLocalizations.delegate,
@ -1797,8 +1794,7 @@ abstract class AppLocalizations {
String get backupTwonlySaveNow; String get backupTwonlySaveNow;
} }
class _AppLocalizationsDelegate class _AppLocalizationsDelegate extends LocalizationsDelegate<AppLocalizations> {
extends LocalizationsDelegate<AppLocalizations> {
const _AppLocalizationsDelegate(); const _AppLocalizationsDelegate();
@override @override
@ -1807,25 +1803,25 @@ class _AppLocalizationsDelegate
} }
@override @override
bool isSupported(Locale locale) => bool isSupported(Locale locale) => <String>['de', 'en'].contains(locale.languageCode);
<String>['de', 'en'].contains(locale.languageCode);
@override @override
bool shouldReload(_AppLocalizationsDelegate old) => false; bool shouldReload(_AppLocalizationsDelegate old) => false;
} }
AppLocalizations lookupAppLocalizations(Locale locale) { AppLocalizations lookupAppLocalizations(Locale locale) {
// Lookup logic when only language code is specified. // Lookup logic when only language code is specified.
switch (locale.languageCode) { switch (locale.languageCode) {
case 'de': case 'de': return AppLocalizationsDe();
return AppLocalizationsDe(); case 'en': return AppLocalizationsEn();
case 'en':
return AppLocalizationsEn();
} }
throw FlutterError( throw FlutterError(
'AppLocalizations.delegate failed to load unsupported locale "$locale". This is likely ' 'AppLocalizations.delegate failed to load unsupported locale "$locale". This is likely '
'an issue with the localizations generation tool. Please file an issue ' 'an issue with the localizations generation tool. Please file an issue '
'on GitHub with a reproducible sample app and the gen-l10n configuration ' 'on GitHub with a reproducible sample app and the gen-l10n configuration '
'that was used.'); 'that was used.'
);
} }

View file

@ -12,79 +12,67 @@ class AppLocalizationsDe extends AppLocalizations {
String get registerTitle => 'Willkommen bei twonly!'; String get registerTitle => 'Willkommen bei twonly!';
@override @override
String get registerSlogan => String get registerSlogan => 'twonly, eine private und sichere Möglichkeit um mit Freunden in Kontakt zu bleiben.';
'twonly, eine private und sichere Möglichkeit um mit Freunden in Kontakt zu bleiben.';
@override @override
String get onboardingWelcomeTitle => 'Willkommen bei twonly!'; String get onboardingWelcomeTitle => 'Willkommen bei twonly!';
@override @override
String get onboardingWelcomeBody => String get onboardingWelcomeBody => 'Erlebe eine private und sichere Möglichkeit mit Freunden in Kontakt zu bleiben, indem du spontane Bilder teilst.';
'Erlebe eine private und sichere Möglichkeit mit Freunden in Kontakt zu bleiben, indem du spontane Bilder teilst.';
@override @override
String get onboardingE2eTitle => 'Unbekümmert teilen'; String get onboardingE2eTitle => 'Unbekümmert teilen';
@override @override
String get onboardingE2eBody => String get onboardingE2eBody => 'Genieße durch die Ende-zu-Ende-Verschlüsselung die Gewissheit, dass nur du und deine Freunde die geteilten Momente sehen können.';
'Genieße durch die Ende-zu-Ende-Verschlüsselung die Gewissheit, dass nur du und deine Freunde die geteilten Momente sehen können.';
@override @override
String get onboardingFocusTitle => String get onboardingFocusTitle => 'Fokussiere dich auf das Teilen von Momenten';
'Fokussiere dich auf das Teilen von Momenten';
@override @override
String get onboardingFocusBody => String get onboardingFocusBody => 'Verabschiede dich von süchtig machenden Funktionen! twonly wurde für das Teilen von Momenten ohne nutzlose Ablenkungen oder Werbung entwickelt.';
'Verabschiede dich von süchtig machenden Funktionen! twonly wurde für das Teilen von Momenten ohne nutzlose Ablenkungen oder Werbung entwickelt.';
@override @override
String get onboardingSendTwonliesTitle => 'twonlies senden'; String get onboardingSendTwonliesTitle => 'twonlies senden';
@override @override
String get onboardingSendTwonliesBody => String get onboardingSendTwonliesBody => 'Teile Momente sicher mit deinem Partner. twonly stellt sicher, dass nur dein Partner sie öffnen kann, sodass deine Momente mit deinem Partner eine two(o)nly Sache bleiben!';
'Teile Momente sicher mit deinem Partner. twonly stellt sicher, dass nur dein Partner sie öffnen kann, sodass deine Momente mit deinem Partner eine two(o)nly Sache bleiben!';
@override @override
String get onboardingNotProductTitle => 'Du bist nicht das Produkt!'; String get onboardingNotProductTitle => 'Du bist nicht das Produkt!';
@override @override
String get onboardingNotProductBody => String get onboardingNotProductBody => 'twonly finanziert sich durch eine geringe monatliche Gebühr und nicht durch den Verkauf deiner Daten.';
'twonly finanziert sich durch eine geringe monatliche Gebühr und nicht durch den Verkauf deiner Daten.';
@override @override
String get onboardingBuyOneGetTwoTitle => 'Kaufe eins, bekomme zwei'; String get onboardingBuyOneGetTwoTitle => 'Kaufe eins, bekomme zwei';
@override @override
String get onboardingBuyOneGetTwoBody => String get onboardingBuyOneGetTwoBody => 'twonly benötigt immer mindestens zwei Personen, daher erhältst du beim Kauf eine zweite kostenlose Lizenz für deinen twonly-Partner.';
'twonly benötigt immer mindestens zwei Personen, daher erhältst du beim Kauf eine zweite kostenlose Lizenz für deinen twonly-Partner.';
@override @override
String get onboardingGetStartedTitle => 'Auf geht\'s'; String get onboardingGetStartedTitle => 'Auf geht\'s';
@override @override
String get onboardingGetStartedBody => String get onboardingGetStartedBody => 'Du kannst twonly kostenlos im Preview-Modus testen. In diesem Modus kannst du von anderen gefunden werden und Bilder oder Videos empfangen, aber du kannst selbst keine senden.';
'Du kannst twonly kostenlos im Preview-Modus testen. In diesem Modus kannst du von anderen gefunden werden und Bilder oder Videos empfangen, aber du kannst selbst keine senden.';
@override @override
String get onboardingTryForFree => 'Kostenlos testen'; String get onboardingTryForFree => 'Kostenlos testen';
@override @override
String get registerUsernameSlogan => String get registerUsernameSlogan => 'Bitte wähle einen Benutzernamen, damit dich andere finden können!';
'Bitte wähle einen Benutzernamen, damit dich andere finden können!';
@override @override
String get registerUsernameDecoration => 'Benutzername'; String get registerUsernameDecoration => 'Benutzername';
@override @override
String get registerUsernameLimits => String get registerUsernameLimits => 'Der Benutzername muss 3 bis 12 Zeichen lang sein und darf nur aus Buchstaben (a-z) und Zahlen (0-9) bestehen.';
'Der Benutzername muss 3 bis 12 Zeichen lang sein und darf nur aus Buchstaben (a-z) und Zahlen (0-9) bestehen.';
@override @override
String get registerSubmitButton => 'Jetzt registrieren!'; String get registerSubmitButton => 'Jetzt registrieren!';
@override @override
String get registerTwonlyCodeText => String get registerTwonlyCodeText => 'Hast du einen twonly-Code erhalten? Dann löse ihn entweder direkt hier oder später ein!';
'Hast du einen twonly-Code erhalten? Dann löse ihn entweder direkt hier oder später ein!';
@override @override
String get registerTwonlyCodeLabel => 'twonly-Code'; String get registerTwonlyCodeLabel => 'twonly-Code';
@ -138,15 +126,13 @@ class AppLocalizationsDe extends AppLocalizations {
String get shareImageAllUsers => 'Alle Kontakte'; String get shareImageAllUsers => 'Alle Kontakte';
@override @override
String get shareImageAllTwonlyWarning => String get shareImageAllTwonlyWarning => 'twonlies können nur an verifizierte Kontakte gesendet werden!';
'twonlies können nur an verifizierte Kontakte gesendet werden!';
@override @override
String get shareImageUserNotVerified => 'Benutzer ist nicht verifiziert'; String get shareImageUserNotVerified => 'Benutzer ist nicht verifiziert';
@override @override
String get shareImageUserNotVerifiedDesc => String get shareImageUserNotVerifiedDesc => 'twonlies können nur an verifizierte Nutzer gesendet werden. Um einen Nutzer zu verifizieren, gehe auf sein Profil und auf „Sicherheitsnummer verifizieren“.';
'twonlies können nur an verifizierte Nutzer gesendet werden. Um einen Nutzer zu verifizieren, gehe auf sein Profil und auf „Sicherheitsnummer verifizieren“.';
@override @override
String get shareImageShowArchived => 'Archivierte Benutzer anzeigen'; String get shareImageShowArchived => 'Archivierte Benutzer anzeigen';
@ -158,8 +144,7 @@ class AppLocalizationsDe extends AppLocalizations {
String get searchUsernameTitle => 'Benutzernamen suchen'; String get searchUsernameTitle => 'Benutzernamen suchen';
@override @override
String get searchUserNamePreview => String get searchUserNamePreview => 'Um dich und andere twonly Benutzer vor Spam und Missbrauch zu schützen, ist es nicht möglich, im Preview-Modus nach anderen Personen zu suchen. Andere Benutzer können dich finden und deren Anfragen werden dann hier angezeigt!';
'Um dich und andere twonly Benutzer vor Spam und Missbrauch zu schützen, ist es nicht möglich, im Preview-Modus nach anderen Personen zu suchen. Andere Benutzer können dich finden und deren Anfragen werden dann hier angezeigt!';
@override @override
String get selectSubscription => 'Abo auswählen'; String get selectSubscription => 'Abo auswählen';
@ -168,16 +153,13 @@ class AppLocalizationsDe extends AppLocalizations {
String get searchUserNamePending => 'Ausstehend'; String get searchUserNamePending => 'Ausstehend';
@override @override
String get searchUserNameBlockUserTooltip => String get searchUserNameBlockUserTooltip => 'Benutzer ohne Benachrichtigung blockieren.';
'Benutzer ohne Benachrichtigung blockieren.';
@override @override
String get searchUserNameRejectUserTooltip => String get searchUserNameRejectUserTooltip => 'Die Anfrage ablehnen und den Anfragenden informieren.';
'Die Anfrage ablehnen und den Anfragenden informieren.';
@override @override
String get searchUserNameArchiveUserTooltip => String get searchUserNameArchiveUserTooltip => 'Benutzer archivieren. Du wirst informiert sobald er deine Anfrage akzeptiert.';
'Benutzer archivieren. Du wirst informiert sobald er deine Anfrage akzeptiert.';
@override @override
String get searchUsernameNotFound => 'Benutzername nicht gefunden'; String get searchUsernameNotFound => 'Benutzername nicht gefunden';
@ -194,8 +176,7 @@ class AppLocalizationsDe extends AppLocalizations {
String get searchUsernameQrCodeBtn => 'QR-Code scannen'; String get searchUsernameQrCodeBtn => 'QR-Code scannen';
@override @override
String get chatListViewSearchUserNameBtn => String get chatListViewSearchUserNameBtn => 'Füge deinen ersten twonly-Kontakt hinzu!';
'Füge deinen ersten twonly-Kontakt hinzu!';
@override @override
String get chatListViewSendFirstTwonly => 'Sende dein erstes twonly!'; String get chatListViewSendFirstTwonly => 'Sende dein erstes twonly!';
@ -228,8 +209,7 @@ class AppLocalizationsDe extends AppLocalizations {
String get contextMenuUnpin => 'Lösen'; String get contextMenuUnpin => 'Lösen';
@override @override
String get mediaViewerAuthReason => String get mediaViewerAuthReason => 'Bitte authentifiziere dich, um diesen twonly zu sehen!';
'Bitte authentifiziere dich, um diesen twonly zu sehen!';
@override @override
String get mediaViewerTwonlyTapToOpen => 'Tippe um den twonly zu öffnen!'; String get mediaViewerTwonlyTapToOpen => 'Tippe um den twonly zu öffnen!';
@ -271,8 +251,7 @@ class AppLocalizationsDe extends AppLocalizations {
String get settingsPreSelectedReactions => 'Vorgewählte Reaktions-Emojis'; String get settingsPreSelectedReactions => 'Vorgewählte Reaktions-Emojis';
@override @override
String get settingsPreSelectedReactionsError => String get settingsPreSelectedReactionsError => 'Es können maximal 12 Reaktionen ausgewählt werden.';
'Es können maximal 12 Reaktionen ausgewählt werden.';
@override @override
String get settingsProfile => 'Profil'; String get settingsProfile => 'Profil';
@ -284,12 +263,10 @@ class AppLocalizationsDe extends AppLocalizations {
String get settingsStorageDataStoreInGTitle => 'In der Galerie speichern'; String get settingsStorageDataStoreInGTitle => 'In der Galerie speichern';
@override @override
String get settingsStorageDataStoreInGSubtitle => String get settingsStorageDataStoreInGSubtitle => 'Speichere Bilder zusätzlich in der Systemgalerie.';
'Speichere Bilder zusätzlich in der Systemgalerie.';
@override @override
String get settingsStorageDataMediaAutoDownload => String get settingsStorageDataMediaAutoDownload => 'Automatischer Mediendownload';
'Automatischer Mediendownload';
@override @override
String get settingsStorageDataAutoDownMobile => 'Bei Nutzung mobiler Daten'; String get settingsStorageDataAutoDownMobile => 'Bei Nutzung mobiler Daten';
@ -322,8 +299,7 @@ class AppLocalizationsDe extends AppLocalizations {
String get settingsPrivacyBlockUsers => 'Benutzer blockieren'; String get settingsPrivacyBlockUsers => 'Benutzer blockieren';
@override @override
String get settingsPrivacyBlockUsersDesc => String get settingsPrivacyBlockUsersDesc => 'Blockierte Benutzer können nicht mit dir kommunizieren. Du kannst einen blockierten Benutzer jederzeit wieder entsperren.';
'Blockierte Benutzer können nicht mit dir kommunizieren. Du kannst einen blockierten Benutzer jederzeit wieder entsperren.';
@override @override
String settingsPrivacyBlockUsersCount(Object len) { String settingsPrivacyBlockUsersCount(Object len) {
@ -337,16 +313,13 @@ class AppLocalizationsDe extends AppLocalizations {
String get settingsNotifyTroubleshooting => 'Fehlersuche'; String get settingsNotifyTroubleshooting => 'Fehlersuche';
@override @override
String get settingsNotifyTroubleshootingDesc => String get settingsNotifyTroubleshootingDesc => 'Hier klicken, wenn Probleme beim Empfang von Push-Benachrichtigungen auftreten.';
'Hier klicken, wenn Probleme beim Empfang von Push-Benachrichtigungen auftreten.';
@override @override
String get settingsNotifyTroubleshootingNoProblem => String get settingsNotifyTroubleshootingNoProblem => 'Kein Problem festgestellt';
'Kein Problem festgestellt';
@override @override
String get settingsNotifyTroubleshootingNoProblemDesc => String get settingsNotifyTroubleshootingNoProblemDesc => 'Klicke auf OK, um eine Testbenachrichtigung zu erhalten. Wenn du auch nach 10 Minuten warten keine Nachricht erhältst, sende uns bitte dein Diagnoseprotokoll unter Einstellungen > Hilfe > Diagnoseprotokoll, damit wir uns das Problem ansehen können.';
'Klicke auf OK, um eine Testbenachrichtigung zu erhalten. Wenn du auch nach 10 Minuten warten keine Nachricht erhältst, sende uns bitte dein Diagnoseprotokoll unter Einstellungen > Hilfe > Diagnoseprotokoll, damit wir uns das Problem ansehen können.';
@override @override
String get settingsHelp => 'Hilfe'; String get settingsHelp => 'Hilfe';
@ -387,19 +360,16 @@ class AppLocalizationsDe extends AppLocalizations {
} }
@override @override
String get settingsAccountDeleteAccountNoBallance => String get settingsAccountDeleteAccountNoBallance => 'Wenn du dein Konto gelöscht hast, gibt es keinen Weg zurück.';
'Wenn du dein Konto gelöscht hast, gibt es keinen Weg zurück.';
@override @override
String get settingsAccountDeleteAccountNoInternet => String get settingsAccountDeleteAccountNoInternet => 'Zum Löschen deines Accounts ist eine Internetverbindung erforderlich.';
'Zum Löschen deines Accounts ist eine Internetverbindung erforderlich.';
@override @override
String get settingsAccountDeleteModalTitle => 'Bist du sicher?'; String get settingsAccountDeleteModalTitle => 'Bist du sicher?';
@override @override
String get settingsAccountDeleteModalBody => String get settingsAccountDeleteModalBody => 'Dein Konto wird gelöscht. Es gibt keine Möglichkeit, es wiederherzustellen.';
'Dein Konto wird gelöscht. Es gibt keine Möglichkeit, es wiederherzustellen.';
@override @override
String get contactVerifyNumberTitle => 'Sicherheitsnummer verifizieren'; String get contactVerifyNumberTitle => 'Sicherheitsnummer verifizieren';
@ -441,8 +411,7 @@ class AppLocalizationsDe extends AppLocalizations {
} }
@override @override
String get contactBlockBody => String get contactBlockBody => 'Ein blockierter Benutzer kann dir keine Nachrichten mehr senden, und sein Profil ist nicht mehr sichtbar. Um die Blockierung eines Benutzers aufzuheben, navigiere einfach zu Einstellungen > Datenschutz > Blockierte Benutzer.';
'Ein blockierter Benutzer kann dir keine Nachrichten mehr senden, und sein Profil ist nicht mehr sichtbar. Um die Blockierung eines Benutzers aufzuheben, navigiere einfach zu Einstellungen > Datenschutz > Blockierte Benutzer.';
@override @override
String get contactRemove => 'Benutzer löschen'; String get contactRemove => 'Benutzer löschen';
@ -453,8 +422,7 @@ class AppLocalizationsDe extends AppLocalizations {
} }
@override @override
String get contactRemoveBody => String get contactRemoveBody => 'Entferne den Benutzer und lösche den Chat sowie alle zugehörigen Mediendateien dauerhaft. Dadurch wird auch DEIN KONTO VON DEM TELEFON DEINES KONTAKTS gelöscht.';
'Entferne den Benutzer und lösche den Chat sowie alle zugehörigen Mediendateien dauerhaft. Dadurch wird auch DEIN KONTO VON DEM TELEFON DEINES KONTAKTS gelöscht.';
@override @override
String get undo => 'Rückgängig'; String get undo => 'Rückgängig';
@ -481,8 +449,7 @@ class AppLocalizationsDe extends AppLocalizations {
String get ok => 'Ok'; String get ok => 'Ok';
@override @override
String get switchFrontAndBackCamera => String get switchFrontAndBackCamera => 'Zwischen Front- und Rückkamera wechseln.';
'Zwischen Front- und Rückkamera wechseln.';
@override @override
String get addTextItem => 'Text'; String get addTextItem => 'Text';
@ -514,75 +481,58 @@ class AppLocalizationsDe extends AppLocalizations {
} }
@override @override
String get errorUnknown => String get errorUnknown => 'Ein unerwarteter Fehler ist aufgetreten. Bitte versuche es später erneut.';
'Ein unerwarteter Fehler ist aufgetreten. Bitte versuche es später erneut.';
@override @override
String get errorBadRequest => String get errorBadRequest => 'Die Anfrage konnte vom Server aufgrund einer fehlerhaften Syntax nicht verstanden werden. Bitte überprüfe deine Eingabe und versuche es erneut.';
'Die Anfrage konnte vom Server aufgrund einer fehlerhaften Syntax nicht verstanden werden. Bitte überprüfe deine Eingabe und versuche es erneut.';
@override @override
String get errorTooManyRequests => String get errorTooManyRequests => 'Du hast in kurzer Zeit zu viele Anfragen gestellt. Bitte warte einen Moment, bevor du es erneut versuchst.';
'Du hast in kurzer Zeit zu viele Anfragen gestellt. Bitte warte einen Moment, bevor du es erneut versuchst.';
@override @override
String get errorInternalError => String get errorInternalError => 'Der Server ist derzeit nicht verfügbar. Bitte versuche es später erneut.';
'Der Server ist derzeit nicht verfügbar. Bitte versuche es später erneut.';
@override @override
String get errorInvalidInvitationCode => String get errorInvalidInvitationCode => 'Der von dir angegebene Einladungscode ist ungültig. Bitte überprüfe den Code und versuche es erneut.';
'Der von dir angegebene Einladungscode ist ungültig. Bitte überprüfe den Code und versuche es erneut.';
@override @override
String get errorUsernameAlreadyTaken => String get errorUsernameAlreadyTaken => 'Der Benutzername, den du verwenden möchtest, ist bereits vergeben. Bitte wähle einen anderen Benutzernamen.';
'Der Benutzername, den du verwenden möchtest, ist bereits vergeben. Bitte wähle einen anderen Benutzernamen.';
@override @override
String get errorSignatureNotValid => String get errorSignatureNotValid => 'Die bereitgestellte Signatur ist nicht gültig. Bitte überprüfe deine Anmeldeinformationen und versuche es erneut.';
'Die bereitgestellte Signatur ist nicht gültig. Bitte überprüfe deine Anmeldeinformationen und versuche es erneut.';
@override @override
String get errorUsernameNotFound => String get errorUsernameNotFound => 'Der eingegebene Benutzername existiert nicht. Bitte überprüfe die Schreibweise oder erstelle ein neues Konto.';
'Der eingegebene Benutzername existiert nicht. Bitte überprüfe die Schreibweise oder erstelle ein neues Konto.';
@override @override
String get errorUsernameNotValid => String get errorUsernameNotValid => 'Der von dir angegebene Benutzername entspricht nicht den erforderlichen Kriterien. Bitte wähle einen gültigen Benutzernamen.';
'Der von dir angegebene Benutzername entspricht nicht den erforderlichen Kriterien. Bitte wähle einen gültigen Benutzernamen.';
@override @override
String get errorInvalidPublicKey => String get errorInvalidPublicKey => 'Der von dir angegebene öffentliche Schlüssel ist ungültig. Bitte überprüfe den Schlüssel und versuche es erneut.';
'Der von dir angegebene öffentliche Schlüssel ist ungültig. Bitte überprüfe den Schlüssel und versuche es erneut.';
@override @override
String get errorSessionAlreadyAuthenticated => String get errorSessionAlreadyAuthenticated => 'Du bist bereits angemeldet. Bitte melde dich ab, wenn du dich mit einem anderen Konto anmelden möchtest.';
'Du bist bereits angemeldet. Bitte melde dich ab, wenn du dich mit einem anderen Konto anmelden möchtest.';
@override @override
String get errorSessionNotAuthenticated => String get errorSessionNotAuthenticated => 'Deine Sitzung ist nicht authentifiziert. Bitte melde dich an, um fortzufahren.';
'Deine Sitzung ist nicht authentifiziert. Bitte melde dich an, um fortzufahren.';
@override @override
String get errorOnlyOneSessionAllowed => String get errorOnlyOneSessionAllowed => 'Es ist nur eine aktive Sitzung pro Benutzer erlaubt. Bitte melde dich von anderen Geräten ab, um fortzufahren.';
'Es ist nur eine aktive Sitzung pro Benutzer erlaubt. Bitte melde dich von anderen Geräten ab, um fortzufahren.';
@override @override
String get errorNotEnoughCredit => 'Du hast nicht genügend twonly-Guthaben.'; String get errorNotEnoughCredit => 'Du hast nicht genügend twonly-Guthaben.';
@override @override
String get errorVoucherInvalid => String get errorVoucherInvalid => 'Der eingegebene Gutschein-Code ist nicht gültig.';
'Der eingegebene Gutschein-Code ist nicht gültig.';
@override @override
String get errorPlanLimitReached => String get errorPlanLimitReached => 'Du hast das Limit deines Plans erreicht. Bitte upgrade deinen Plan.';
'Du hast das Limit deines Plans erreicht. Bitte upgrade deinen Plan.';
@override @override
String get errorPlanNotAllowed => String get errorPlanNotAllowed => 'Dieses Feature ist in deinem aktuellen Plan nicht verfügbar.';
'Dieses Feature ist in deinem aktuellen Plan nicht verfügbar.';
@override @override
String get errorPlanUpgradeNotYearly => String get errorPlanUpgradeNotYearly => 'Das Upgrade des Plans muss jährlich bezahlt werden, da der aktuelle Plan ebenfalls jährlich abgerechnet wird.';
'Das Upgrade des Plans muss jährlich bezahlt werden, da der aktuelle Plan ebenfalls jährlich abgerechnet wird.';
@override @override
String get upgradeToPaidPlan => 'Upgrade auf einen kostenpflichtigen Plan.'; String get upgradeToPaidPlan => 'Upgrade auf einen kostenpflichtigen Plan.';
@ -628,8 +578,7 @@ class AppLocalizationsDe extends AppLocalizations {
String get redeemUserInviteCodeTitle => 'twonly-Code einlösen'; String get redeemUserInviteCodeTitle => 'twonly-Code einlösen';
@override @override
String get redeemUserInviteCodeSuccess => String get redeemUserInviteCodeSuccess => 'Dein Plan wurde erfolgreich angepasst.';
'Dein Plan wurde erfolgreich angepasst.';
@override @override
String get freeFeature1 => '3 Medien-Datei-Uploads pro Tag'; String get freeFeature1 => '3 Medien-Datei-Uploads pro Tag';
@ -662,8 +611,7 @@ class AppLocalizationsDe extends AppLocalizations {
String get createVoucher => 'Gutschein kaufen'; String get createVoucher => 'Gutschein kaufen';
@override @override
String get createVoucherDesc => String get createVoucherDesc => 'Wähle den Wert des Gutscheins. Der Wert des Gutschein wird von deinem twonly-Guthaben abgezogen.';
'Wähle den Wert des Gutscheins. Der Wert des Gutschein wird von deinem twonly-Guthaben abgezogen.';
@override @override
String get redeemVoucher => 'Gutschein einlösen'; String get redeemVoucher => 'Gutschein einlösen';
@ -749,8 +697,7 @@ class AppLocalizationsDe extends AppLocalizations {
String get autoRenewalDesc => 'Du kannst dies jederzeit ändern.'; String get autoRenewalDesc => 'Du kannst dies jederzeit ändern.';
@override @override
String get autoRenewalLongDesc => String get autoRenewalLongDesc => 'Wenn dein Abonnement ausläuft, wirst du automatisch auf den Preview-Plan zurückgestuft. Wenn du die automatische Verlängerung aktivierst, vergewissere dich bitte, dass du über genügend Guthaben für die automatische Erneuerung verfügst. Wir werden dich rechtzeitig vor der automatischen Erneuerung benachrichtigen.';
'Wenn dein Abonnement ausläuft, wirst du automatisch auf den Preview-Plan zurückgestuft. Wenn du die automatische Verlängerung aktivierst, vergewissere dich bitte, dass du über genügend Guthaben für die automatische Erneuerung verfügst. Wir werden dich rechtzeitig vor der automatischen Erneuerung benachrichtigen.';
@override @override
String get planSuccessUpgraded => 'Dein Plan wurde erfolgreich aktualisiert.'; String get planSuccessUpgraded => 'Dein Plan wurde erfolgreich aktualisiert.';
@ -768,12 +715,10 @@ class AppLocalizationsDe extends AppLocalizations {
String get additionalUsersFreeTokens => 'twonly-Codes für \"Free\"-Benutzer'; String get additionalUsersFreeTokens => 'twonly-Codes für \"Free\"-Benutzer';
@override @override
String get planLimitReached => String get planLimitReached => 'Du hast dein Planlimit für heute erreicht. Aktualisiere deinen Plan jetzt, um die Mediendatei zu senden.';
'Du hast dein Planlimit für heute erreicht. Aktualisiere deinen Plan jetzt, um die Mediendatei zu senden.';
@override @override
String get planNotAllowed => String get planNotAllowed => 'In deinem aktuellen Plan kannst du keine Mediendateien versenden. Aktualisiere deinen Plan jetzt, um die Mediendatei zu senden.';
'In deinem aktuellen Plan kannst du keine Mediendateien versenden. Aktualisiere deinen Plan jetzt, um die Mediendatei zu senden.';
@override @override
String get galleryDelete => 'Datei löschen'; String get galleryDelete => 'Datei löschen';
@ -791,48 +736,37 @@ class AppLocalizationsDe extends AppLocalizations {
String get settingsResetTutorials => 'Tutorials erneut anzeigen'; String get settingsResetTutorials => 'Tutorials erneut anzeigen';
@override @override
String get settingsResetTutorialsDesc => String get settingsResetTutorialsDesc => 'Klicke hier, um bereits angezeigte Tutorials erneut anzuzeigen.';
'Klicke hier, um bereits angezeigte Tutorials erneut anzuzeigen.';
@override @override
String get settingsResetTutorialsSuccess => String get settingsResetTutorialsSuccess => 'Tutorials werden erneut angezeigt.';
'Tutorials werden erneut angezeigt.';
@override @override
String get tutorialChatListSearchUsersTitle => String get tutorialChatListSearchUsersTitle => 'Freunde finden und Freundschaftsanfragen verwalten';
'Freunde finden und Freundschaftsanfragen verwalten';
@override @override
String get tutorialChatListSearchUsersDesc => String get tutorialChatListSearchUsersDesc => 'Wenn du die Benutzernamen deiner Freunde kennst, kannst du sie hier suchen und eine Freundschaftsanfrage senden. Außerdem siehst du hier alle Anfragen von anderen Nutzern, die du annehmen oder blockieren kannst.';
'Wenn du die Benutzernamen deiner Freunde kennst, kannst du sie hier suchen und eine Freundschaftsanfrage senden. Außerdem siehst du hier alle Anfragen von anderen Nutzern, die du annehmen oder blockieren kannst.';
@override @override
String get tutorialChatListContextMenuTitle => String get tutorialChatListContextMenuTitle => 'Klicke lange auf den Kontakt, um das Kontextmenü zu öffnen.';
'Klicke lange auf den Kontakt, um das Kontextmenü zu öffnen.';
@override @override
String get tutorialChatListContextMenuDesc => String get tutorialChatListContextMenuDesc => 'Mit dem Kontextmenü kannst du deine Kontakte anheften, archivieren und verschiedene Aktionen durchführen. Halte dazu einfach den Kontakt lange gedrückt und bewege dann deinen Finger auf die gewünschte Option oder tippe direkt darauf.';
'Mit dem Kontextmenü kannst du deine Kontakte anheften, archivieren und verschiedene Aktionen durchführen. Halte dazu einfach den Kontakt lange gedrückt und bewege dann deinen Finger auf die gewünschte Option oder tippe direkt darauf.';
@override @override
String get tutorialChatMessagesVerifyShieldTitle => String get tutorialChatMessagesVerifyShieldTitle => 'Verifiziere deine Kontakte!';
'Verifiziere deine Kontakte!';
@override @override
String get tutorialChatMessagesVerifyShieldDesc => String get tutorialChatMessagesVerifyShieldDesc => 'twonly nutzt das Signal-Protokoll für eine sichere Ende-zu-Ende Verschlüsselung. Bei der ersten Kontaktaufnahme wird dafür der öffentliche Identitätsschlüssel von deinem Kontakt heruntergeladen. Um sicherzustellen, dass dieser Schlüssel nicht von Dritten ausgetauscht wurde, solltest du ihn mit deinem Freund vergleichen, wenn ihr euch persönlich trefft. Sobald du den Benutzer verifiziert hast, kannst du auch beim verschicken von Bildern und Videos den twonly-Modus aktivieren.';
'twonly nutzt das Signal-Protokoll für eine sichere Ende-zu-Ende Verschlüsselung. Bei der ersten Kontaktaufnahme wird dafür der öffentliche Identitätsschlüssel von deinem Kontakt heruntergeladen. Um sicherzustellen, dass dieser Schlüssel nicht von Dritten ausgetauscht wurde, solltest du ihn mit deinem Freund vergleichen, wenn ihr euch persönlich trefft. Sobald du den Benutzer verifiziert hast, kannst du auch beim verschicken von Bildern und Videos den twonly-Modus aktivieren.';
@override @override
String get tutorialChatMessagesReopenMessageTitle => String get tutorialChatMessagesReopenMessageTitle => 'Bilder und Videos erneut öffnen';
'Bilder und Videos erneut öffnen';
@override @override
String get tutorialChatMessagesReopenMessageDesc => String get tutorialChatMessagesReopenMessageDesc => 'Wenn dein Freund dir ein Bild oder Video mit unendlicher Anzeigezeit gesendet hat, kannst du es bis zum Neustart der App jederzeit erneut öffnen. Um dies zu tun, musst du einfach doppelt auf die Nachricht klicken. Dein Freund erhält dann eine Benachrichtigung, dass du das Bild erneut angesehen hast.';
'Wenn dein Freund dir ein Bild oder Video mit unendlicher Anzeigezeit gesendet hat, kannst du es bis zum Neustart der App jederzeit erneut öffnen. Um dies zu tun, musst du einfach doppelt auf die Nachricht klicken. Dein Freund erhält dann eine Benachrichtigung, dass du das Bild erneut angesehen hast.';
@override @override
String get memoriesEmpty => String get memoriesEmpty => 'Sobald du Bilder oder Videos speicherst, landen sie hier in deinen Erinnerungen.';
'Sobald du Bilder oder Videos speicherst, landen sie hier in deinen Erinnerungen.';
@override @override
String get deleteImageTitle => 'Bist du dir sicher?'; String get deleteImageTitle => 'Bist du dir sicher?';
@ -847,8 +781,7 @@ class AppLocalizationsDe extends AppLocalizations {
String get backupNoticeTitle => 'Kein Backup konfiguriert'; String get backupNoticeTitle => 'Kein Backup konfiguriert';
@override @override
String get backupNoticeDesc => String get backupNoticeDesc => 'Wenn du dein Gerät wechselst oder verlierst, kann ohne Backup niemand dein Account wiederherstellen. Sichere deshalb deine Daten.';
'Wenn du dein Gerät wechselst oder verlierst, kann ohne Backup niemand dein Account wiederherstellen. Sichere deshalb deine Daten.';
@override @override
String get backupNoticeLater => 'Später erinnern'; String get backupNoticeLater => 'Später erinnern';
@ -866,8 +799,7 @@ class AppLocalizationsDe extends AppLocalizations {
String get backupSuccess => 'Erfolgreich'; String get backupSuccess => 'Erfolgreich';
@override @override
String get backupTwonlySafeDesc => String get backupTwonlySafeDesc => 'Sichere deine twonly-Identität, da dies die einzige Möglichkeit ist, dein Konto wiederherzustellen, wenn du die App deinstallierst oder dein Handy verlierst.';
'Sichere deine twonly-Identität, da dies die einzige Möglichkeit ist, dein Konto wiederherzustellen, wenn du die App deinstallierst oder dein Handy verlierst.';
@override @override
String get backupServer => 'Server'; String get backupServer => 'Server';
@ -891,22 +823,19 @@ class AppLocalizationsDe extends AppLocalizations {
String get deleteBackupTitle => 'Bist du sicher?'; String get deleteBackupTitle => 'Bist du sicher?';
@override @override
String get deleteBackupBody => String get deleteBackupBody => 'Ohne ein Backup kannst du dein Benutzerkonto nicht wiederherstellen.';
'Ohne ein Backup kannst du dein Benutzerkonto nicht wiederherstellen.';
@override @override
String get backupData => 'Daten-Backup'; String get backupData => 'Daten-Backup';
@override @override
String get backupDataDesc => String get backupDataDesc => 'Das Daten-Backup enthält neben deiner twonly-Identität auch alle deine Mediendateien. Dieses Backup ist ebenfalls verschlüsselt, wird jedoch lokal gespeichert. Du musst es dann manuell auf deinen Laptop oder ein Gerät deiner Wahl kopieren.';
'Das Daten-Backup enthält neben deiner twonly-Identität auch alle deine Mediendateien. Dieses Backup ist ebenfalls verschlüsselt, wird jedoch lokal gespeichert. Du musst es dann manuell auf deinen Laptop oder ein Gerät deiner Wahl kopieren.';
@override @override
String get backupInsecurePassword => 'Unsicheres Passwort'; String get backupInsecurePassword => 'Unsicheres Passwort';
@override @override
String get backupInsecurePasswordDesc => String get backupInsecurePasswordDesc => 'Das gewählte Passwort ist sehr unsicher und kann daher leicht von Angreifern erraten werden. Bitte wähle ein sicheres Passwort.';
'Das gewählte Passwort ist sehr unsicher und kann daher leicht von Angreifern erraten werden. Bitte wähle ein sicheres Passwort.';
@override @override
String get backupInsecurePasswordOk => 'Trotzdem fortfahren'; String get backupInsecurePasswordOk => 'Trotzdem fortfahren';
@ -915,12 +844,10 @@ class AppLocalizationsDe extends AppLocalizations {
String get backupInsecurePasswordCancel => 'Erneut versuchen'; String get backupInsecurePasswordCancel => 'Erneut versuchen';
@override @override
String get backupTwonlySafeLongDesc => String get backupTwonlySafeLongDesc => 'twonly hat keine zentralen Benutzerkonten. Ein Schlüsselpaar wird während der Installation erstellt, das aus einem öffentlichen und einem privaten Schlüssel besteht. Der private Schlüssel wird nur auf deinem Gerät gespeichert, um ihn vor unbefugtem Zugriff zu schützen. Der öffentliche Schlüssel wird auf den Server hochgeladen und mit deinem gewählten Benutzernamen verknüpft, damit andere dich finden können.\n\ntwonly Safe erstellt regelmäßig ein verschlüsseltes, anonymes Backup deines privaten Schlüssels zusammen mit deinen Kontakten und Einstellungen. Dein Benutzername und das gewählte Passwort reichen aus, um diese Daten auf einem anderen Gerät wiederherzustellen.';
'twonly hat keine zentralen Benutzerkonten. Ein Schlüsselpaar wird während der Installation erstellt, das aus einem öffentlichen und einem privaten Schlüssel besteht. Der private Schlüssel wird nur auf deinem Gerät gespeichert, um ihn vor unbefugtem Zugriff zu schützen. Der öffentliche Schlüssel wird auf den Server hochgeladen und mit deinem gewählten Benutzernamen verknüpft, damit andere dich finden können.\n\ntwonly Safe erstellt regelmäßig ein verschlüsseltes, anonymes Backup deines privaten Schlüssels zusammen mit deinen Kontakten und Einstellungen. Dein Benutzername und das gewählte Passwort reichen aus, um diese Daten auf einem anderen Gerät wiederherzustellen.';
@override @override
String get backupSelectStrongPassword => String get backupSelectStrongPassword => 'Wähle ein sicheres Passwort. Dies ist erforderlich, wenn du dein twonly Safe-Backup wiederherstellen möchtest.';
'Wähle ein sicheres Passwort. Dies ist erforderlich, wenn du dein twonly Safe-Backup wiederherstellen möchtest.';
@override @override
String get password => 'Passwort'; String get password => 'Passwort';
@ -932,8 +859,7 @@ class AppLocalizationsDe extends AppLocalizations {
String get passwordRepeatedNotEqual => 'Passwörter stimmen nicht überein.'; String get passwordRepeatedNotEqual => 'Passwörter stimmen nicht überein.';
@override @override
String get backupPasswordRequirement => String get backupPasswordRequirement => 'Das Passwort muss mindestens 8 Zeichen lang sein.';
'Das Passwort muss mindestens 8 Zeichen lang sein.';
@override @override
String get backupExpertSettings => 'Experteneinstellungen'; String get backupExpertSettings => 'Experteneinstellungen';
@ -942,8 +868,7 @@ class AppLocalizationsDe extends AppLocalizations {
String get backupEnableBackup => 'Automatische Sicherung aktivieren'; String get backupEnableBackup => 'Automatische Sicherung aktivieren';
@override @override
String get backupOwnServerDesc => String get backupOwnServerDesc => 'Speichere dein twonly Safe-Backups auf einem Server deiner Wahl.';
'Speichere dein twonly Safe-Backups auf einem Server deiner Wahl.';
@override @override
String get backupUseOwnServer => 'Server verwenden'; String get backupUseOwnServer => 'Server verwenden';

View file

@ -12,78 +12,67 @@ class AppLocalizationsEn extends AppLocalizations {
String get registerTitle => 'Welcome to twonly!'; String get registerTitle => 'Welcome to twonly!';
@override @override
String get registerSlogan => String get registerSlogan => 'twonly, a privacy friendly way to connect with friends through secure, spontaneous image sharing';
'twonly, a privacy friendly way to connect with friends through secure, spontaneous image sharing';
@override @override
String get onboardingWelcomeTitle => 'Welcome to twonly!'; String get onboardingWelcomeTitle => 'Welcome to twonly!';
@override @override
String get onboardingWelcomeBody => String get onboardingWelcomeBody => 'Experience a private and secure way to stay in touch with friends by sharing instant pictures.';
'Experience a private and secure way to stay in touch with friends by sharing instant pictures.';
@override @override
String get onboardingE2eTitle => 'Carefree sharing'; String get onboardingE2eTitle => 'Carefree sharing';
@override @override
String get onboardingE2eBody => String get onboardingE2eBody => 'With end-to-end encryption, enjoy the peace of mind that only you and your friends can see the moments you share.';
'With end-to-end encryption, enjoy the peace of mind that only you and your friends can see the moments you share.';
@override @override
String get onboardingFocusTitle => 'Focus on sharing moments'; String get onboardingFocusTitle => 'Focus on sharing moments';
@override @override
String get onboardingFocusBody => String get onboardingFocusBody => 'Say goodbye to addictive features! twonly was created for sharing moments, free from useless distractions or ads.';
'Say goodbye to addictive features! twonly was created for sharing moments, free from useless distractions or ads.';
@override @override
String get onboardingSendTwonliesTitle => 'Send twonlies'; String get onboardingSendTwonliesTitle => 'Send twonlies';
@override @override
String get onboardingSendTwonliesBody => String get onboardingSendTwonliesBody => 'Share moments securely with your partner. twonly ensures that only your partner can open it, keeping your moments with your partner a two(o)nly thing!';
'Share moments securely with your partner. twonly ensures that only your partner can open it, keeping your moments with your partner a two(o)nly thing!';
@override @override
String get onboardingNotProductTitle => 'You are not the product!'; String get onboardingNotProductTitle => 'You are not the product!';
@override @override
String get onboardingNotProductBody => String get onboardingNotProductBody => 'twonly is financed by a small monthly fee and not by selling your data.';
'twonly is financed by a small monthly fee and not by selling your data.';
@override @override
String get onboardingBuyOneGetTwoTitle => 'Buy one get two'; String get onboardingBuyOneGetTwoTitle => 'Buy one get two';
@override @override
String get onboardingBuyOneGetTwoBody => String get onboardingBuyOneGetTwoBody => 'twonly always requires at least two people, which is why you receive a second free license for your twonly partner with your purchase.';
'twonly always requires at least two people, which is why you receive a second free license for your twonly partner with your purchase.';
@override @override
String get onboardingGetStartedTitle => 'Let\'s go!'; String get onboardingGetStartedTitle => 'Let\'s go!';
@override @override
String get onboardingGetStartedBody => String get onboardingGetStartedBody => 'You can test twonly free of charge in preview mode. In this mode you can be found by others and receive pictures or videos but you cannot send any yourself.';
'You can test twonly free of charge in preview mode. In this mode you can be found by others and receive pictures or videos but you cannot send any yourself.';
@override @override
String get onboardingTryForFree => 'Try for free'; String get onboardingTryForFree => 'Try for free';
@override @override
String get registerUsernameSlogan => String get registerUsernameSlogan => 'Please select a username so others can find you!';
'Please select a username so others can find you!';
@override @override
String get registerUsernameDecoration => 'Username'; String get registerUsernameDecoration => 'Username';
@override @override
String get registerUsernameLimits => String get registerUsernameLimits => 'Username must be 3 to 12 characters long, consisting only of letters (a-z) and numbers (0-9).';
'Username must be 3 to 12 characters long, consisting only of letters (a-z) and numbers (0-9).';
@override @override
String get registerSubmitButton => 'Register now!'; String get registerSubmitButton => 'Register now!';
@override @override
String get registerTwonlyCodeText => String get registerTwonlyCodeText => 'Have you received a twonly code? Then redeem it either directly here or later!';
'Have you received a twonly code? Then redeem it either directly here or later!';
@override @override
String get registerTwonlyCodeLabel => 'twonly-Code'; String get registerTwonlyCodeLabel => 'twonly-Code';
@ -137,15 +126,13 @@ class AppLocalizationsEn extends AppLocalizations {
String get shareImageAllUsers => 'All contacts'; String get shareImageAllUsers => 'All contacts';
@override @override
String get shareImageAllTwonlyWarning => String get shareImageAllTwonlyWarning => 'twonlies can only be send to verified contacts!';
'twonlies can only be send to verified contacts!';
@override @override
String get shareImageUserNotVerified => 'User is not verified'; String get shareImageUserNotVerified => 'User is not verified';
@override @override
String get shareImageUserNotVerifiedDesc => String get shareImageUserNotVerifiedDesc => 'twonlies can only be sent to verified users. To verify a user, go to their profile and to verify security number.';
'twonlies can only be sent to verified users. To verify a user, go to their profile and to verify security number.';
@override @override
String get shareImageShowArchived => 'Show archived users'; String get shareImageShowArchived => 'Show archived users';
@ -157,8 +144,7 @@ class AppLocalizationsEn extends AppLocalizations {
String get searchUsernameTitle => 'Search username'; String get searchUsernameTitle => 'Search username';
@override @override
String get searchUserNamePreview => String get searchUserNamePreview => 'To protect you and other twonly users from spam and abuse, it is not possible to search for other people in preview mode. Other users can find you and their requests will be displayed here!';
'To protect you and other twonly users from spam and abuse, it is not possible to search for other people in preview mode. Other users can find you and their requests will be displayed here!';
@override @override
String get selectSubscription => 'Select subscription'; String get selectSubscription => 'Select subscription';
@ -167,16 +153,13 @@ class AppLocalizationsEn extends AppLocalizations {
String get searchUserNamePending => 'Pending'; String get searchUserNamePending => 'Pending';
@override @override
String get searchUserNameBlockUserTooltip => String get searchUserNameBlockUserTooltip => 'Block the user without informing.';
'Block the user without informing.';
@override @override
String get searchUserNameRejectUserTooltip => String get searchUserNameRejectUserTooltip => 'Reject the request and let the requester know.';
'Reject the request and let the requester know.';
@override @override
String get searchUserNameArchiveUserTooltip => String get searchUserNameArchiveUserTooltip => 'Archive the user. He will appear again as soon as he accepts your request.';
'Archive the user. He will appear again as soon as he accepts your request.';
@override @override
String get searchUsernameNotFound => 'Username not found'; String get searchUsernameNotFound => 'Username not found';
@ -268,8 +251,7 @@ class AppLocalizationsEn extends AppLocalizations {
String get settingsPreSelectedReactions => 'Preselected reaction emojis'; String get settingsPreSelectedReactions => 'Preselected reaction emojis';
@override @override
String get settingsPreSelectedReactionsError => String get settingsPreSelectedReactionsError => 'A maximum of 12 reactions can be selected.';
'A maximum of 12 reactions can be selected.';
@override @override
String get settingsProfile => 'Profile'; String get settingsProfile => 'Profile';
@ -281,8 +263,7 @@ class AppLocalizationsEn extends AppLocalizations {
String get settingsStorageDataStoreInGTitle => 'Store in Gallery'; String get settingsStorageDataStoreInGTitle => 'Store in Gallery';
@override @override
String get settingsStorageDataStoreInGSubtitle => String get settingsStorageDataStoreInGSubtitle => 'Store saved images additional in the systems gallery.';
'Store saved images additional in the systems gallery.';
@override @override
String get settingsStorageDataMediaAutoDownload => 'Media auto-download'; String get settingsStorageDataMediaAutoDownload => 'Media auto-download';
@ -318,8 +299,7 @@ class AppLocalizationsEn extends AppLocalizations {
String get settingsPrivacyBlockUsers => 'Block users'; String get settingsPrivacyBlockUsers => 'Block users';
@override @override
String get settingsPrivacyBlockUsersDesc => String get settingsPrivacyBlockUsersDesc => 'Blocked users will not be able to communicate with you. You can unblock a blocked user at any time.';
'Blocked users will not be able to communicate with you. You can unblock a blocked user at any time.';
@override @override
String settingsPrivacyBlockUsersCount(Object len) { String settingsPrivacyBlockUsersCount(Object len) {
@ -333,15 +313,13 @@ class AppLocalizationsEn extends AppLocalizations {
String get settingsNotifyTroubleshooting => 'Troubleshooting'; String get settingsNotifyTroubleshooting => 'Troubleshooting';
@override @override
String get settingsNotifyTroubleshootingDesc => String get settingsNotifyTroubleshootingDesc => 'Click here if you have problems receiving push notifications.';
'Click here if you have problems receiving push notifications.';
@override @override
String get settingsNotifyTroubleshootingNoProblem => 'No problem detected'; String get settingsNotifyTroubleshootingNoProblem => 'No problem detected';
@override @override
String get settingsNotifyTroubleshootingNoProblemDesc => String get settingsNotifyTroubleshootingNoProblemDesc => 'Press OK to receive a test notification. When you receive no message even after waiting for 10 minutes, please send us your debug log in Settings > Help > Debug log, so we can look at that issue.';
'Press OK to receive a test notification. When you receive no message even after waiting for 10 minutes, please send us your debug log in Settings > Help > Debug log, so we can look at that issue.';
@override @override
String get settingsHelp => 'Help'; String get settingsHelp => 'Help';
@ -382,19 +360,16 @@ class AppLocalizationsEn extends AppLocalizations {
} }
@override @override
String get settingsAccountDeleteAccountNoBallance => String get settingsAccountDeleteAccountNoBallance => 'Once you delete your account, there is no going back.';
'Once you delete your account, there is no going back.';
@override @override
String get settingsAccountDeleteAccountNoInternet => String get settingsAccountDeleteAccountNoInternet => 'An Internet connection is required to delete your account.';
'An Internet connection is required to delete your account.';
@override @override
String get settingsAccountDeleteModalTitle => 'Are you sure?'; String get settingsAccountDeleteModalTitle => 'Are you sure?';
@override @override
String get settingsAccountDeleteModalBody => String get settingsAccountDeleteModalBody => 'Your account will be deleted. There is no change to restore it.';
'Your account will be deleted. There is no change to restore it.';
@override @override
String get contactVerifyNumberTitle => 'Verify safety number'; String get contactVerifyNumberTitle => 'Verify safety number';
@ -436,8 +411,7 @@ class AppLocalizationsEn extends AppLocalizations {
} }
@override @override
String get contactBlockBody => String get contactBlockBody => 'A blocked user will no longer be able to send you messages and their profile will be hidden from view. To unblock a user, simply navigate to Settings > Privacy > Blocked Users.';
'A blocked user will no longer be able to send you messages and their profile will be hidden from view. To unblock a user, simply navigate to Settings > Privacy > Blocked Users.';
@override @override
String get contactRemove => 'Remove user'; String get contactRemove => 'Remove user';
@ -448,8 +422,7 @@ class AppLocalizationsEn extends AppLocalizations {
} }
@override @override
String get contactRemoveBody => String get contactRemoveBody => 'Remove the user and permanently delete the chat and all associated media files. This will also delete YOUR ACCOUNT FROM YOUR CONTACT\'S PHONE.';
'Remove the user and permanently delete the chat and all associated media files. This will also delete YOUR ACCOUNT FROM YOUR CONTACT\'S PHONE.';
@override @override
String get undo => 'Undo'; String get undo => 'Undo';
@ -476,8 +449,7 @@ class AppLocalizationsEn extends AppLocalizations {
String get ok => 'Ok'; String get ok => 'Ok';
@override @override
String get switchFrontAndBackCamera => String get switchFrontAndBackCamera => 'Switch between front and back camera.';
'Switch between front and back camera.';
@override @override
String get addTextItem => 'Text'; String get addTextItem => 'Text';
@ -509,75 +481,58 @@ class AppLocalizationsEn extends AppLocalizations {
} }
@override @override
String get errorUnknown => String get errorUnknown => 'An unexpected error has occurred. Please try again later.';
'An unexpected error has occurred. Please try again later.';
@override @override
String get errorBadRequest => String get errorBadRequest => 'The request could not be understood by the server due to malformed syntax. Please check your input and try again.';
'The request could not be understood by the server due to malformed syntax. Please check your input and try again.';
@override @override
String get errorTooManyRequests => String get errorTooManyRequests => 'You have made too many requests in a short period. Please wait a moment before trying again.';
'You have made too many requests in a short period. Please wait a moment before trying again.';
@override @override
String get errorInternalError => String get errorInternalError => 'The server is currently not available. Please try again later.';
'The server is currently not available. Please try again later.';
@override @override
String get errorInvalidInvitationCode => String get errorInvalidInvitationCode => 'The invitation code you provided is invalid. Please check the code and try again.';
'The invitation code you provided is invalid. Please check the code and try again.';
@override @override
String get errorUsernameAlreadyTaken => String get errorUsernameAlreadyTaken => 'The username you want to use is already taken. Please choose a different username.';
'The username you want to use is already taken. Please choose a different username.';
@override @override
String get errorSignatureNotValid => String get errorSignatureNotValid => 'The provided signature is not valid. Please check your credentials and try again.';
'The provided signature is not valid. Please check your credentials and try again.';
@override @override
String get errorUsernameNotFound => String get errorUsernameNotFound => 'The username you entered does not exist. Please check the spelling or create a new account.';
'The username you entered does not exist. Please check the spelling or create a new account.';
@override @override
String get errorUsernameNotValid => String get errorUsernameNotValid => 'The username you provided does not meet the required criteria. Please choose a valid username.';
'The username you provided does not meet the required criteria. Please choose a valid username.';
@override @override
String get errorInvalidPublicKey => String get errorInvalidPublicKey => 'The public key you provided is invalid. Please check the key and try again.';
'The public key you provided is invalid. Please check the key and try again.';
@override @override
String get errorSessionAlreadyAuthenticated => String get errorSessionAlreadyAuthenticated => 'You are already logged in. Please log out if you want to log in with a different account.';
'You are already logged in. Please log out if you want to log in with a different account.';
@override @override
String get errorSessionNotAuthenticated => String get errorSessionNotAuthenticated => 'Your session is not authenticated. Please log in to continue.';
'Your session is not authenticated. Please log in to continue.';
@override @override
String get errorOnlyOneSessionAllowed => String get errorOnlyOneSessionAllowed => 'Only one active session is allowed per user. Please log out from other devices to continue.';
'Only one active session is allowed per user. Please log out from other devices to continue.';
@override @override
String get errorNotEnoughCredit => 'You do not have enough twonly-credit.'; String get errorNotEnoughCredit => 'You do not have enough twonly-credit.';
@override @override
String get errorVoucherInvalid => String get errorVoucherInvalid => 'The voucher code you entered is not valid.';
'The voucher code you entered is not valid.';
@override @override
String get errorPlanLimitReached => String get errorPlanLimitReached => 'You have reached your plans limit. Please upgrade your plan.';
'You have reached your plans limit. Please upgrade your plan.';
@override @override
String get errorPlanNotAllowed => String get errorPlanNotAllowed => 'This feature is not available in your current plan.';
'This feature is not available in your current plan.';
@override @override
String get errorPlanUpgradeNotYearly => String get errorPlanUpgradeNotYearly => 'The plan upgrade must be paid for annually, as the current plan is also billed annually.';
'The plan upgrade must be paid for annually, as the current plan is also billed annually.';
@override @override
String get upgradeToPaidPlan => 'Upgrade to a paid plan.'; String get upgradeToPaidPlan => 'Upgrade to a paid plan.';
@ -623,8 +578,7 @@ class AppLocalizationsEn extends AppLocalizations {
String get redeemUserInviteCodeTitle => 'Redeem twonly-Code'; String get redeemUserInviteCodeTitle => 'Redeem twonly-Code';
@override @override
String get redeemUserInviteCodeSuccess => String get redeemUserInviteCodeSuccess => 'Your plan has been successfully adjusted.';
'Your plan has been successfully adjusted.';
@override @override
String get freeFeature1 => '3 Media file uploads per day'; String get freeFeature1 => '3 Media file uploads per day';
@ -657,8 +611,7 @@ class AppLocalizationsEn extends AppLocalizations {
String get createVoucher => 'Buy voucher'; String get createVoucher => 'Buy voucher';
@override @override
String get createVoucherDesc => String get createVoucherDesc => 'Choose the value of the voucher. The value of the voucher will be deducted from your twonly balance.';
'Choose the value of the voucher. The value of the voucher will be deducted from your twonly balance.';
@override @override
String get redeemVoucher => 'Redeem voucher'; String get redeemVoucher => 'Redeem voucher';
@ -744,8 +697,7 @@ class AppLocalizationsEn extends AppLocalizations {
String get autoRenewalDesc => 'You can change this at any time.'; String get autoRenewalDesc => 'You can change this at any time.';
@override @override
String get autoRenewalLongDesc => String get autoRenewalLongDesc => 'When your subscription expires, you will automatically be downgraded to the Preview plan. If you activate the automatic renewal, please make sure that you have enough credit for the automatic renewal. We will notify you in good time before the automatic renewal.';
'When your subscription expires, you will automatically be downgraded to the Preview plan. If you activate the automatic renewal, please make sure that you have enough credit for the automatic renewal. We will notify you in good time before the automatic renewal.';
@override @override
String get planSuccessUpgraded => 'Successfully upgraded your plan.'; String get planSuccessUpgraded => 'Successfully upgraded your plan.';
@ -763,12 +715,10 @@ class AppLocalizationsEn extends AppLocalizations {
String get additionalUsersFreeTokens => 'twonly-Codes für \"Free\" user'; String get additionalUsersFreeTokens => 'twonly-Codes für \"Free\" user';
@override @override
String get planLimitReached => String get planLimitReached => 'You have reached your plan limit for today. Upgrade your plan now to send the media file.';
'You have reached your plan limit for today. Upgrade your plan now to send the media file.';
@override @override
String get planNotAllowed => String get planNotAllowed => 'You cannot send media files with your current tariff. Upgrade your plan now to send the media file.';
'You cannot send media files with your current tariff. Upgrade your plan now to send the media file.';
@override @override
String get galleryDelete => 'Delete file'; String get galleryDelete => 'Delete file';
@ -786,47 +736,37 @@ class AppLocalizationsEn extends AppLocalizations {
String get settingsResetTutorials => 'Show tutorials again'; String get settingsResetTutorials => 'Show tutorials again';
@override @override
String get settingsResetTutorialsDesc => String get settingsResetTutorialsDesc => 'Click here to show already displayed tutorials again.';
'Click here to show already displayed tutorials again.';
@override @override
String get settingsResetTutorialsSuccess => String get settingsResetTutorialsSuccess => 'Tutorials will be displayed again.';
'Tutorials will be displayed again.';
@override @override
String get tutorialChatListSearchUsersTitle => String get tutorialChatListSearchUsersTitle => 'Find Friends and Manage Friend Requests';
'Find Friends and Manage Friend Requests';
@override @override
String get tutorialChatListSearchUsersDesc => String get tutorialChatListSearchUsersDesc => 'If you know your friends\' usernames, you can search for them here and send a friend request. You will also see all requests from other users that you can accept or block.';
'If you know your friends\' usernames, you can search for them here and send a friend request. You will also see all requests from other users that you can accept or block.';
@override @override
String get tutorialChatListContextMenuTitle => String get tutorialChatListContextMenuTitle => 'Long press on the contact to open the context menu.';
'Long press on the contact to open the context menu.';
@override @override
String get tutorialChatListContextMenuDesc => String get tutorialChatListContextMenuDesc => 'With the context menu, you can pin, archive, and perform various actions on your contacts. Simply long press the contact and then move your finger to the desired option or tap directly on it.';
'With the context menu, you can pin, archive, and perform various actions on your contacts. Simply long press the contact and then move your finger to the desired option or tap directly on it.';
@override @override
String get tutorialChatMessagesVerifyShieldTitle => 'Verify your contacts!'; String get tutorialChatMessagesVerifyShieldTitle => 'Verify your contacts!';
@override @override
String get tutorialChatMessagesVerifyShieldDesc => String get tutorialChatMessagesVerifyShieldDesc => 'twonly uses the Signal protocol for secure end-to-end encryption. When you first contact someone, their public identity key is downloaded. To ensure that this key has not been tampered with by third parties, you should compare it with your friend when you meet in person. Once you have verified the user, you can also enable the twonly mode when sending images and videos.';
'twonly uses the Signal protocol for secure end-to-end encryption. When you first contact someone, their public identity key is downloaded. To ensure that this key has not been tampered with by third parties, you should compare it with your friend when you meet in person. Once you have verified the user, you can also enable the twonly mode when sending images and videos.';
@override @override
String get tutorialChatMessagesReopenMessageTitle => String get tutorialChatMessagesReopenMessageTitle => 'Reopen Images and Videos';
'Reopen Images and Videos';
@override @override
String get tutorialChatMessagesReopenMessageDesc => String get tutorialChatMessagesReopenMessageDesc => 'If your friend has sent you a picture or video with infinite display time, you can open it again at any time until you restart the app. To do this, simply double-click on the message. Your friend will then receive a notification that you have viewed the picture again.';
'If your friend has sent you a picture or video with infinite display time, you can open it again at any time until you restart the app. To do this, simply double-click on the message. Your friend will then receive a notification that you have viewed the picture again.';
@override @override
String get memoriesEmpty => String get memoriesEmpty => 'As soon as you save pictures or videos, they end up here in your memories.';
'As soon as you save pictures or videos, they end up here in your memories.';
@override @override
String get deleteImageTitle => 'Are you sure?'; String get deleteImageTitle => 'Are you sure?';
@ -841,8 +781,7 @@ class AppLocalizationsEn extends AppLocalizations {
String get backupNoticeTitle => 'No backup configured'; String get backupNoticeTitle => 'No backup configured';
@override @override
String get backupNoticeDesc => String get backupNoticeDesc => 'If you change or lose your device, no one can restore your account without a backup. Therefore, back up your data.';
'If you change or lose your device, no one can restore your account without a backup. Therefore, back up your data.';
@override @override
String get backupNoticeLater => 'Remind later'; String get backupNoticeLater => 'Remind later';
@ -860,8 +799,7 @@ class AppLocalizationsEn extends AppLocalizations {
String get backupSuccess => 'Success'; String get backupSuccess => 'Success';
@override @override
String get backupTwonlySafeDesc => String get backupTwonlySafeDesc => 'Back up your twonly identity, as this is the only way to restore your account if you uninstall the app or lose your phone.';
'Back up your twonly identity, as this is the only way to restore your account if you uninstall the app or lose your phone.';
@override @override
String get backupServer => 'Server'; String get backupServer => 'Server';
@ -885,22 +823,19 @@ class AppLocalizationsEn extends AppLocalizations {
String get deleteBackupTitle => 'Are you sure?'; String get deleteBackupTitle => 'Are you sure?';
@override @override
String get deleteBackupBody => String get deleteBackupBody => 'Without an backup, you can not restore your user account.';
'Without an backup, you can not restore your user account.';
@override @override
String get backupData => 'Data-Backup'; String get backupData => 'Data-Backup';
@override @override
String get backupDataDesc => String get backupDataDesc => 'This backup contains besides of your twonly-Identity also all of your media files. This backup will is also encrypted but stored locally. You then have to ensure to manually copy it onto your laptop or device of your choice.';
'This backup contains besides of your twonly-Identity also all of your media files. This backup will is also encrypted but stored locally. You then have to ensure to manually copy it onto your laptop or device of your choice.';
@override @override
String get backupInsecurePassword => 'Insecure password'; String get backupInsecurePassword => 'Insecure password';
@override @override
String get backupInsecurePasswordDesc => String get backupInsecurePasswordDesc => 'The chosen password is very insecure and can therefore easily be guessed by attackers. Please choose a secure password.';
'The chosen password is very insecure and can therefore easily be guessed by attackers. Please choose a secure password.';
@override @override
String get backupInsecurePasswordOk => 'Continue anyway'; String get backupInsecurePasswordOk => 'Continue anyway';
@ -909,12 +844,10 @@ class AppLocalizationsEn extends AppLocalizations {
String get backupInsecurePasswordCancel => 'Try again'; String get backupInsecurePasswordCancel => 'Try again';
@override @override
String get backupTwonlySafeLongDesc => String get backupTwonlySafeLongDesc => 'twonly does not have any central user accounts. A key pair is created during installation, which consists of a public and a private key. The private key is only stored on your device to protect it from unauthorized access. The public key is uploaded to the server and linked to your chosen username so that others can find you.\n\ntwonly Safe regularly creates an encrypted, anonymous backup of your private key together with your contacts and settings. Your username and chosen password are enough to restore this data on another device.';
'twonly does not have any central user accounts. A key pair is created during installation, which consists of a public and a private key. The private key is only stored on your device to protect it from unauthorized access. The public key is uploaded to the server and linked to your chosen username so that others can find you.\n\ntwonly Safe regularly creates an encrypted, anonymous backup of your private key together with your contacts and settings. Your username and chosen password are enough to restore this data on another device.';
@override @override
String get backupSelectStrongPassword => String get backupSelectStrongPassword => 'Choose a secure password. This is required if you want to restore your twonly Safe backup.';
'Choose a secure password. This is required if you want to restore your twonly Safe backup.';
@override @override
String get password => 'Password'; String get password => 'Password';
@ -926,8 +859,7 @@ class AppLocalizationsEn extends AppLocalizations {
String get passwordRepeatedNotEqual => 'Passwords do not match.'; String get passwordRepeatedNotEqual => 'Passwords do not match.';
@override @override
String get backupPasswordRequirement => String get backupPasswordRequirement => 'Password must be at least 8 characters long.';
'Password must be at least 8 characters long.';
@override @override
String get backupExpertSettings => 'Expert settings'; String get backupExpertSettings => 'Expert settings';
@ -936,8 +868,7 @@ class AppLocalizationsEn extends AppLocalizations {
String get backupEnableBackup => 'Activate automatic backup'; String get backupEnableBackup => 'Activate automatic backup';
@override @override
String get backupOwnServerDesc => String get backupOwnServerDesc => 'Save your twonly safe backups at twonly or on any server of your choice.';
'Save your twonly safe backups at twonly or on any server of your choice.';
@override @override
String get backupUseOwnServer => 'Use server'; String get backupUseOwnServer => 'Use server';