import 'dart:async';

import 'package:flutter/foundation.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:intl/intl.dart' as intl;

import 'app_localizations_de.dart';
import 'app_localizations_en.dart';

// ignore_for_file: type=lint

/// Callers can lookup localized strings with an instance of AppLocalizations
/// returned by `AppLocalizations.of(context)`.
///
/// Applications need to include `AppLocalizations.delegate()` in their app's
/// `localizationDelegates` list, and the locales they support in the app's
/// `supportedLocales` list. For example:
///
/// ```dart
/// import 'generated/app_localizations.dart';
///
/// return MaterialApp(
///   localizationsDelegates: AppLocalizations.localizationsDelegates,
///   supportedLocales: AppLocalizations.supportedLocales,
///   home: MyApplicationHome(),
/// );
/// ```
///
/// ## Update pubspec.yaml
///
/// Please make sure to update your pubspec.yaml to include the following
/// packages:
///
/// ```yaml
/// dependencies:
///   # Internationalization support.
///   flutter_localizations:
///     sdk: flutter
///   intl: any # Use the pinned version from flutter_localizations
///
///   # Rest of dependencies
/// ```
///
/// ## iOS Applications
///
/// iOS applications define key application metadata, including supported
/// locales, in an Info.plist file that is built into the application bundle.
/// To configure the locales supported by your app, you’ll need to edit this
/// file.
///
/// First, open your project’s ios/Runner.xcworkspace Xcode workspace file.
/// Then, in the Project Navigator, open the Info.plist file under the Runner
/// project’s Runner folder.
///
/// Next, select the Information Property List item, select Add Item from the
/// Editor menu, then select Localizations from the pop-up menu.
///
/// Select and expand the newly-created Localizations item then, for each
/// locale your application supports, add a new item and select the locale
/// you wish to add from the pop-up menu in the Value field. This list should
/// be consistent with the languages listed in the AppLocalizations.supportedLocales
/// property.
abstract class AppLocalizations {
  AppLocalizations(String locale)
    : localeName = intl.Intl.canonicalizedLocale(locale.toString());

  final String localeName;

  static AppLocalizations? of(BuildContext context) {
    return Localizations.of<AppLocalizations>(context, AppLocalizations);
  }

  static const LocalizationsDelegate<AppLocalizations> delegate =
      _AppLocalizationsDelegate();

  /// A list of this localizations delegate along with the default localizations
  /// delegates.
  ///
  /// Returns a list of localizations delegates containing this delegate along with
  /// GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate,
  /// and GlobalWidgetsLocalizations.delegate.
  ///
  /// 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
  /// of delegates is preferred or required.
  static const List<LocalizationsDelegate<dynamic>> localizationsDelegates =
      <LocalizationsDelegate<dynamic>>[
        delegate,
        GlobalMaterialLocalizations.delegate,
        GlobalCupertinoLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
      ];

  /// A list of this localizations delegate's supported locales.
  static const List<Locale> supportedLocales = <Locale>[
    Locale('de'),
    Locale('en'),
  ];

  /// No description provided for @registerSlogan.
  ///
  /// In en, this message translates to:
  /// **'Stay in touch privately.'**
  String get registerSlogan;

  /// No description provided for @onboardingWelcomeTitle.
  ///
  /// In en, this message translates to:
  /// **'Welcome to twonly!'**
  String get onboardingWelcomeTitle;

  /// No description provided for @onboardingWelcomeBody.
  ///
  /// In en, this message translates to:
  /// **'Experience a private and secure way to stay in touch with friends by sharing instant pictures.'**
  String get onboardingWelcomeBody;

  /// No description provided for @onboardingE2eTitle.
  ///
  /// In en, this message translates to:
  /// **'Carefree sharing'**
  String get onboardingE2eTitle;

  /// No description provided for @onboardingE2eBody.
  ///
  /// In en, this message translates to:
  /// **'With end-to-end encryption, enjoy the peace of mind that only you and your friends can see the moments you share.'**
  String get onboardingE2eBody;

  /// No description provided for @onboardingFocusTitle.
  ///
  /// In en, this message translates to:
  /// **'Focus on sharing moments'**
  String get onboardingFocusTitle;

  /// No description provided for @onboardingFocusBody.
  ///
  /// In en, this message translates to:
  /// **'Say goodbye to addictive features! twonly was created for sharing moments, free from useless distractions or ads.'**
  String get onboardingFocusBody;

  /// No description provided for @onboardingNotProductTitle.
  ///
  /// In en, this message translates to:
  /// **'You are not the product!'**
  String get onboardingNotProductTitle;

  /// No description provided for @onboardingNotProductBody.
  ///
  /// In en, this message translates to:
  /// **'twonly is financed by an optional subscription. Your data will never be sold.'**
  String get onboardingNotProductBody;

  /// No description provided for @registerUsernameSlogan.
  ///
  /// In en, this message translates to:
  /// **'Create your account'**
  String get registerUsernameSlogan;

  /// No description provided for @registerUsernameDecoration.
  ///
  /// In en, this message translates to:
  /// **'Username'**
  String get registerUsernameDecoration;

  /// No description provided for @registerUsernameLimits.
  ///
  /// In en, this message translates to:
  /// **'At least 3 characters.'**
  String get registerUsernameLimits;

  /// No description provided for @registerProofOfWorkFailed.
  ///
  /// In en, this message translates to:
  /// **'There was an issue with the captcha test. Please try again.'**
  String get registerProofOfWorkFailed;

  /// No description provided for @registerSubmitButton.
  ///
  /// In en, this message translates to:
  /// **'Register now!'**
  String get registerSubmitButton;

  /// No description provided for @chatsTapToSend.
  ///
  /// In en, this message translates to:
  /// **'Click to send your first image'**
  String get chatsTapToSend;

  /// No description provided for @cameraPreviewSendTo.
  ///
  /// In en, this message translates to:
  /// **'Send to'**
  String get cameraPreviewSendTo;

  /// No description provided for @shareImageTitle.
  ///
  /// In en, this message translates to:
  /// **'Share with'**
  String get shareImageTitle;

  /// No description provided for @shareImageBestFriends.
  ///
  /// In en, this message translates to:
  /// **'Best friends'**
  String get shareImageBestFriends;

  /// No description provided for @shareImagePinnedContacts.
  ///
  /// In en, this message translates to:
  /// **'Pinnded'**
  String get shareImagePinnedContacts;

  /// No description provided for @shareImagedEditorSendImage.
  ///
  /// In en, this message translates to:
  /// **'Send'**
  String get shareImagedEditorSendImage;

  /// No description provided for @shareImagedEditorShareWith.
  ///
  /// In en, this message translates to:
  /// **'Share with'**
  String get shareImagedEditorShareWith;

  /// No description provided for @shareImagedEditorSaveImage.
  ///
  /// In en, this message translates to:
  /// **'Save'**
  String get shareImagedEditorSaveImage;

  /// No description provided for @shareImagedEditorSavedImage.
  ///
  /// In en, this message translates to:
  /// **'Saved'**
  String get shareImagedEditorSavedImage;

  /// No description provided for @shareImageSearchAllContacts.
  ///
  /// In en, this message translates to:
  /// **'Search all contacts'**
  String get shareImageSearchAllContacts;

  /// No description provided for @startNewChatSearchHint.
  ///
  /// In en, this message translates to:
  /// **'Name, username or groupname'**
  String get startNewChatSearchHint;

  /// No description provided for @shareImagedSelectAll.
  ///
  /// In en, this message translates to:
  /// **'Select all'**
  String get shareImagedSelectAll;

  /// No description provided for @startNewChatTitle.
  ///
  /// In en, this message translates to:
  /// **'Select Contact'**
  String get startNewChatTitle;

  /// No description provided for @startNewChatNewContact.
  ///
  /// In en, this message translates to:
  /// **'New Contact'**
  String get startNewChatNewContact;

  /// No description provided for @shareImageAllUsers.
  ///
  /// In en, this message translates to:
  /// **'All contacts'**
  String get shareImageAllUsers;

  /// No description provided for @shareImageShowArchived.
  ///
  /// In en, this message translates to:
  /// **'Show archived users'**
  String get shareImageShowArchived;

  /// No description provided for @searchUsernameInput.
  ///
  /// In en, this message translates to:
  /// **'Username'**
  String get searchUsernameInput;

  /// No description provided for @addFriendTitle.
  ///
  /// In en, this message translates to:
  /// **'Add friends'**
  String get addFriendTitle;

  /// No description provided for @searchUserNamePending.
  ///
  /// In en, this message translates to:
  /// **'Request pending'**
  String get searchUserNamePending;

  /// No description provided for @searchUsernameNotFound.
  ///
  /// In en, this message translates to:
  /// **'Username not found'**
  String get searchUsernameNotFound;

  /// No description provided for @searchUsernameNewFollowerTitle.
  ///
  /// In en, this message translates to:
  /// **'Open requests'**
  String get searchUsernameNewFollowerTitle;

  /// No description provided for @chatListDetailInput.
  ///
  /// In en, this message translates to:
  /// **'Type a message'**
  String get chatListDetailInput;

  /// No description provided for @userDeletedAccount.
  ///
  /// In en, this message translates to:
  /// **'The user has deleted their account.'**
  String get userDeletedAccount;

  /// No description provided for @contextMenuUserProfile.
  ///
  /// In en, this message translates to:
  /// **'User profile'**
  String get contextMenuUserProfile;

  /// No description provided for @contextMenuArchiveUser.
  ///
  /// In en, this message translates to:
  /// **'Archive'**
  String get contextMenuArchiveUser;

  /// No description provided for @contextMenuUndoArchiveUser.
  ///
  /// In en, this message translates to:
  /// **'Undo archiving'**
  String get contextMenuUndoArchiveUser;

  /// No description provided for @contextMenuOpenChat.
  ///
  /// In en, this message translates to:
  /// **'Open chat'**
  String get contextMenuOpenChat;

  /// No description provided for @contextMenuPin.
  ///
  /// In en, this message translates to:
  /// **'Pin'**
  String get contextMenuPin;

  /// No description provided for @contextMenuUnpin.
  ///
  /// In en, this message translates to:
  /// **'Unpin'**
  String get contextMenuUnpin;

  /// No description provided for @contextMenuViewAgain.
  ///
  /// In en, this message translates to:
  /// **'View again'**
  String get contextMenuViewAgain;

  /// No description provided for @mediaViewerAuthReason.
  ///
  /// In en, this message translates to:
  /// **'Please authenticate to see this twonly!'**
  String get mediaViewerAuthReason;

  /// No description provided for @mediaViewerTwonlyTapToOpen.
  ///
  /// In en, this message translates to:
  /// **'Tap to open your twonly!'**
  String get mediaViewerTwonlyTapToOpen;

  /// No description provided for @messageSendState_Received.
  ///
  /// In en, this message translates to:
  /// **'Received'**
  String get messageSendState_Received;

  /// No description provided for @messageSendState_Opened.
  ///
  /// In en, this message translates to:
  /// **'Opened'**
  String get messageSendState_Opened;

  /// No description provided for @messageSendState_Send.
  ///
  /// In en, this message translates to:
  /// **'Sent'**
  String get messageSendState_Send;

  /// No description provided for @messageSendState_Sending.
  ///
  /// In en, this message translates to:
  /// **'Sending'**
  String get messageSendState_Sending;

  /// No description provided for @messageSendState_TapToLoad.
  ///
  /// In en, this message translates to:
  /// **'Tap to load'**
  String get messageSendState_TapToLoad;

  /// No description provided for @messageSendState_Loading.
  ///
  /// In en, this message translates to:
  /// **'Downloading'**
  String get messageSendState_Loading;

  /// No description provided for @messageStoredInGallery.
  ///
  /// In en, this message translates to:
  /// **'Stored in gallery'**
  String get messageStoredInGallery;

  /// No description provided for @messageReopened.
  ///
  /// In en, this message translates to:
  /// **'Re-opened'**
  String get messageReopened;

  /// No description provided for @imageEditorDrawOk.
  ///
  /// In en, this message translates to:
  /// **'Take drawing'**
  String get imageEditorDrawOk;

  /// No description provided for @settingsTitle.
  ///
  /// In en, this message translates to:
  /// **'Settings'**
  String get settingsTitle;

  /// No description provided for @settingsChats.
  ///
  /// In en, this message translates to:
  /// **'Chats'**
  String get settingsChats;

  /// No description provided for @settingsPreSelectedReactions.
  ///
  /// In en, this message translates to:
  /// **'Preselected reaction emojis'**
  String get settingsPreSelectedReactions;

  /// No description provided for @settingsAutomaticallyMarkEqualMediaFilesAsOpenedTitle.
  ///
  /// In en, this message translates to:
  /// **'Mark duplicates as opened'**
  String get settingsAutomaticallyMarkEqualMediaFilesAsOpenedTitle;

  /// No description provided for @settingsAutomaticallyMarkEqualMediaFilesAsOpenedSubtitle.
  ///
  /// In en, this message translates to:
  /// **'If you receive the same media in multiple chats, opening one marks all others as opened.'**
  String get settingsAutomaticallyMarkEqualMediaFilesAsOpenedSubtitle;

  /// No description provided for @settingsPreSelectedReactionsError.
  ///
  /// In en, this message translates to:
  /// **'A maximum of 12 reactions can be selected.'**
  String get settingsPreSelectedReactionsError;

  /// No description provided for @settingsProfile.
  ///
  /// In en, this message translates to:
  /// **'Profile'**
  String get settingsProfile;

  /// No description provided for @settingsStorageData.
  ///
  /// In en, this message translates to:
  /// **'Data and storage'**
  String get settingsStorageData;

  /// No description provided for @settingsStorageDataStoreInGTitle.
  ///
  /// In en, this message translates to:
  /// **'Store in Gallery'**
  String get settingsStorageDataStoreInGTitle;

  /// No description provided for @settingsStorageDataMediaAutoDownload.
  ///
  /// In en, this message translates to:
  /// **'Media auto-download'**
  String get settingsStorageDataMediaAutoDownload;

  /// No description provided for @settingsStorageDataAutoDownMobile.
  ///
  /// In en, this message translates to:
  /// **'When using mobile data'**
  String get settingsStorageDataAutoDownMobile;

  /// No description provided for @settingsStorageDataAutoDownWifi.
  ///
  /// In en, this message translates to:
  /// **'When using WI-FI'**
  String get settingsStorageDataAutoDownWifi;

  /// No description provided for @settingsStorageManageTitle.
  ///
  /// In en, this message translates to:
  /// **'Manage storage'**
  String get settingsStorageManageTitle;

  /// No description provided for @settingsStorageUsed.
  ///
  /// In en, this message translates to:
  /// **'Storage used'**
  String get settingsStorageUsed;

  /// No description provided for @settingsStorageImages.
  ///
  /// In en, this message translates to:
  /// **'Images'**
  String get settingsStorageImages;

  /// No description provided for @settingsStorageVideos.
  ///
  /// In en, this message translates to:
  /// **'Videos'**
  String get settingsStorageVideos;

  /// No description provided for @settingsStorageGifs.
  ///
  /// In en, this message translates to:
  /// **'GIFs'**
  String get settingsStorageGifs;

  /// No description provided for @settingsProfileCustomizeAvatar.
  ///
  /// In en, this message translates to:
  /// **'Customize your avatar'**
  String get settingsProfileCustomizeAvatar;

  /// No description provided for @settingsProfileEditDisplayName.
  ///
  /// In en, this message translates to:
  /// **'Displayname'**
  String get settingsProfileEditDisplayName;

  /// No description provided for @settingsProfileEditDisplayNameNew.
  ///
  /// In en, this message translates to:
  /// **'New Displayname'**
  String get settingsProfileEditDisplayNameNew;

  /// No description provided for @settingsAccount.
  ///
  /// In en, this message translates to:
  /// **'Account'**
  String get settingsAccount;

  /// No description provided for @settingsSubscription.
  ///
  /// In en, this message translates to:
  /// **'Subscription'**
  String get settingsSubscription;

  /// No description provided for @settingsAppearance.
  ///
  /// In en, this message translates to:
  /// **'Appearance'**
  String get settingsAppearance;

  /// No description provided for @settingsPrivacy.
  ///
  /// In en, this message translates to:
  /// **'Privacy & Security'**
  String get settingsPrivacy;

  /// No description provided for @settingsPrivacyBlockUsers.
  ///
  /// In en, this message translates to:
  /// **'Block contacts'**
  String get settingsPrivacyBlockUsers;

  /// No description provided for @settingsPrivacyBlockUsersDesc.
  ///
  /// In en, this message translates to:
  /// **'Blocked contacts will not be able to communicate with you. You can unblock a blocked contact at any time.'**
  String get settingsPrivacyBlockUsersDesc;

  /// No description provided for @settingsPrivacyBlockUsersCount.
  ///
  /// In en, this message translates to:
  /// **'{len} contact(s)'**
  String settingsPrivacyBlockUsersCount(Object len);

  /// No description provided for @settingsNotification.
  ///
  /// In en, this message translates to:
  /// **'Notification'**
  String get settingsNotification;

  /// No description provided for @settingsNotifyPermission.
  ///
  /// In en, this message translates to:
  /// **'Notification permissions'**
  String get settingsNotifyPermission;

  /// No description provided for @settingsNotifyPermissionDesc.
  ///
  /// In en, this message translates to:
  /// **'Open system settings to allow push notifications.'**
  String get settingsNotifyPermissionDesc;

  /// No description provided for @settingsNotifyTroubleshooting.
  ///
  /// In en, this message translates to:
  /// **'Troubleshooting'**
  String get settingsNotifyTroubleshooting;

  /// No description provided for @settingsNotifyTroubleshootingDesc.
  ///
  /// In en, this message translates to:
  /// **'Click here if you have problems receiving push notifications.'**
  String get settingsNotifyTroubleshootingDesc;

  /// No description provided for @settingsNotifyTroubleshootingNoProblem.
  ///
  /// In en, this message translates to:
  /// **'No problem detected'**
  String get settingsNotifyTroubleshootingNoProblem;

  /// No description provided for @settingsNotifyTroubleshootingNoProblemDesc.
  ///
  /// In en, this message translates to:
  /// **'Press OK to receive a test notification. If you do not receive the test notification, please click on the new menu item that appears after you click “OK”.'**
  String get settingsNotifyTroubleshootingNoProblemDesc;

  /// No description provided for @settingsNotifyResetTitle.
  ///
  /// In en, this message translates to:
  /// **'Didn\'t receive a test notification?'**
  String get settingsNotifyResetTitle;

  /// No description provided for @settingsNotifyResetTitleSubtitle.
  ///
  /// In en, this message translates to:
  /// **'If you haven\'t received any test notifications, click here to reset your notification tokens.'**
  String get settingsNotifyResetTitleSubtitle;

  /// No description provided for @settingsNotifyResetTitleReset.
  ///
  /// In en, this message translates to:
  /// **'Your notification tokens have been reset.'**
  String get settingsNotifyResetTitleReset;

  /// No description provided for @settingsNotifyResetTitleResetDesc.
  ///
  /// In en, this message translates to:
  /// **'If the problem persists, please send us your debug log via Settings > Help so we can investigate the issue.'**
  String get settingsNotifyResetTitleResetDesc;

  /// No description provided for @settingsHelp.
  ///
  /// In en, this message translates to:
  /// **'Help'**
  String get settingsHelp;

  /// No description provided for @settingsHelpDiagnostics.
  ///
  /// In en, this message translates to:
  /// **'Diagnostic protocol'**
  String get settingsHelpDiagnostics;

  /// No description provided for @settingsHelpFAQ.
  ///
  /// In en, this message translates to:
  /// **'FAQ'**
  String get settingsHelpFAQ;

  /// No description provided for @feedbackTooltip.
  ///
  /// In en, this message translates to:
  /// **'Give Feedback to improve twonly.'**
  String get feedbackTooltip;

  /// No description provided for @settingsHelpContactUs.
  ///
  /// In en, this message translates to:
  /// **'Contact us'**
  String get settingsHelpContactUs;

  /// No description provided for @settingsHelpVersion.
  ///
  /// In en, this message translates to:
  /// **'Version'**
  String get settingsHelpVersion;

  /// No description provided for @settingsHelpLicenses.
  ///
  /// In en, this message translates to:
  /// **'Licenses (Source-Code)'**
  String get settingsHelpLicenses;

  /// No description provided for @settingsHelpCredits.
  ///
  /// In en, this message translates to:
  /// **'Licenses (Images)'**
  String get settingsHelpCredits;

  /// No description provided for @settingsHelpImprint.
  ///
  /// In en, this message translates to:
  /// **'Imprint & Privacy Policy'**
  String get settingsHelpImprint;

  /// No description provided for @contactUsFaq.
  ///
  /// In en, this message translates to:
  /// **'Have you read our FAQ yet?'**
  String get contactUsFaq;

  /// No description provided for @contactUsEmojis.
  ///
  /// In en, this message translates to:
  /// **'How do you feel? (optional)'**
  String get contactUsEmojis;

  /// No description provided for @contactUsSelectOption.
  ///
  /// In en, this message translates to:
  /// **'Please select an option'**
  String get contactUsSelectOption;

  /// No description provided for @contactUsReason.
  ///
  /// In en, this message translates to:
  /// **'Tell us why you\'re reaching out'**
  String get contactUsReason;

  /// No description provided for @contactUsMessage.
  ///
  /// In en, this message translates to:
  /// **'If you want to receive an answer, please add your e-mail address so we can contact you.'**
  String get contactUsMessage;

  /// No description provided for @contactUsYourMessage.
  ///
  /// In en, this message translates to:
  /// **'Your message'**
  String get contactUsYourMessage;

  /// No description provided for @contactUsMessageTitle.
  ///
  /// In en, this message translates to:
  /// **'Tell us what\'s going on'**
  String get contactUsMessageTitle;

  /// No description provided for @contactUsReasonNotWorking.
  ///
  /// In en, this message translates to:
  /// **'Something\'s not working'**
  String get contactUsReasonNotWorking;

  /// No description provided for @contactUsReasonFeatureRequest.
  ///
  /// In en, this message translates to:
  /// **'Feature request'**
  String get contactUsReasonFeatureRequest;

  /// No description provided for @contactUsReasonQuestion.
  ///
  /// In en, this message translates to:
  /// **'Question'**
  String get contactUsReasonQuestion;

  /// No description provided for @contactUsReasonFeedback.
  ///
  /// In en, this message translates to:
  /// **'Feedback'**
  String get contactUsReasonFeedback;

  /// No description provided for @contactUsReasonOther.
  ///
  /// In en, this message translates to:
  /// **'Other'**
  String get contactUsReasonOther;

  /// No description provided for @contactUsIncludeLog.
  ///
  /// In en, this message translates to:
  /// **'Include debug log'**
  String get contactUsIncludeLog;

  /// No description provided for @contactUsWhatsThat.
  ///
  /// In en, this message translates to:
  /// **'What\'s that?'**
  String get contactUsWhatsThat;

  /// No description provided for @contactUsLastWarning.
  ///
  /// In en, this message translates to:
  /// **'This are the information\'s which will be send to us. Please verify them and then press submit.'**
  String get contactUsLastWarning;

  /// No description provided for @contactUsSuccess.
  ///
  /// In en, this message translates to:
  /// **'Feedback submitted successfully!'**
  String get contactUsSuccess;

  /// No description provided for @hideNewsIcon.
  ///
  /// In en, this message translates to:
  /// **'Hide News Icon'**
  String get hideNewsIcon;

  /// No description provided for @settingsHelpTerms.
  ///
  /// In en, this message translates to:
  /// **'Terms of Service'**
  String get settingsHelpTerms;

  /// No description provided for @settingsAppearanceTheme.
  ///
  /// In en, this message translates to:
  /// **'Theme'**
  String get settingsAppearanceTheme;

  /// No description provided for @settingsAccountDeleteAccount.
  ///
  /// In en, this message translates to:
  /// **'Delete account'**
  String get settingsAccountDeleteAccount;

  /// No description provided for @settingsAccountDeleteAccountNoBallance.
  ///
  /// In en, this message translates to:
  /// **'Once you delete your account, there is no going back.'**
  String get settingsAccountDeleteAccountNoBallance;

  /// No description provided for @settingsAccountDeleteModalTitle.
  ///
  /// In en, this message translates to:
  /// **'Are you sure?'**
  String get settingsAccountDeleteModalTitle;

  /// No description provided for @settingsAccountDeleteModalBody.
  ///
  /// In en, this message translates to:
  /// **'Your account will be deleted. There is no change to restore it.'**
  String get settingsAccountDeleteModalBody;

  /// No description provided for @contactVerifyNumberTitle.
  ///
  /// In en, this message translates to:
  /// **'Verify contacts'**
  String get contactVerifyNumberTitle;

  /// No description provided for @verifyUserIdentity.
  ///
  /// In en, this message translates to:
  /// **'Verify {username}\'s identity'**
  String verifyUserIdentity(Object username);

  /// No description provided for @contactVerifyNumberSubtitle.
  ///
  /// In en, this message translates to:
  /// **'Verify the identity of your contacts to make sure you are texting the right person.'**
  String get contactVerifyNumberSubtitle;

  /// No description provided for @inChatContactNotVerified.
  ///
  /// In en, this message translates to:
  /// **'Contact not verified.'**
  String get inChatContactNotVerified;

  /// No description provided for @groupMembersNotVerified.
  ///
  /// In en, this message translates to:
  /// **'{count} members are not verified.'**
  String groupMembersNotVerified(Object count);

  /// No description provided for @userVerifiedTitle.
  ///
  /// In en, this message translates to:
  /// **'Contact verified'**
  String get userVerifiedTitle;

  /// No description provided for @scanUserQrCode.
  ///
  /// In en, this message translates to:
  /// **'Scan {username}\'s QR code'**
  String scanUserQrCode(Object username);

  /// No description provided for @openOwnQrCode.
  ///
  /// In en, this message translates to:
  /// **'Open your own QR code'**
  String get openOwnQrCode;

  /// No description provided for @contactVerifiedBy.
  ///
  /// In en, this message translates to:
  /// **'Verified by {username}'**
  String contactVerifiedBy(Object username);

  /// No description provided for @contactSharedByUnknown.
  ///
  /// In en, this message translates to:
  /// **'Shared by a verified contact (username not available)'**
  String get contactSharedByUnknown;

  /// No description provided for @verificationTypeQrScanned.
  ///
  /// In en, this message translates to:
  /// **'You scanned their QR code.'**
  String get verificationTypeQrScanned;

  /// No description provided for @verificationTypeSecretQrToken.
  ///
  /// In en, this message translates to:
  /// **'{username} has scanned your QR code.'**
  String verificationTypeSecretQrToken(Object username);

  /// No description provided for @verificationTypeLink.
  ///
  /// In en, this message translates to:
  /// **'Verified via link.'**
  String get verificationTypeLink;

  /// No description provided for @verificationTypeMigratedFromOldVersion.
  ///
  /// In en, this message translates to:
  /// **'Migrated from old version.'**
  String get verificationTypeMigratedFromOldVersion;

  /// No description provided for @contactViewMessage.
  ///
  /// In en, this message translates to:
  /// **'Message'**
  String get contactViewMessage;

  /// No description provided for @contactNickname.
  ///
  /// In en, this message translates to:
  /// **'Nickname'**
  String get contactNickname;

  /// No description provided for @contactNicknameNew.
  ///
  /// In en, this message translates to:
  /// **'New nickname'**
  String get contactNicknameNew;

  /// No description provided for @contactBlock.
  ///
  /// In en, this message translates to:
  /// **'Block'**
  String get contactBlock;

  /// No description provided for @contactBlockTitle.
  ///
  /// In en, this message translates to:
  /// **'Block {username}'**
  String contactBlockTitle(Object username);

  /// No description provided for @contactBlockBody.
  ///
  /// In en, this message translates to:
  /// **'A blocked contact will no longer be able to send you messages and their profile will be hidden from view. To unblock a contact, simply navigate to Settings > Privacy > Blocked Contacts.'**
  String get contactBlockBody;

  /// No description provided for @contactRemove.
  ///
  /// In en, this message translates to:
  /// **'Remove contact'**
  String get contactRemove;

  /// No description provided for @contactRemoveTitle.
  ///
  /// In en, this message translates to:
  /// **'Remove {username}'**
  String contactRemoveTitle(Object username);

  /// No description provided for @contactRemoveBody.
  ///
  /// In en, this message translates to:
  /// **'Permanently remove the contact. If the contact tries to send you a new message, you will have to accept the contact again first.'**
  String get contactRemoveBody;

  /// No description provided for @undo.
  ///
  /// In en, this message translates to:
  /// **'Undo'**
  String get undo;

  /// No description provided for @redo.
  ///
  /// In en, this message translates to:
  /// **'Redo'**
  String get redo;

  /// No description provided for @next.
  ///
  /// In en, this message translates to:
  /// **'Next'**
  String get next;

  /// No description provided for @finishSetup.
  ///
  /// In en, this message translates to:
  /// **'Complete setup'**
  String get finishSetup;

  /// No description provided for @submit.
  ///
  /// In en, this message translates to:
  /// **'Submit'**
  String get submit;

  /// No description provided for @close.
  ///
  /// In en, this message translates to:
  /// **'Close'**
  String get close;

  /// No description provided for @disable.
  ///
  /// In en, this message translates to:
  /// **'Disable'**
  String get disable;

  /// No description provided for @enable.
  ///
  /// In en, this message translates to:
  /// **'Enable'**
  String get enable;

  /// No description provided for @cancel.
  ///
  /// In en, this message translates to:
  /// **'Cancel'**
  String get cancel;

  /// No description provided for @now.
  ///
  /// In en, this message translates to:
  /// **'Now'**
  String get now;

  /// No description provided for @you.
  ///
  /// In en, this message translates to:
  /// **'You'**
  String get you;

  /// No description provided for @minutesShort.
  ///
  /// In en, this message translates to:
  /// **'min.'**
  String get minutesShort;

  /// No description provided for @image.
  ///
  /// In en, this message translates to:
  /// **'Image'**
  String get image;

  /// No description provided for @video.
  ///
  /// In en, this message translates to:
  /// **'Video'**
  String get video;

  /// No description provided for @react.
  ///
  /// In en, this message translates to:
  /// **'React'**
  String get react;

  /// No description provided for @reply.
  ///
  /// In en, this message translates to:
  /// **'Reply'**
  String get reply;

  /// No description provided for @copy.
  ///
  /// In en, this message translates to:
  /// **'Copy'**
  String get copy;

  /// No description provided for @edit.
  ///
  /// In en, this message translates to:
  /// **'Edit'**
  String get edit;

  /// No description provided for @delete.
  ///
  /// In en, this message translates to:
  /// **'Delete'**
  String get delete;

  /// No description provided for @info.
  ///
  /// In en, this message translates to:
  /// **'Info'**
  String get info;

  /// No description provided for @ok.
  ///
  /// In en, this message translates to:
  /// **'Ok'**
  String get ok;

  /// No description provided for @switchFrontAndBackCamera.
  ///
  /// In en, this message translates to:
  /// **'Switch between front and back camera.'**
  String get switchFrontAndBackCamera;

  /// No description provided for @addTextItem.
  ///
  /// In en, this message translates to:
  /// **'Text'**
  String get addTextItem;

  /// No description provided for @protectAsARealTwonly.
  ///
  /// In en, this message translates to:
  /// **'Send as real twonly!'**
  String get protectAsARealTwonly;

  /// No description provided for @addDrawing.
  ///
  /// In en, this message translates to:
  /// **'Drawing'**
  String get addDrawing;

  /// No description provided for @addEmoji.
  ///
  /// In en, this message translates to:
  /// **'Emoji'**
  String get addEmoji;

  /// No description provided for @toggleFlashLight.
  ///
  /// In en, this message translates to:
  /// **'Toggle the flash light'**
  String get toggleFlashLight;

  /// No description provided for @userFound.
  ///
  /// In en, this message translates to:
  /// **'{username} found'**
  String userFound(Object username);

  /// No description provided for @userFoundBody.
  ///
  /// In en, this message translates to:
  /// **'Do you want to connect with {username}?'**
  String userFoundBody(String username);

  /// No description provided for @errorInternalError.
  ///
  /// In en, this message translates to:
  /// **'The server is currently not available. Please try again later.'**
  String get errorInternalError;

  /// No description provided for @errorInvalidInvitationCode.
  ///
  /// In en, this message translates to:
  /// **'The invitation code you provided is invalid. Please check the code and try again.'**
  String get errorInvalidInvitationCode;

  /// No description provided for @errorUsernameAlreadyTaken.
  ///
  /// In en, this message translates to:
  /// **'The username is already taken.'**
  String get errorUsernameAlreadyTaken;

  /// No description provided for @errorUsernameNotValid.
  ///
  /// In en, this message translates to:
  /// **'The username you provided does not meet the required criteria. Please choose a valid username.'**
  String get errorUsernameNotValid;

  /// No description provided for @errorNotEnoughCredit.
  ///
  /// In en, this message translates to:
  /// **'You do not have enough twonly-credit.'**
  String get errorNotEnoughCredit;

  /// No description provided for @errorVoucherInvalid.
  ///
  /// In en, this message translates to:
  /// **'The voucher code you entered is not valid.'**
  String get errorVoucherInvalid;

  /// No description provided for @errorPlanLimitReached.
  ///
  /// In en, this message translates to:
  /// **'You have reached your plans limit. Please upgrade your plan.'**
  String get errorPlanLimitReached;

  /// No description provided for @errorPlanNotAllowed.
  ///
  /// In en, this message translates to:
  /// **'This feature is not available in your current plan.'**
  String get errorPlanNotAllowed;

  /// No description provided for @errorPlanUpgradeNotYearly.
  ///
  /// In en, this message translates to:
  /// **'The plan upgrade must be paid for annually, as the current plan is also billed annually.'**
  String get errorPlanUpgradeNotYearly;

  /// No description provided for @upgradeToPaidPlanButton.
  ///
  /// In en, this message translates to:
  /// **'Upgrade to {planId}{sufix}'**
  String upgradeToPaidPlanButton(Object planId, Object sufix);

  /// No description provided for @partOfPaidPlanOf.
  ///
  /// In en, this message translates to:
  /// **'You are part of the paid plan of {username}!'**
  String partOfPaidPlanOf(Object username);

  /// No description provided for @year.
  ///
  /// In en, this message translates to:
  /// **'year'**
  String get year;

  /// No description provided for @yearly.
  ///
  /// In en, this message translates to:
  /// **'Yearly'**
  String get yearly;

  /// No description provided for @month.
  ///
  /// In en, this message translates to:
  /// **'month'**
  String get month;

  /// No description provided for @monthly.
  ///
  /// In en, this message translates to:
  /// **'Monthly'**
  String get monthly;

  /// No description provided for @proFeature1.
  ///
  /// In en, this message translates to:
  /// **'✓ Unlimited media file uploads'**
  String get proFeature1;

  /// No description provided for @proFeature2.
  ///
  /// In en, this message translates to:
  /// **'✓ 1 additional Plus user'**
  String get proFeature2;

  /// No description provided for @proFeature3.
  ///
  /// In en, this message translates to:
  /// **'✓ 25GB Memories storage'**
  String get proFeature3;

  /// No description provided for @proFeature4.
  ///
  /// In en, this message translates to:
  /// **'✓ Restore flames'**
  String get proFeature4;

  /// No description provided for @familyFeature1.
  ///
  /// In en, this message translates to:
  /// **'✓ Unlimited media file uploads'**
  String get familyFeature1;

  /// No description provided for @familyFeature2.
  ///
  /// In en, this message translates to:
  /// **'✓ 4 additional Plus user'**
  String get familyFeature2;

  /// No description provided for @familyFeature3.
  ///
  /// In en, this message translates to:
  /// **'✓ 50GB Memories storage'**
  String get familyFeature3;

  /// No description provided for @familyFeature4.
  ///
  /// In en, this message translates to:
  /// **'✓ Support twonly'**
  String get familyFeature4;

  /// No description provided for @freeFeature1.
  ///
  /// In en, this message translates to:
  /// **'✓ 10 Media file uploads per day'**
  String get freeFeature1;

  /// No description provided for @plusFeature1.
  ///
  /// In en, this message translates to:
  /// **'✓ Unlimited media file uploads'**
  String get plusFeature1;

  /// No description provided for @plusFeature2.
  ///
  /// In en, this message translates to:
  /// **'✓ Additional features (coming-soon)'**
  String get plusFeature2;

  /// No description provided for @manageAdditionalUsers.
  ///
  /// In en, this message translates to:
  /// **'Manage additional users'**
  String get manageAdditionalUsers;

  /// No description provided for @open.
  ///
  /// In en, this message translates to:
  /// **'Open'**
  String get open;

  /// No description provided for @buy.
  ///
  /// In en, this message translates to:
  /// **'Buy'**
  String get buy;

  /// No description provided for @autoRenewal.
  ///
  /// In en, this message translates to:
  /// **'Auto renewal'**
  String get autoRenewal;

  /// No description provided for @additionalUsersList.
  ///
  /// In en, this message translates to:
  /// **'Your additional users'**
  String get additionalUsersList;

  /// No description provided for @galleryDelete.
  ///
  /// In en, this message translates to:
  /// **'Delete file'**
  String get galleryDelete;

  /// No description provided for @galleryExport.
  ///
  /// In en, this message translates to:
  /// **'Export to gallery'**
  String get galleryExport;

  /// No description provided for @galleryExportSuccess.
  ///
  /// In en, this message translates to:
  /// **'Successfully saved in the Gallery.'**
  String get galleryExportSuccess;

  /// No description provided for @gallerySelectAll.
  ///
  /// In en, this message translates to:
  /// **'Select all'**
  String get gallerySelectAll;

  /// No description provided for @galleryDeselectAll.
  ///
  /// In en, this message translates to:
  /// **'Deselect all'**
  String get galleryDeselectAll;

  /// No description provided for @galleryFavorite.
  ///
  /// In en, this message translates to:
  /// **'Favorite'**
  String get galleryFavorite;

  /// No description provided for @galleryUnfavorite.
  ///
  /// In en, this message translates to:
  /// **'Unfavorite'**
  String get galleryUnfavorite;

  /// No description provided for @galleryCancel.
  ///
  /// In en, this message translates to:
  /// **'Cancel'**
  String get galleryCancel;

  /// No description provided for @memoriesEmpty.
  ///
  /// In en, this message translates to:
  /// **'As soon as you save pictures or videos, they end up here in your memories.'**
  String get memoriesEmpty;

  /// No description provided for @deleteTitle.
  ///
  /// In en, this message translates to:
  /// **'Are you sure?'**
  String get deleteTitle;

  /// No description provided for @deleteOkBtnForAll.
  ///
  /// In en, this message translates to:
  /// **'Delete for all'**
  String get deleteOkBtnForAll;

  /// No description provided for @memoriesDeleteSnackbarSuccess.
  ///
  /// In en, this message translates to:
  /// **'{count, plural, =1 {Deleted 1 item successfully} other {Deleted {count} items successfully}}'**
  String memoriesDeleteSnackbarSuccess(num count);

  /// No description provided for @deleteOkBtnForMe.
  ///
  /// In en, this message translates to:
  /// **'Delete for me'**
  String get deleteOkBtnForMe;

  /// No description provided for @deleteOnlyForMe.
  ///
  /// In en, this message translates to:
  /// **'Delete only for me'**
  String get deleteOnlyForMe;

  /// No description provided for @deleteImageTitle.
  ///
  /// In en, this message translates to:
  /// **'Are you sure?'**
  String get deleteImageTitle;

  /// No description provided for @deleteImageBody.
  ///
  /// In en, this message translates to:
  /// **'The image will be irrevocably deleted.'**
  String get deleteImageBody;

  /// No description provided for @deleteMemoriesBody.
  ///
  /// In en, this message translates to:
  /// **'{count, plural, =1 {The image will be irrevocably deleted.} other {The {count} images will be irrevocably deleted.}}'**
  String deleteMemoriesBody(num count);

  /// No description provided for @deleteMemoriesLocalOnly.
  ///
  /// In en, this message translates to:
  /// **'Local Only'**
  String get deleteMemoriesLocalOnly;

  /// No description provided for @deleteMemoriesCompletely.
  ///
  /// In en, this message translates to:
  /// **'Completely'**
  String get deleteMemoriesCompletely;

  /// No description provided for @memoriesSelectedCount.
  ///
  /// In en, this message translates to:
  /// **'{count, plural, =1 {1 Element} other {{count} Elements}}'**
  String memoriesSelectedCount(num count);

  /// No description provided for @memoriesMenuSelectAll.
  ///
  /// In en, this message translates to:
  /// **'Select all'**
  String get memoriesMenuSelectAll;

  /// No description provided for @memoriesMenuDeselectAll.
  ///
  /// In en, this message translates to:
  /// **'Deselect all'**
  String get memoriesMenuDeselectAll;

  /// No description provided for @memoriesMenuExport.
  ///
  /// In en, this message translates to:
  /// **'Export to gallery'**
  String get memoriesMenuExport;

  /// No description provided for @memoriesMenuFavorite.
  ///
  /// In en, this message translates to:
  /// **'Favorite'**
  String get memoriesMenuFavorite;

  /// No description provided for @memoriesMenuDelete.
  ///
  /// In en, this message translates to:
  /// **'Delete completely'**
  String get memoriesMenuDelete;

  /// No description provided for @memoriesMenuDeleteLocal.
  ///
  /// In en, this message translates to:
  /// **'Delete locally'**
  String get memoriesMenuDeleteLocal;

  /// No description provided for @settingsBackup.
  ///
  /// In en, this message translates to:
  /// **'Backup'**
  String get settingsBackup;

  /// No description provided for @backupPending.
  ///
  /// In en, this message translates to:
  /// **'Pending'**
  String get backupPending;

  /// No description provided for @backupFailed.
  ///
  /// In en, this message translates to:
  /// **'Failed'**
  String get backupFailed;

  /// No description provided for @backupSuccess.
  ///
  /// In en, this message translates to:
  /// **'Success'**
  String get backupSuccess;

  /// No description provided for @backupTwonlySafeDesc.
  ///
  /// In en, this message translates to:
  /// **'Back up your twonly identity, as this is the only way to restore your account if you uninstall the app or lose your phone.'**
  String get backupTwonlySafeDesc;

  /// No description provided for @backupNoPasswordRecovery.
  ///
  /// In en, this message translates to:
  /// **'Due to twonly\'s security system, there is (currently) no password recovery function. Therefore, you must remember your password or, better yet, write it down.'**
  String get backupNoPasswordRecovery;

  /// No description provided for @backupIdentityHeader.
  ///
  /// In en, this message translates to:
  /// **'Identity'**
  String get backupIdentityHeader;

  /// No description provided for @backupArchiveHeader.
  ///
  /// In en, this message translates to:
  /// **'Contacts & Messages'**
  String get backupArchiveHeader;

  /// No description provided for @backupLastBackupDate.
  ///
  /// In en, this message translates to:
  /// **'Last backup'**
  String get backupLastBackupDate;

  /// No description provided for @backupLastBackupSize.
  ///
  /// In en, this message translates to:
  /// **'Backup size'**
  String get backupLastBackupSize;

  /// No description provided for @backupLastBackupResult.
  ///
  /// In en, this message translates to:
  /// **'Result'**
  String get backupLastBackupResult;

  /// No description provided for @backupInsecurePassword.
  ///
  /// In en, this message translates to:
  /// **'Insecure password'**
  String get backupInsecurePassword;

  /// No description provided for @backupInsecurePasswordDesc.
  ///
  /// In en, this message translates to:
  /// **'The chosen password is very insecure and can therefore easily be guessed by attackers. Please choose a secure password.'**
  String get backupInsecurePasswordDesc;

  /// No description provided for @backupInsecurePasswordOk.
  ///
  /// In en, this message translates to:
  /// **'Continue anyway'**
  String get backupInsecurePasswordOk;

  /// No description provided for @backupInsecurePasswordCancel.
  ///
  /// In en, this message translates to:
  /// **'Try again'**
  String get backupInsecurePasswordCancel;

  /// No description provided for @backupTwonlySafeLongDesc.
  ///
  /// In en, this message translates to:
  /// **'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 Backup 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.'**
  String get backupTwonlySafeLongDesc;

  /// No description provided for @backupSelectStrongPassword.
  ///
  /// In en, this message translates to:
  /// **'Select a secure password. It is recommended to generate and store it via your password manager of choice.'**
  String get backupSelectStrongPassword;

  /// No description provided for @password.
  ///
  /// In en, this message translates to:
  /// **'Password'**
  String get password;

  /// No description provided for @passwordRepeated.
  ///
  /// In en, this message translates to:
  /// **'Repeat password'**
  String get passwordRepeated;

  /// No description provided for @passwordRepeatedNotEqual.
  ///
  /// In en, this message translates to:
  /// **'Passwords do not match.'**
  String get passwordRepeatedNotEqual;

  /// No description provided for @backupPasswordRequirement.
  ///
  /// In en, this message translates to:
  /// **'Password must be at least 10 characters long.'**
  String get backupPasswordRequirement;

  /// No description provided for @backupEnableBackup.
  ///
  /// In en, this message translates to:
  /// **'Enable Password Backup'**
  String get backupEnableBackup;

  /// No description provided for @backupTwonlySaveNow.
  ///
  /// In en, this message translates to:
  /// **'Save now'**
  String get backupTwonlySaveNow;

  /// No description provided for @backupChangePassword.
  ///
  /// In en, this message translates to:
  /// **'Change password'**
  String get backupChangePassword;

  /// No description provided for @backupChangePasswordAuthReason.
  ///
  /// In en, this message translates to:
  /// **'Changing backup password'**
  String get backupChangePasswordAuthReason;

  /// No description provided for @backupChangePasswordAuthFailed.
  ///
  /// In en, this message translates to:
  /// **'You can only change your password after you have authenticated!'**
  String get backupChangePasswordAuthFailed;

  /// No description provided for @backupFreeSpaceWithCloud.
  ///
  /// In en, this message translates to:
  /// **'Free Space with Cloud Backup'**
  String get backupFreeSpaceWithCloud;

  /// No description provided for @backupMemoriesNotEnabled.
  ///
  /// In en, this message translates to:
  /// **'Not enabled'**
  String get backupMemoriesNotEnabled;

  /// No description provided for @backupMemoriesUpgradeRequired.
  ///
  /// In en, this message translates to:
  /// **'Upgrade required'**
  String get backupMemoriesUpgradeRequired;

  /// No description provided for @todayAt.
  ///
  /// In en, this message translates to:
  /// **'Today at {time}'**
  String todayAt(Object time);

  /// No description provided for @yesterdayAt.
  ///
  /// In en, this message translates to:
  /// **'Yesterday at {time}'**
  String yesterdayAt(Object time);

  /// No description provided for @twonlySafeRecoverTitle.
  ///
  /// In en, this message translates to:
  /// **'Restore backup'**
  String get twonlySafeRecoverTitle;

  /// No description provided for @twonlySafeRecoverBtn.
  ///
  /// In en, this message translates to:
  /// **'Restore backup'**
  String get twonlySafeRecoverBtn;

  /// No description provided for @inviteFriends.
  ///
  /// In en, this message translates to:
  /// **'Invite your friends'**
  String get inviteFriends;

  /// No description provided for @inviteFriendsShareBtn.
  ///
  /// In en, this message translates to:
  /// **'Share'**
  String get inviteFriendsShareBtn;

  /// No description provided for @inviteFriendsShareText.
  ///
  /// In en, this message translates to:
  /// **'Let\'s switch to twonly: {url}'**
  String inviteFriendsShareText(Object url);

  /// No description provided for @appOutdated.
  ///
  /// In en, this message translates to:
  /// **'Your version of twonly is out of date.'**
  String get appOutdated;

  /// No description provided for @appOutdatedBtn.
  ///
  /// In en, this message translates to:
  /// **'Update Now'**
  String get appOutdatedBtn;

  /// No description provided for @doubleClickToReopen.
  ///
  /// In en, this message translates to:
  /// **'Double-click\nto open again'**
  String get doubleClickToReopen;

  /// No description provided for @uploadLimitReached.
  ///
  /// In en, this message translates to:
  /// **'The upload limit has\nbeen reached. Upgrade to Pro\nor wait until tomorrow.'**
  String get uploadLimitReached;

  /// No description provided for @fileLimitReached.
  ///
  /// In en, this message translates to:
  /// **'Maximum file size\nexceeded'**
  String get fileLimitReached;

  /// No description provided for @retransmissionRequested.
  ///
  /// In en, this message translates to:
  /// **'Retransmission requested'**
  String get retransmissionRequested;

  /// No description provided for @reportUserTitle.
  ///
  /// In en, this message translates to:
  /// **'Report {username}'**
  String reportUserTitle(Object username);

  /// No description provided for @reportUserReason.
  ///
  /// In en, this message translates to:
  /// **'Reporting reason'**
  String get reportUserReason;

  /// No description provided for @reportUser.
  ///
  /// In en, this message translates to:
  /// **'Report contact'**
  String get reportUser;

  /// No description provided for @newDeviceRegistered.
  ///
  /// In en, this message translates to:
  /// **'You have logged in on another device. You have therefore been logged out here.'**
  String get newDeviceRegistered;

  /// No description provided for @tabToRemoveEmoji.
  ///
  /// In en, this message translates to:
  /// **'Tab to remove'**
  String get tabToRemoveEmoji;

  /// No description provided for @quotedMessageWasDeleted.
  ///
  /// In en, this message translates to:
  /// **'The quoted message has been deleted.'**
  String get quotedMessageWasDeleted;

  /// No description provided for @messageWasDeleted.
  ///
  /// In en, this message translates to:
  /// **'Message has been deleted.'**
  String get messageWasDeleted;

  /// No description provided for @messageWasDeletedShort.
  ///
  /// In en, this message translates to:
  /// **'Deleted'**
  String get messageWasDeletedShort;

  /// No description provided for @sent.
  ///
  /// In en, this message translates to:
  /// **'Delivered'**
  String get sent;

  /// No description provided for @sentTo.
  ///
  /// In en, this message translates to:
  /// **'Delivered to'**
  String get sentTo;

  /// No description provided for @received.
  ///
  /// In en, this message translates to:
  /// **'Received'**
  String get received;

  /// No description provided for @opened.
  ///
  /// In en, this message translates to:
  /// **'Opened'**
  String get opened;

  /// No description provided for @waitingForInternet.
  ///
  /// In en, this message translates to:
  /// **'Waiting for internet'**
  String get waitingForInternet;

  /// No description provided for @editHistory.
  ///
  /// In en, this message translates to:
  /// **'Edit history'**
  String get editHistory;

  /// No description provided for @archivedChats.
  ///
  /// In en, this message translates to:
  /// **'Archived chats'**
  String get archivedChats;

  /// No description provided for @durationShortSecond.
  ///
  /// In en, this message translates to:
  /// **'Sec.'**
  String get durationShortSecond;

  /// No description provided for @durationShortMinute.
  ///
  /// In en, this message translates to:
  /// **'Min.'**
  String get durationShortMinute;

  /// No description provided for @durationShortHour.
  ///
  /// In en, this message translates to:
  /// **'Hrs.'**
  String get durationShortHour;

  /// No description provided for @durationShortDays.
  ///
  /// In en, this message translates to:
  /// **'{count, plural, =1{1 Day} other{{count} Days}}'**
  String durationShortDays(num count);

  /// No description provided for @contacts.
  ///
  /// In en, this message translates to:
  /// **'Contacts'**
  String get contacts;

  /// No description provided for @groups.
  ///
  /// In en, this message translates to:
  /// **'Groups'**
  String get groups;

  /// No description provided for @newGroup.
  ///
  /// In en, this message translates to:
  /// **'New group'**
  String get newGroup;

  /// No description provided for @selectMembers.
  ///
  /// In en, this message translates to:
  /// **'Select members'**
  String get selectMembers;

  /// No description provided for @selectGroupName.
  ///
  /// In en, this message translates to:
  /// **'Select group name'**
  String get selectGroupName;

  /// No description provided for @groupNameInput.
  ///
  /// In en, this message translates to:
  /// **'Group name'**
  String get groupNameInput;

  /// No description provided for @groupMembers.
  ///
  /// In en, this message translates to:
  /// **'Members'**
  String get groupMembers;

  /// No description provided for @addMember.
  ///
  /// In en, this message translates to:
  /// **'Add member'**
  String get addMember;

  /// No description provided for @createGroup.
  ///
  /// In en, this message translates to:
  /// **'Create group'**
  String get createGroup;

  /// No description provided for @leaveGroup.
  ///
  /// In en, this message translates to:
  /// **'Leave group'**
  String get leaveGroup;

  /// No description provided for @createContactRequest.
  ///
  /// In en, this message translates to:
  /// **'Create contact request'**
  String get createContactRequest;

  /// No description provided for @contactRequestSend.
  ///
  /// In en, this message translates to:
  /// **'Contact request send'**
  String get contactRequestSend;

  /// No description provided for @makeAdmin.
  ///
  /// In en, this message translates to:
  /// **'Make admin'**
  String get makeAdmin;

  /// No description provided for @removeAdmin.
  ///
  /// In en, this message translates to:
  /// **'Remove as admin'**
  String get removeAdmin;

  /// No description provided for @removeFromGroup.
  ///
  /// In en, this message translates to:
  /// **'Remove from group'**
  String get removeFromGroup;

  /// No description provided for @admin.
  ///
  /// In en, this message translates to:
  /// **'Admin'**
  String get admin;

  /// No description provided for @revokeAdminRightsTitle.
  ///
  /// In en, this message translates to:
  /// **'Revoke {username}\'s admin rights?'**
  String revokeAdminRightsTitle(Object username);

  /// No description provided for @revokeAdminRightsOkBtn.
  ///
  /// In en, this message translates to:
  /// **'Remove as admin'**
  String get revokeAdminRightsOkBtn;

  /// No description provided for @makeAdminRightsTitle.
  ///
  /// In en, this message translates to:
  /// **'Make {username} an admin?'**
  String makeAdminRightsTitle(Object username);

  /// No description provided for @makeAdminRightsBody.
  ///
  /// In en, this message translates to:
  /// **'{username} will be able to edit this group and its members.'**
  String makeAdminRightsBody(Object username);

  /// No description provided for @makeAdminRightsOkBtn.
  ///
  /// In en, this message translates to:
  /// **'Make admin'**
  String get makeAdminRightsOkBtn;

  /// No description provided for @updateGroup.
  ///
  /// In en, this message translates to:
  /// **'Update group'**
  String get updateGroup;

  /// No description provided for @alreadyInGroup.
  ///
  /// In en, this message translates to:
  /// **'Already in Group'**
  String get alreadyInGroup;

  /// No description provided for @contactNotVerified.
  ///
  /// In en, this message translates to:
  /// **'Not verified'**
  String get contactNotVerified;

  /// No description provided for @removeContactFromGroupTitle.
  ///
  /// In en, this message translates to:
  /// **'Remove {username} from this group?'**
  String removeContactFromGroupTitle(Object username);

  /// No description provided for @youChangedGroupName.
  ///
  /// In en, this message translates to:
  /// **'You have changed the group name to \"{newGroupName}\".'**
  String youChangedGroupName(Object newGroupName);

  /// No description provided for @makerChangedGroupName.
  ///
  /// In en, this message translates to:
  /// **'{maker} has changed the group name to \"{newGroupName}\".'**
  String makerChangedGroupName(Object maker, Object newGroupName);

  /// No description provided for @youCreatedGroup.
  ///
  /// In en, this message translates to:
  /// **'You have created the group.'**
  String get youCreatedGroup;

  /// No description provided for @makerCreatedGroup.
  ///
  /// In en, this message translates to:
  /// **'{maker} has created the group.'**
  String makerCreatedGroup(Object maker);

  /// No description provided for @youRemovedMember.
  ///
  /// In en, this message translates to:
  /// **'You have removed {affected} from the group.'**
  String youRemovedMember(Object affected);

  /// No description provided for @makerRemovedMember.
  ///
  /// In en, this message translates to:
  /// **'{maker} has removed {affected} from the group.'**
  String makerRemovedMember(Object affected, Object maker);

  /// No description provided for @youAddedMember.
  ///
  /// In en, this message translates to:
  /// **'You have added {affected} to the group.'**
  String youAddedMember(Object affected);

  /// No description provided for @makerAddedMember.
  ///
  /// In en, this message translates to:
  /// **'{maker} has added {affected} to the group.'**
  String makerAddedMember(Object affected, Object maker);

  /// No description provided for @youMadeAdmin.
  ///
  /// In en, this message translates to:
  /// **'You made {affected} an admin.'**
  String youMadeAdmin(Object affected);

  /// No description provided for @makerMadeAdmin.
  ///
  /// In en, this message translates to:
  /// **'{maker} made {affected} an admin.'**
  String makerMadeAdmin(Object affected, Object maker);

  /// No description provided for @youRevokedAdminRights.
  ///
  /// In en, this message translates to:
  /// **'You revoked {affectedR}\'s admin rights.'**
  String youRevokedAdminRights(Object affectedR);

  /// No description provided for @makerRevokedAdminRights.
  ///
  /// In en, this message translates to:
  /// **'{maker} revoked {affectedR}\'s admin rights.'**
  String makerRevokedAdminRights(Object affectedR, Object maker);

  /// No description provided for @youLeftGroup.
  ///
  /// In en, this message translates to:
  /// **'You have left the group.'**
  String get youLeftGroup;

  /// No description provided for @makerLeftGroup.
  ///
  /// In en, this message translates to:
  /// **'{maker} has left the group.'**
  String makerLeftGroup(Object maker);

  /// No description provided for @groupActionYou.
  ///
  /// In en, this message translates to:
  /// **'you'**
  String get groupActionYou;

  /// No description provided for @groupActionYour.
  ///
  /// In en, this message translates to:
  /// **'your'**
  String get groupActionYour;

  /// No description provided for @notificationFillerIn.
  ///
  /// In en, this message translates to:
  /// **'in'**
  String get notificationFillerIn;

  /// No description provided for @notificationText.
  ///
  /// In en, this message translates to:
  /// **'sent a message{inGroup}.'**
  String notificationText(Object inGroup);

  /// No description provided for @notificationTwonly.
  ///
  /// In en, this message translates to:
  /// **'sent a twonly{inGroup}.'**
  String notificationTwonly(Object inGroup);

  /// No description provided for @notificationVideo.
  ///
  /// In en, this message translates to:
  /// **'sent a video{inGroup}.'**
  String notificationVideo(Object inGroup);

  /// No description provided for @notificationImage.
  ///
  /// In en, this message translates to:
  /// **'sent an image{inGroup}.'**
  String notificationImage(Object inGroup);

  /// No description provided for @notificationAudio.
  ///
  /// In en, this message translates to:
  /// **'sent a voice message{inGroup}.'**
  String notificationAudio(Object inGroup);

  /// No description provided for @notificationAddedToGroup.
  ///
  /// In en, this message translates to:
  /// **'has added you to \"{groupname}\"'**
  String notificationAddedToGroup(Object groupname);

  /// No description provided for @notificationContactRequest.
  ///
  /// In en, this message translates to:
  /// **'wants to connect with you.'**
  String get notificationContactRequest;

  /// No description provided for @notificationAcceptRequest.
  ///
  /// In en, this message translates to:
  /// **'is now connected with you.'**
  String get notificationAcceptRequest;

  /// No description provided for @notificationStoredMediaFile.
  ///
  /// In en, this message translates to:
  /// **'has stored your image.'**
  String get notificationStoredMediaFile;

  /// No description provided for @notificationReaction.
  ///
  /// In en, this message translates to:
  /// **'has reacted to your image.'**
  String get notificationReaction;

  /// No description provided for @notificationReopenedMedia.
  ///
  /// In en, this message translates to:
  /// **'has reopened your image.'**
  String get notificationReopenedMedia;

  /// No description provided for @notificationReactionToVideo.
  ///
  /// In en, this message translates to:
  /// **'has reacted with {reaction} to your video.'**
  String notificationReactionToVideo(Object reaction);

  /// No description provided for @notificationReactionToText.
  ///
  /// In en, this message translates to:
  /// **'has reacted with {reaction} to your message.'**
  String notificationReactionToText(Object reaction);

  /// No description provided for @notificationReactionToImage.
  ///
  /// In en, this message translates to:
  /// **'has reacted with {reaction} to your image.'**
  String notificationReactionToImage(Object reaction);

  /// No description provided for @notificationReactionToAudio.
  ///
  /// In en, this message translates to:
  /// **'has reacted with {reaction} to your audio message.'**
  String notificationReactionToAudio(Object reaction);

  /// No description provided for @notificationResponse.
  ///
  /// In en, this message translates to:
  /// **'has responded{inGroup}.'**
  String notificationResponse(Object inGroup);

  /// No description provided for @notificationCategoryMessageTitle.
  ///
  /// In en, this message translates to:
  /// **'Messages'**
  String get notificationCategoryMessageTitle;

  /// No description provided for @notificationCategoryMessageDesc.
  ///
  /// In en, this message translates to:
  /// **'Messages from other users.'**
  String get notificationCategoryMessageDesc;

  /// No description provided for @groupContextMenuDeleteGroup.
  ///
  /// In en, this message translates to:
  /// **'This will permanently delete all messages in this chat.'**
  String get groupContextMenuDeleteGroup;

  /// No description provided for @groupYouAreNowLongerAMember.
  ///
  /// In en, this message translates to:
  /// **'You are no longer part of this group.'**
  String get groupYouAreNowLongerAMember;

  /// No description provided for @groupNetworkIssue.
  ///
  /// In en, this message translates to:
  /// **'Network issue. Try again later.'**
  String get groupNetworkIssue;

  /// No description provided for @leaveGroupSelectOtherAdminTitle.
  ///
  /// In en, this message translates to:
  /// **'Select another admin'**
  String get leaveGroupSelectOtherAdminTitle;

  /// No description provided for @leaveGroupSelectOtherAdminBody.
  ///
  /// In en, this message translates to:
  /// **'To leave the group, you must first select a new administrator.'**
  String get leaveGroupSelectOtherAdminBody;

  /// No description provided for @leaveGroupSureTitle.
  ///
  /// In en, this message translates to:
  /// **'Leave group'**
  String get leaveGroupSureTitle;

  /// No description provided for @leaveGroupSureBody.
  ///
  /// In en, this message translates to:
  /// **'Do you really want to leave the group?'**
  String get leaveGroupSureBody;

  /// No description provided for @leaveGroupSureOkBtn.
  ///
  /// In en, this message translates to:
  /// **'Leave group'**
  String get leaveGroupSureOkBtn;

  /// No description provided for @changeDisplayMaxTime.
  ///
  /// In en, this message translates to:
  /// **'Chats will now be deleted after {time} ({username}).'**
  String changeDisplayMaxTime(Object time, Object username);

  /// No description provided for @youChangedDisplayMaxTime.
  ///
  /// In en, this message translates to:
  /// **'Chats will now be deleted after {time}.'**
  String youChangedDisplayMaxTime(Object time);

  /// No description provided for @userGotReported.
  ///
  /// In en, this message translates to:
  /// **'User has been reported.'**
  String get userGotReported;

  /// No description provided for @deleteChatAfter.
  ///
  /// In en, this message translates to:
  /// **'Delete chat after...'**
  String get deleteChatAfter;

  /// No description provided for @deleteChatAfterAnHour.
  ///
  /// In en, this message translates to:
  /// **'one hour.'**
  String get deleteChatAfterAnHour;

  /// No description provided for @deleteChatAfterADay.
  ///
  /// In en, this message translates to:
  /// **'one day.'**
  String get deleteChatAfterADay;

  /// No description provided for @deleteChatAfterAWeek.
  ///
  /// In en, this message translates to:
  /// **'one week.'**
  String get deleteChatAfterAWeek;

  /// No description provided for @deleteChatAfterAMonth.
  ///
  /// In en, this message translates to:
  /// **'one month.'**
  String get deleteChatAfterAMonth;

  /// No description provided for @deleteChatAfterAYear.
  ///
  /// In en, this message translates to:
  /// **'one year.'**
  String get deleteChatAfterAYear;

  /// No description provided for @yourTwonlyScore.
  ///
  /// In en, this message translates to:
  /// **'Your twonly-Score'**
  String get yourTwonlyScore;

  /// No description provided for @registrationClosed.
  ///
  /// In en, this message translates to:
  /// **'Due to the current high volume of registrations, we have temporarily disabled registration to ensure that the service remains reliable. Please try again in a few days.'**
  String get registrationClosed;

  /// No description provided for @dialogAskDeleteMediaFilePopTitle.
  ///
  /// In en, this message translates to:
  /// **'Are you sure you want to delete your masterpiece?'**
  String get dialogAskDeleteMediaFilePopTitle;

  /// No description provided for @dialogAskDeleteMediaFilePopDelete.
  ///
  /// In en, this message translates to:
  /// **'Delete'**
  String get dialogAskDeleteMediaFilePopDelete;

  /// No description provided for @allowErrorTracking.
  ///
  /// In en, this message translates to:
  /// **'Share errors and crashes with us'**
  String get allowErrorTracking;

  /// No description provided for @allowErrorTrackingSubtitle.
  ///
  /// In en, this message translates to:
  /// **'If twonly crashes or errors occur, these are automatically reported to our self-hosted Glitchtip instance. Personal data such as messages or images are never uploaded.'**
  String get allowErrorTrackingSubtitle;

  /// No description provided for @avatarSaveChanges.
  ///
  /// In en, this message translates to:
  /// **'Would you like to save the changes?'**
  String get avatarSaveChanges;

  /// No description provided for @avatarSaveChangesStore.
  ///
  /// In en, this message translates to:
  /// **'Save'**
  String get avatarSaveChangesStore;

  /// No description provided for @avatarSaveChangesDiscard.
  ///
  /// In en, this message translates to:
  /// **'Discard'**
  String get avatarSaveChangesDiscard;

  /// No description provided for @inProcess.
  ///
  /// In en, this message translates to:
  /// **'In process'**
  String get inProcess;

  /// No description provided for @draftMessage.
  ///
  /// In en, this message translates to:
  /// **'Draft'**
  String get draftMessage;

  /// No description provided for @voiceMessageSlideToCancel.
  ///
  /// In en, this message translates to:
  /// **'Slide to cancel'**
  String get voiceMessageSlideToCancel;

  /// No description provided for @voiceMessageCancel.
  ///
  /// In en, this message translates to:
  /// **'Cancel'**
  String get voiceMessageCancel;

  /// No description provided for @shareYourProfile.
  ///
  /// In en, this message translates to:
  /// **'Share your profile'**
  String get shareYourProfile;

  /// No description provided for @scanOtherProfile.
  ///
  /// In en, this message translates to:
  /// **'Scan other profile'**
  String get scanOtherProfile;

  /// No description provided for @openYourOwnQRcode.
  ///
  /// In en, this message translates to:
  /// **'Open your own QR code'**
  String get openYourOwnQRcode;

  /// No description provided for @addContactQrSheetSubtext.
  ///
  /// In en, this message translates to:
  /// **'Let a friend scan this QR code to add you'**
  String get addContactQrSheetSubtext;

  /// No description provided for @letUserScanQrCode.
  ///
  /// In en, this message translates to:
  /// **'Let {username} scan this QR code'**
  String letUserScanQrCode(Object username);

  /// No description provided for @finishSetupCardTitle.
  ///
  /// In en, this message translates to:
  /// **'Complete your profile'**
  String get finishSetupCardTitle;

  /// No description provided for @finishSetupCardDesc.
  ///
  /// In en, this message translates to:
  /// **'You are almost there! Finish setting up your account to get the most out of twonly.'**
  String get finishSetupCardDesc;

  /// No description provided for @finishSetupCardAction.
  ///
  /// In en, this message translates to:
  /// **'Resume Setup'**
  String get finishSetupCardAction;

  /// No description provided for @missingBackupCardTitle.
  ///
  /// In en, this message translates to:
  /// **'Setup backup'**
  String get missingBackupCardTitle;

  /// No description provided for @missingBackupCardDesc.
  ///
  /// In en, this message translates to:
  /// **'We have improved the backup mechanism, which requires you to set it up again.'**
  String get missingBackupCardDesc;

  /// No description provided for @missingBackupCardAction.
  ///
  /// In en, this message translates to:
  /// **'Set up now'**
  String get missingBackupCardAction;

  /// No description provided for @onboardingFinishLater.
  ///
  /// In en, this message translates to:
  /// **'Finish later'**
  String get onboardingFinishLater;

  /// No description provided for @onboardingProfileTitle.
  ///
  /// In en, this message translates to:
  /// **'Choose your look'**
  String get onboardingProfileTitle;

  /// No description provided for @onboardingProfileBody.
  ///
  /// In en, this message translates to:
  /// **'Select an avatar and a display name that friends will see.'**
  String get onboardingProfileBody;

  /// No description provided for @onboardingBackupBody.
  ///
  /// In en, this message translates to:
  /// **'Back up your twonly identity, as this is the only way to restore your account if you uninstall the app or lose your phone.'**
  String get onboardingBackupBody;

  /// No description provided for @onboardingUserDiscoveryShareFriends.
  ///
  /// In en, this message translates to:
  /// **'Share your friends'**
  String get onboardingUserDiscoveryShareFriends;

  /// No description provided for @onboardingUserDiscoveryShareFriendsDesc.
  ///
  /// In en, this message translates to:
  /// **'Share with your friends who you know and who you have verified. Friends can *only see mutual friends* from your friend list. You can change your mind at *any time* or *hide specific people*.'**
  String get onboardingUserDiscoveryShareFriendsDesc;

  /// No description provided for @onboardingUserDiscoveryContactsVerifiedBadge.
  ///
  /// In en, this message translates to:
  /// **'Contacts verified by your friends get a badge'**
  String get onboardingUserDiscoveryContactsVerifiedBadge;

  /// No description provided for @onboardingUserDiscoveryWhoIsRequesting.
  ///
  /// In en, this message translates to:
  /// **'Be informed about who is requesting'**
  String get onboardingUserDiscoveryWhoIsRequesting;

  /// No description provided for @userDiscoverySettingsManualApproval.
  ///
  /// In en, this message translates to:
  /// **'Ask every time before sharing'**
  String get userDiscoverySettingsManualApproval;

  /// No description provided for @userDiscoverySettingsManualApprovalDesc.
  ///
  /// In en, this message translates to:
  /// **'Before one of your friends is shared, you will be asked every time.'**
  String get userDiscoverySettingsManualApprovalDesc;

  /// No description provided for @onboardingUserDiscoveryLetFriendsFindYou.
  ///
  /// In en, this message translates to:
  /// **'Let your friends find you'**
  String get onboardingUserDiscoveryLetFriendsFindYou;

  /// No description provided for @onboardingUserDiscoveryBeRecommended.
  ///
  /// In en, this message translates to:
  /// **'Be recommended to others'**
  String get onboardingUserDiscoveryBeRecommended;

  /// No description provided for @onboardingUserDiscoveryWhatOthersSee.
  ///
  /// In en, this message translates to:
  /// **'What others will see'**
  String get onboardingUserDiscoveryWhatOthersSee;

  /// No description provided for @onboardingUserDiscoveryWhatYouSee.
  ///
  /// In en, this message translates to:
  /// **'If requested, that\'s what you will see'**
  String get onboardingUserDiscoveryWhatYouSee;

  /// No description provided for @onboardingAddContactsTitle.
  ///
  /// In en, this message translates to:
  /// **'Add new contacts'**
  String get onboardingAddContactsTitle;

  /// No description provided for @onboardingAddContactsAcceptDesc.
  ///
  /// In en, this message translates to:
  /// **'In twonly, every contact must first be accepted before you can communicate.'**
  String get onboardingAddContactsAcceptDesc;

  /// No description provided for @onboardingAddContactsMethodHeading.
  ///
  /// In en, this message translates to:
  /// **'Add contacts'**
  String get onboardingAddContactsMethodHeading;

  /// No description provided for @onboardingAddContactsMethodScan.
  ///
  /// In en, this message translates to:
  /// **'Scan the contact\'s QR code.'**
  String get onboardingAddContactsMethodScan;

  /// No description provided for @onboardingAddContactsMethodSearch.
  ///
  /// In en, this message translates to:
  /// **'Search for the username.'**
  String get onboardingAddContactsMethodSearch;

  /// No description provided for @onboardingAddContactsMethodShare.
  ///
  /// In en, this message translates to:
  /// **'Share a contact in chats.'**
  String get onboardingAddContactsMethodShare;

  /// No description provided for @linkFromUsername.
  ///
  /// In en, this message translates to:
  /// **'Is the link from {username}?'**
  String linkFromUsername(Object username);

  /// No description provided for @linkFromUsernameLong.
  ///
  /// In en, this message translates to:
  /// **'If you received the link from your friend, you can mark the user as verified, as the public key in the link matches the public key already stored for that user?'**
  String get linkFromUsernameLong;

  /// No description provided for @gotLinkFromFriend.
  ///
  /// In en, this message translates to:
  /// **'Yes, I got the link from my friend!'**
  String get gotLinkFromFriend;

  /// No description provided for @couldNotVerifyUsername.
  ///
  /// In en, this message translates to:
  /// **'Could not verify {username}'**
  String couldNotVerifyUsername(Object username);

  /// No description provided for @linkPubkeyDoesNotMatch.
  ///
  /// In en, this message translates to:
  /// **'The public key in the link does not match the public key stored for this contact. Try to meet your friend in person and scan the QR code directly!'**
  String get linkPubkeyDoesNotMatch;

  /// No description provided for @startWithCameraOpen.
  ///
  /// In en, this message translates to:
  /// **'Start with camera open'**
  String get startWithCameraOpen;

  /// No description provided for @showImagePreviewWhenSending.
  ///
  /// In en, this message translates to:
  /// **'Display image preview when selecting recipients'**
  String get showImagePreviewWhenSending;

  /// No description provided for @verifiedPublicKey.
  ///
  /// In en, this message translates to:
  /// **'The identity of {username} has been successfully verified.'**
  String verifiedPublicKey(Object username);

  /// No description provided for @memoriesAYearAgo.
  ///
  /// In en, this message translates to:
  /// **'One year ago'**
  String get memoriesAYearAgo;

  /// No description provided for @memoriesXYearsAgo.
  ///
  /// In en, this message translates to:
  /// **'{years} years ago'**
  String memoriesXYearsAgo(Object years);

  /// No description provided for @migrationOfMemories.
  ///
  /// In en, this message translates to:
  /// **'Migration of media files: {open} still to be processed.'**
  String migrationOfMemories(Object open);

  /// No description provided for @autoStoreAllSendUnlimitedMediaFiles.
  ///
  /// In en, this message translates to:
  /// **'Save all sent media'**
  String get autoStoreAllSendUnlimitedMediaFiles;

  /// No description provided for @autoStoreAllSendUnlimitedMediaFilesSubtitle.
  ///
  /// In en, this message translates to:
  /// **'If you enable this option, all images you send will be saved as long as they were sent with an infinite countdown and not in twonly mode.'**
  String get autoStoreAllSendUnlimitedMediaFilesSubtitle;

  /// No description provided for @termsOfService.
  ///
  /// In en, this message translates to:
  /// **'Terms of service'**
  String get termsOfService;

  /// No description provided for @privacyPolicy.
  ///
  /// In en, this message translates to:
  /// **'Privacy policy'**
  String get privacyPolicy;

  /// No description provided for @additionalUserAddError.
  ///
  /// In en, this message translates to:
  /// **'{username} could not be added, please try again later.'**
  String additionalUserAddError(Object username);

  /// No description provided for @additionalUserAddErrorNotInFreePlan.
  ///
  /// In en, this message translates to:
  /// **'{username} is already on a paid plan and therefore could not be added.'**
  String additionalUserAddErrorNotInFreePlan(Object username);

  /// No description provided for @additionalUserAddButton.
  ///
  /// In en, this message translates to:
  /// **'Add additional user ({used}/{limit})'**
  String additionalUserAddButton(Object limit, Object used);

  /// No description provided for @additionalUserRemoveTitle.
  ///
  /// In en, this message translates to:
  /// **'Remove this additional user'**
  String get additionalUserRemoveTitle;

  /// No description provided for @additionalUserRemoveDesc.
  ///
  /// In en, this message translates to:
  /// **'After removal, the additional user will automatically be downgraded to the free plan, and you can add another person.'**
  String get additionalUserRemoveDesc;

  /// No description provided for @additionalUserSelectTitle.
  ///
  /// In en, this message translates to:
  /// **'Select additional users'**
  String get additionalUserSelectTitle;

  /// No description provided for @additionalUserSelectButton.
  ///
  /// In en, this message translates to:
  /// **'Select users ({used}/{limit})'**
  String additionalUserSelectButton(Object limit, Object used);

  /// No description provided for @storeAsDefault.
  ///
  /// In en, this message translates to:
  /// **'Store as default'**
  String get storeAsDefault;

  /// No description provided for @deleteUserErrorMessage.
  ///
  /// In en, this message translates to:
  /// **'You can only delete the contact once the direct chat has been deleted and the contact is no longer a member of a group.'**
  String get deleteUserErrorMessage;

  /// No description provided for @groupSizeLimitError.
  ///
  /// In en, this message translates to:
  /// **'Currently, group size is limited to {size} people!'**
  String groupSizeLimitError(Object size);

  /// No description provided for @authRequestReopenImage.
  ///
  /// In en, this message translates to:
  /// **'You must authenticate to reopen the image.'**
  String get authRequestReopenImage;

  /// No description provided for @shareContactsMenu.
  ///
  /// In en, this message translates to:
  /// **'Contact'**
  String get shareContactsMenu;

  /// No description provided for @shareContactsTitle.
  ///
  /// In en, this message translates to:
  /// **'Select contacts'**
  String get shareContactsTitle;

  /// No description provided for @shareContactsSubmit.
  ///
  /// In en, this message translates to:
  /// **'Share now'**
  String get shareContactsSubmit;

  /// No description provided for @updateTwonlyMessage.
  ///
  /// In en, this message translates to:
  /// **'To see this message, you need to update twonly.'**
  String get updateTwonlyMessage;

  /// No description provided for @verificationBadgeNote.
  ///
  /// In en, this message translates to:
  /// **'You can verify your friends by scanning their public QR code. Click to learn more.'**
  String get verificationBadgeNote;

  /// No description provided for @verificationBadgeTitle.
  ///
  /// In en, this message translates to:
  /// **'Verification'**
  String get verificationBadgeTitle;

  /// No description provided for @verificationBadgeGeneralDesc.
  ///
  /// In en, this message translates to:
  /// **'The badge gives you the peace of mind that you are messaging the *right person* and your *messages remain confidential*.'**
  String get verificationBadgeGeneralDesc;

  /// No description provided for @verificationBadgeGreenDesc.
  ///
  /// In en, this message translates to:
  /// **'A contact you have *personally verified* using the QR code.'**
  String get verificationBadgeGreenDesc;

  /// No description provided for @verificationBadgeYellowDesc.
  ///
  /// In en, this message translates to:
  /// **'A contact who has been verified by at least one of *your contacts*.'**
  String get verificationBadgeYellowDesc;

  /// No description provided for @verificationBadgeRedDesc.
  ///
  /// In en, this message translates to:
  /// **'A contact whose identity has *not* yet been verified.'**
  String get verificationBadgeRedDesc;

  /// No description provided for @scanNow.
  ///
  /// In en, this message translates to:
  /// **'Scan now'**
  String get scanNow;

  /// No description provided for @qrScannerVerifyHint.
  ///
  /// In en, this message translates to:
  /// **'To verify, the other person must open their QR code (Chat Lists > QR code button at the bottom right)'**
  String get qrScannerVerifyHint;

  /// No description provided for @qrScannerVerifyUserHint.
  ///
  /// In en, this message translates to:
  /// **'To verify, {username} must open their QR code (Chat Lists > QR code button at the bottom right)'**
  String qrScannerVerifyUserHint(Object username);

  /// No description provided for @openQrCode.
  ///
  /// In en, this message translates to:
  /// **'Open QR code'**
  String get openQrCode;

  /// No description provided for @letFriendScanQrToVerify.
  ///
  /// In en, this message translates to:
  /// **'Let a friend scan this QR code to verify you'**
  String get letFriendScanQrToVerify;

  /// No description provided for @deleteVerificationTitle.
  ///
  /// In en, this message translates to:
  /// **'Delete verification?'**
  String get deleteVerificationTitle;

  /// No description provided for @deleteVerificationBody.
  ///
  /// In en, this message translates to:
  /// **'Are you sure you want to delete this verification?'**
  String get deleteVerificationBody;

  /// No description provided for @secretQrTokenVerifiedSnackbar.
  ///
  /// In en, this message translates to:
  /// **'{username} has scanned your QR code and is now verified.'**
  String secretQrTokenVerifiedSnackbar(Object username);

  /// No description provided for @askForFriendPromotionsPrompt.
  ///
  /// In en, this message translates to:
  /// **'Help {username} find familiar faces on twonly by sharing mutual friends.'**
  String askForFriendPromotionsPrompt(Object username);

  /// No description provided for @mutualGroupsTitle.
  ///
  /// In en, this message translates to:
  /// **'{count, plural, =1{1 mutual group} other{{count} mutual groups}}'**
  String mutualGroupsTitle(num count);

  /// No description provided for @chatEntryFlameRestored.
  ///
  /// In en, this message translates to:
  /// **'{count} flames restored'**
  String chatEntryFlameRestored(Object count);

  /// No description provided for @requestedUserToastText.
  ///
  /// In en, this message translates to:
  /// **'{username} was successfully requested.'**
  String requestedUserToastText(Object username);

  /// No description provided for @profileYourQrCode.
  ///
  /// In en, this message translates to:
  /// **'Your QR code'**
  String get profileYourQrCode;

  /// No description provided for @settingsScreenLock.
  ///
  /// In en, this message translates to:
  /// **'Screen lock'**
  String get settingsScreenLock;

  /// No description provided for @settingsScreenLockSubtitle.
  ///
  /// In en, this message translates to:
  /// **'To open twonly, you\'ll need to use your smartphone\'s unlock feature.'**
  String get settingsScreenLockSubtitle;

  /// No description provided for @settingsScreenLockAuthMessageEnable.
  ///
  /// In en, this message translates to:
  /// **'Use the screen lock from twonly.'**
  String get settingsScreenLockAuthMessageEnable;

  /// No description provided for @settingsScreenLockAuthMessageDisable.
  ///
  /// In en, this message translates to:
  /// **'Disable the screen lock from twonly.'**
  String get settingsScreenLockAuthMessageDisable;

  /// No description provided for @unlockTwonly.
  ///
  /// In en, this message translates to:
  /// **'Unlock twonly'**
  String get unlockTwonly;

  /// No description provided for @unlockTwonlyTryAgain.
  ///
  /// In en, this message translates to:
  /// **'Try again'**
  String get unlockTwonlyTryAgain;

  /// No description provided for @unlockTwonlyDesc.
  ///
  /// In en, this message translates to:
  /// **'Use your phone\'s unlock settings to unlock twonly'**
  String get unlockTwonlyDesc;

  /// No description provided for @settingsTypingIndication.
  ///
  /// In en, this message translates to:
  /// **'Typing Indicators'**
  String get settingsTypingIndication;

  /// No description provided for @settingsTypingIndicationSubtitle.
  ///
  /// In en, this message translates to:
  /// **'When the typing indicator is turned off, you can\'t see when others are typing a message.'**
  String get settingsTypingIndicationSubtitle;

  /// No description provided for @contactActionBlock.
  ///
  /// In en, this message translates to:
  /// **'Block'**
  String get contactActionBlock;

  /// No description provided for @contactActionAccept.
  ///
  /// In en, this message translates to:
  /// **'Accept'**
  String get contactActionAccept;

  /// No description provided for @userDiscoverySettingsMutualFriends.
  ///
  /// In en, this message translates to:
  /// **'Choose how many mutual friends a person must have for you to be suggested to them.'**
  String get userDiscoverySettingsMutualFriends;

  /// No description provided for @userDiscoverySettingsApply.
  ///
  /// In en, this message translates to:
  /// **'Apply changes'**
  String get userDiscoverySettingsApply;

  /// No description provided for @userDiscoveryEnabledDisableWarning.
  ///
  /// In en, this message translates to:
  /// **'If you disable the \"Mutual Friends\" feature, you will no longer see suggestions. You will also stop sharing your friends with new contacts.'**
  String get userDiscoveryEnabledDisableWarning;

  /// No description provided for @userDiscoveryEnabledChangeSettings.
  ///
  /// In en, this message translates to:
  /// **'Change settings'**
  String get userDiscoveryEnabledChangeSettings;

  /// No description provided for @userDiscoveryEnabledFaq.
  ///
  /// In en, this message translates to:
  /// **'In our FAQ we explain how the \"Mutual Friends\" feature works.'**
  String get userDiscoveryEnabledFaq;

  /// No description provided for @userDiscoveryDisabledIntro.
  ///
  /// In en, this message translates to:
  /// **'twonly does *not* collect your phone number or needs access to your contacts. Instead, twonly can *find your friends through mutual friends*.'**
  String get userDiscoveryDisabledIntro;

  /// No description provided for @userDiscoverySettingsTitle.
  ///
  /// In en, this message translates to:
  /// **'Mutual Friends'**
  String get userDiscoverySettingsTitle;

  /// No description provided for @userDiscoveryFeatureOffers.
  ///
  /// In en, this message translates to:
  /// **'Your benefits at a glance'**
  String get userDiscoveryFeatureOffers;

  /// No description provided for @userDiscoveryDisabledLearnMore.
  ///
  /// In en, this message translates to:
  /// **'Learn more'**
  String get userDiscoveryDisabledLearnMore;

  /// No description provided for @userDiscoveryEnabledDialogTitle.
  ///
  /// In en, this message translates to:
  /// **'Really disable?'**
  String get userDiscoveryEnabledDialogTitle;

  /// No description provided for @userDiscoveryEnabledFriendsShared.
  ///
  /// In en, this message translates to:
  /// **'Friends you share'**
  String get userDiscoveryEnabledFriendsShared;

  /// No description provided for @userDiscoveryEnabledFriendsSharedDesc.
  ///
  /// In en, this message translates to:
  /// **'You only share friends who have also activated this feature and who have reached the threshold you set.'**
  String get userDiscoveryEnabledFriendsSharedDesc;

  /// No description provided for @userDiscoverySettingsCurrentlyDisabled.
  ///
  /// In en, this message translates to:
  /// **'The feature \"Mutual Friends\" is currently disabled.'**
  String get userDiscoverySettingsCurrentlyDisabled;

  /// No description provided for @userDiscoveryEnabledNoFriendsShared.
  ///
  /// In en, this message translates to:
  /// **'You are not sharing anyone yet.'**
  String get userDiscoveryEnabledNoFriendsShared;

  /// No description provided for @userDiscoveryActionDisable.
  ///
  /// In en, this message translates to:
  /// **'Disable'**
  String get userDiscoveryActionDisable;

  /// No description provided for @friendSuggestionsTitle.
  ///
  /// In en, this message translates to:
  /// **'Friend suggestions'**
  String get friendSuggestionsTitle;

  /// No description provided for @andWord.
  ///
  /// In en, this message translates to:
  /// **'and'**
  String get andWord;

  /// No description provided for @friendSuggestionsFriendsWith.
  ///
  /// In en, this message translates to:
  /// **'Friends with {friends}.'**
  String friendSuggestionsFriendsWith(Object friends);

  /// No description provided for @friendSuggestionsGroupMemberIn.
  ///
  /// In en, this message translates to:
  /// **' Group member in {groups}.'**
  String friendSuggestionsGroupMemberIn(Object groups);

  /// No description provided for @friendSuggestionsRequest.
  ///
  /// In en, this message translates to:
  /// **'Request'**
  String get friendSuggestionsRequest;

  /// No description provided for @friendSuggestionsAskFriend.
  ///
  /// In en, this message translates to:
  /// **'Ask your friends'**
  String get friendSuggestionsAskFriend;

  /// No description provided for @askFriendsDialogTitle.
  ///
  /// In en, this message translates to:
  /// **'Ask about {username}'**
  String askFriendsDialogTitle(Object username);

  /// No description provided for @askFriendsDialogDescription.
  ///
  /// In en, this message translates to:
  /// **'Select the friends you want to ask about this user:'**
  String get askFriendsDialogDescription;

  /// No description provided for @askFriendsDialogConfirm.
  ///
  /// In en, this message translates to:
  /// **'Ask'**
  String get askFriendsDialogConfirm;

  /// No description provided for @askFriendsDialogCancel.
  ///
  /// In en, this message translates to:
  /// **'Cancel'**
  String get askFriendsDialogCancel;

  /// No description provided for @chatAskAFriendReceivedDescription.
  ///
  /// In en, this message translates to:
  /// **'Your friend just got this as a suggestion and wants to know if he knows this person.'**
  String get chatAskAFriendReceivedDescription;

  /// No description provided for @chatAskAFriendAddedDescription.
  ///
  /// In en, this message translates to:
  /// **'You have added this user to your contacts.'**
  String get chatAskAFriendAddedDescription;

  /// No description provided for @chatAskAFriendHide.
  ///
  /// In en, this message translates to:
  /// **'Hide'**
  String get chatAskAFriendHide;

  /// No description provided for @chatAskAFriendRequest.
  ///
  /// In en, this message translates to:
  /// **'Request'**
  String get chatAskAFriendRequest;

  /// No description provided for @chatAskAFriendUnknownUser.
  ///
  /// In en, this message translates to:
  /// **'User {userId}'**
  String chatAskAFriendUnknownUser(Object userId);

  /// No description provided for @contactUserDiscoveryImagesLeft.
  ///
  /// In en, this message translates to:
  /// **'{imagesLeft} more images are needed until your friends are shared with {username}.'**
  String contactUserDiscoveryImagesLeft(Object imagesLeft, Object username);

  /// No description provided for @userDiscoveryEnabledVersion.
  ///
  /// In en, this message translates to:
  /// **'Version: {version}'**
  String userDiscoveryEnabledVersion(Object version);

  /// No description provided for @userDiscoveryEnabledYourVersion.
  ///
  /// In en, this message translates to:
  /// **'Your version: {version}'**
  String userDiscoveryEnabledYourVersion(Object version);

  /// No description provided for @userDiscoveryEnabledStopSharing.
  ///
  /// In en, this message translates to:
  /// **'Stop sharing'**
  String get userDiscoveryEnabledStopSharing;

  /// No description provided for @userDiscoveryManualApprovalReachedThreshold.
  ///
  /// In en, this message translates to:
  /// **'Would you like to share {username} with your friends?'**
  String userDiscoveryManualApprovalReachedThreshold(Object username);

  /// No description provided for @userDiscoveryManualApprovalHideContact.
  ///
  /// In en, this message translates to:
  /// **'Hide contact'**
  String get userDiscoveryManualApprovalHideContact;

  /// No description provided for @userDiscoveryManualApprovalShareContact.
  ///
  /// In en, this message translates to:
  /// **'Share contact'**
  String get userDiscoveryManualApprovalShareContact;

  /// No description provided for @onboardingSetupCompleteTitle.
  ///
  /// In en, this message translates to:
  /// **'You\'re all set, {username}!'**
  String onboardingSetupCompleteTitle(Object username);

  /// No description provided for @onboardingSetupCompleteDesc.
  ///
  /// In en, this message translates to:
  /// **'You can now share your moments with your friends securely without distractions like ads.'**
  String get onboardingSetupCompleteDesc;

  /// No description provided for @contactUserDiscoveryManualApprovalPending.
  ///
  /// In en, this message translates to:
  /// **'Contact was not yet manually approved.'**
  String get contactUserDiscoveryManualApprovalPending;

  /// No description provided for @contactUserDiscoveryManualApprovalApprove.
  ///
  /// In en, this message translates to:
  /// **'Approve'**
  String get contactUserDiscoveryManualApprovalApprove;

  /// No description provided for @exampleUserName1.
  ///
  /// In en, this message translates to:
  /// **'james'**
  String get exampleUserName1;

  /// No description provided for @exampleUserName2.
  ///
  /// In en, this message translates to:
  /// **'mary'**
  String get exampleUserName2;

  /// No description provided for @exampleUserName3.
  ///
  /// In en, this message translates to:
  /// **'john'**
  String get exampleUserName3;

  /// No description provided for @exampleUserName4.
  ///
  /// In en, this message translates to:
  /// **'patricia'**
  String get exampleUserName4;

  /// No description provided for @exampleUserName5.
  ///
  /// In en, this message translates to:
  /// **'robert'**
  String get exampleUserName5;

  /// No description provided for @exampleUserName6.
  ///
  /// In en, this message translates to:
  /// **'jennifer'**
  String get exampleUserName6;

  /// No description provided for @exampleUserName7.
  ///
  /// In en, this message translates to:
  /// **'michael'**
  String get exampleUserName7;

  /// No description provided for @exampleUserName8.
  ///
  /// In en, this message translates to:
  /// **'linda'**
  String get exampleUserName8;

  /// No description provided for @exampleUserName9.
  ///
  /// In en, this message translates to:
  /// **'william'**
  String get exampleUserName9;

  /// No description provided for @exampleUserName10.
  ///
  /// In en, this message translates to:
  /// **'lena'**
  String get exampleUserName10;

  /// No description provided for @exampleUserName11.
  ///
  /// In en, this message translates to:
  /// **'david'**
  String get exampleUserName11;

  /// No description provided for @exampleJane.
  ///
  /// In en, this message translates to:
  /// **'jane'**
  String get exampleJane;

  /// No description provided for @back.
  ///
  /// In en, this message translates to:
  /// **'Back'**
  String get back;

  /// No description provided for @makerChangedUsername.
  ///
  /// In en, this message translates to:
  /// **'{maker} changed their username from {oldName} to {newName}.'**
  String makerChangedUsername(Object maker, Object oldName, Object newName);

  /// No description provided for @makerChangedDisplayName.
  ///
  /// In en, this message translates to:
  /// **'{maker} changed their display name from {oldName} to {newName}.'**
  String makerChangedDisplayName(Object maker, Object oldName, Object newName);

  /// No description provided for @recoverErrorNoInternet.
  ///
  /// In en, this message translates to:
  /// **'No internet connection. Please check your network and try again.'**
  String get recoverErrorNoInternet;

  /// No description provided for @recoverErrorUsernameNotValid.
  ///
  /// In en, this message translates to:
  /// **'The username provided is not valid or does not exist.'**
  String get recoverErrorUsernameNotValid;

  /// No description provided for @recoverErrorPasswordInvalid.
  ///
  /// In en, this message translates to:
  /// **'The password provided is incorrect.'**
  String get recoverErrorPasswordInvalid;

  /// No description provided for @recoverErrorTryAgainLater.
  ///
  /// In en, this message translates to:
  /// **'The server is currently unavailable. Please try again later.'**
  String get recoverErrorTryAgainLater;

  /// No description provided for @recoverErrorUnknown.
  ///
  /// In en, this message translates to:
  /// **'An unknown error occurred. Please try again.'**
  String get recoverErrorUnknown;

  /// No description provided for @recoverSuccessTitle.
  ///
  /// In en, this message translates to:
  /// **'Backup successfully recovered.'**
  String get recoverSuccessTitle;

  /// No description provided for @recoverSuccessBody.
  ///
  /// In en, this message translates to:
  /// **'Click here to open the app again'**
  String get recoverSuccessBody;

  /// No description provided for @iosRecoveryWelcomeBack.
  ///
  /// In en, this message translates to:
  /// **'Welcome Back'**
  String get iosRecoveryWelcomeBack;

  /// No description provided for @iosRecoveryPrompt.
  ///
  /// In en, this message translates to:
  /// **'We detected a previously secured twonly identity on this device. Would you like to automatically download and restore your contacts, messages, and settings from your cloud archive?'**
  String get iosRecoveryPrompt;

  /// No description provided for @iosRecoveryNoBackupFound.
  ///
  /// In en, this message translates to:
  /// **'No backup archive could be retrieved from the server for this device.\n\nError: {error}\n\nPlease proceed to register a new twonly account.'**
  String iosRecoveryNoBackupFound(Object error);

  /// No description provided for @registerNewAccount.
  ///
  /// In en, this message translates to:
  /// **'Register New Account'**
  String get registerNewAccount;

  /// No description provided for @tryRestoreAgain.
  ///
  /// In en, this message translates to:
  /// **'Try Restore Again'**
  String get tryRestoreAgain;

  /// No description provided for @registeringNewAccount.
  ///
  /// In en, this message translates to:
  /// **'Registering new account'**
  String get registeringNewAccount;

  /// No description provided for @createShortcut.
  ///
  /// In en, this message translates to:
  /// **'Create shortcut'**
  String get createShortcut;

  /// No description provided for @editShortcut.
  ///
  /// In en, this message translates to:
  /// **'Edit shortcut'**
  String get editShortcut;

  /// No description provided for @deleteShortcut.
  ///
  /// In en, this message translates to:
  /// **'Delete shortcut'**
  String get deleteShortcut;

  /// No description provided for @deleteShortcutBody.
  ///
  /// In en, this message translates to:
  /// **'Are you sure you want to delete this shortcut?'**
  String get deleteShortcutBody;

  /// No description provided for @updateShortcut.
  ///
  /// In en, this message translates to:
  /// **'Update shortcut'**
  String get updateShortcut;

  /// No description provided for @selectEmoji.
  ///
  /// In en, this message translates to:
  /// **'Select Emoji'**
  String get selectEmoji;

  /// No description provided for @errorEmojiUsedOrInvalid.
  ///
  /// In en, this message translates to:
  /// **'Emoji already used or invalid'**
  String get errorEmojiUsedOrInvalid;

  /// No description provided for @subscriptionPledgeSecureTitle.
  ///
  /// In en, this message translates to:
  /// **'Secure by Design'**
  String get subscriptionPledgeSecureTitle;

  /// No description provided for @subscriptionPledgeSecureDesc.
  ///
  /// In en, this message translates to:
  /// **'Your messages and shared moments are fully end-to-end encrypted.'**
  String get subscriptionPledgeSecureDesc;

  /// No description provided for @subscriptionPledgeNoAdsTitle.
  ///
  /// In en, this message translates to:
  /// **'No Ads or Data selling'**
  String get subscriptionPledgeNoAdsTitle;

  /// No description provided for @subscriptionPledgeNoAdsDesc.
  ///
  /// In en, this message translates to:
  /// **'twonly will never show advertisements or sell your private data.'**
  String get subscriptionPledgeNoAdsDesc;

  /// No description provided for @subscriptionPledgeSubtitle.
  ///
  /// In en, this message translates to:
  /// **'Zero ads. Total privacy.'**
  String get subscriptionPledgeSubtitle;

  /// No description provided for @subscriptionManage.
  ///
  /// In en, this message translates to:
  /// **'Manage subscription'**
  String get subscriptionManage;

  /// No description provided for @dragToZoom.
  ///
  /// In en, this message translates to:
  /// **'Drag to Zoom'**
  String get dragToZoom;

  /// No description provided for @onboardingProfileSelectionTitle.
  ///
  /// In en, this message translates to:
  /// **'Choose your setup path'**
  String get onboardingProfileSelectionTitle;

  /// No description provided for @onboardingProfileSelectionSubtitle.
  ///
  /// In en, this message translates to:
  /// **'Choose how you want to configure your security and privacy settings.'**
  String get onboardingProfileSelectionSubtitle;

  /// No description provided for @onboardingProfileSelectionDefaultTitle.
  ///
  /// In en, this message translates to:
  /// **'Default'**
  String get onboardingProfileSelectionDefaultTitle;

  /// No description provided for @onboardingProfileSelectionDefaultDesc.
  ///
  /// In en, this message translates to:
  /// **'Instantly applies recommended settings so you can start using the app.'**
  String get onboardingProfileSelectionDefaultDesc;

  /// No description provided for @onboardingProfileSelectionDefaultBadge.
  ///
  /// In en, this message translates to:
  /// **'Fast Setup'**
  String get onboardingProfileSelectionDefaultBadge;

  /// No description provided for @onboardingProfileSelectionCustomizeTitle.
  ///
  /// In en, this message translates to:
  /// **'Customize'**
  String get onboardingProfileSelectionCustomizeTitle;

  /// No description provided for @onboardingProfileSelectionCustomizeDesc.
  ///
  /// In en, this message translates to:
  /// **'Step-by-step setup so you can decide for yourself.'**
  String get onboardingProfileSelectionCustomizeDesc;

  /// No description provided for @replyFlameRestored.
  ///
  /// In en, this message translates to:
  /// **'Flames restored'**
  String get replyFlameRestored;

  /// No description provided for @replyAskAFriend.
  ///
  /// In en, this message translates to:
  /// **'Ask a friend'**
  String get replyAskAFriend;

  /// No description provided for @unverifiedWarningButton.
  ///
  /// In en, this message translates to:
  /// **'Verify now'**
  String get unverifiedWarningButton;

  /// No description provided for @today.
  ///
  /// In en, this message translates to:
  /// **'Today'**
  String get today;

  /// No description provided for @yesterday.
  ///
  /// In en, this message translates to:
  /// **'Yesterday'**
  String get yesterday;

  /// No description provided for @galleryDisableWarningTitle.
  ///
  /// In en, this message translates to:
  /// **'Disable gallery saving?'**
  String get galleryDisableWarningTitle;

  /// No description provided for @galleryDisableWarningBody.
  ///
  /// In en, this message translates to:
  /// **'If you disable this, your media files will not be saved to your gallery and could be permanently lost if twonly is removed or has an issue, as media files are not yet backed up.'**
  String get galleryDisableWarningBody;

  /// No description provided for @galleryDisableWarningConfirm.
  ///
  /// In en, this message translates to:
  /// **'Disable'**
  String get galleryDisableWarningConfirm;

  /// No description provided for @settingsStorageScanGalleryTitle.
  ///
  /// In en, this message translates to:
  /// **'Import from Gallery'**
  String get settingsStorageScanGalleryTitle;

  /// No description provided for @importGalleryDeselectAll.
  ///
  /// In en, this message translates to:
  /// **'Deselect all'**
  String get importGalleryDeselectAll;

  /// No description provided for @importGallerySelectAll.
  ///
  /// In en, this message translates to:
  /// **'Select all'**
  String get importGallerySelectAll;

  /// No description provided for @importGalleryPermissionRequired.
  ///
  /// In en, this message translates to:
  /// **'Permission to access your gallery is required to import previous twonly media files.'**
  String get importGalleryPermissionRequired;

  /// No description provided for @importGalleryPermissionError.
  ///
  /// In en, this message translates to:
  /// **'An error occurred while requesting permission: {error}'**
  String importGalleryPermissionError(Object error);

  /// No description provided for @importGalleryLoadError.
  ///
  /// In en, this message translates to:
  /// **'Failed to load assets: {error}'**
  String importGalleryLoadError(Object error);

  /// No description provided for @importGalleryImportingOf.
  ///
  /// In en, this message translates to:
  /// **'Importing {current} of {total}...'**
  String importGalleryImportingOf(Object current, Object total);

  /// No description provided for @importGalleryStarting.
  ///
  /// In en, this message translates to:
  /// **'Starting import...'**
  String get importGalleryStarting;

  /// No description provided for @importGalleryComplete.
  ///
  /// In en, this message translates to:
  /// **'Import complete: {imported} successfully imported and {failed} failed.'**
  String importGalleryComplete(Object imported, Object failed);

  /// No description provided for @importGalleryGrantAccess.
  ///
  /// In en, this message translates to:
  /// **'Grant Access'**
  String get importGalleryGrantAccess;

  /// No description provided for @importGalleryOpenSettings.
  ///
  /// In en, this message translates to:
  /// **'Open Settings'**
  String get importGalleryOpenSettings;

  /// No description provided for @importGalleryPermissionDenied.
  ///
  /// In en, this message translates to:
  /// **'Permission to access gallery denied.'**
  String get importGalleryPermissionDenied;

  /// No description provided for @importGalleryTryAgain.
  ///
  /// In en, this message translates to:
  /// **'Try Again'**
  String get importGalleryTryAgain;

  /// No description provided for @importGalleryAlbumNotFound.
  ///
  /// In en, this message translates to:
  /// **'\"twonly\" album not found'**
  String get importGalleryAlbumNotFound;

  /// No description provided for @importGalleryAlbumNotFoundDesc.
  ///
  /// In en, this message translates to:
  /// **'If you don\'t have this album yet, you can also create it to import photos into twonly.'**
  String get importGalleryAlbumNotFoundDesc;

  /// No description provided for @importGalleryNoImagesFound.
  ///
  /// In en, this message translates to:
  /// **'No images found'**
  String get importGalleryNoImagesFound;

  /// No description provided for @importGalleryNoImagesFoundDesc.
  ///
  /// In en, this message translates to:
  /// **'There are no images on your device.'**
  String get importGalleryNoImagesFoundDesc;

  /// No description provided for @importGalleryFilterTwonly.
  ///
  /// In en, this message translates to:
  /// **'Only show the twonly-Album'**
  String get importGalleryFilterTwonly;

  /// No description provided for @importGalleryRefresh.
  ///
  /// In en, this message translates to:
  /// **'Refresh'**
  String get importGalleryRefresh;

  /// No description provided for @importGallerySelectToImport.
  ///
  /// In en, this message translates to:
  /// **'Select items to import'**
  String get importGallerySelectToImport;

  /// No description provided for @importGalleryImportCount.
  ///
  /// In en, this message translates to:
  /// **'{count, plural, =1{Import 1 item} other{Import {count} items}}'**
  String importGalleryImportCount(num count);

  /// No description provided for @emptyChatListTitle.
  ///
  /// In en, this message translates to:
  /// **'Find your first friend'**
  String get emptyChatListTitle;

  /// No description provided for @emptyChatListDesc.
  ///
  /// In en, this message translates to:
  /// **'Let friends scan your QR code, or share them your profile.'**
  String get emptyChatListDesc;

  /// No description provided for @emptyChatListShareBtn.
  ///
  /// In en, this message translates to:
  /// **'Share your profile'**
  String get emptyChatListShareBtn;

  /// No description provided for @emptyChatListScanBtn.
  ///
  /// In en, this message translates to:
  /// **'QR Code'**
  String get emptyChatListScanBtn;

  /// No description provided for @emptyChatListAddUsernameBtn.
  ///
  /// In en, this message translates to:
  /// **'By Username'**
  String get emptyChatListAddUsernameBtn;

  /// No description provided for @avatarCustomizeRandomize.
  ///
  /// In en, this message translates to:
  /// **'Randomize'**
  String get avatarCustomizeRandomize;

  /// No description provided for @avatarCustomizeReset.
  ///
  /// In en, this message translates to:
  /// **'Reset'**
  String get avatarCustomizeReset;

  /// No description provided for @passwordlessRecovery.
  ///
  /// In en, this message translates to:
  /// **'Trusted Friends'**
  String get passwordlessRecovery;

  /// No description provided for @passwordlessRecoveryNotConfigured.
  ///
  /// In en, this message translates to:
  /// **'Not configured'**
  String get passwordlessRecoveryNotConfigured;

  /// No description provided for @passwordlessRecoveryTestPin.
  ///
  /// In en, this message translates to:
  /// **'Test PIN'**
  String get passwordlessRecoveryTestPin;

  /// No description provided for @passwordlessRecoveryTestPinTitle.
  ///
  /// In en, this message translates to:
  /// **'Test PIN'**
  String get passwordlessRecoveryTestPinTitle;

  /// No description provided for @passwordlessRecoveryTestPinHint.
  ///
  /// In en, this message translates to:
  /// **'Enter your PIN'**
  String get passwordlessRecoveryTestPinHint;

  /// No description provided for @passwordlessRecoveryTestPinCorrect.
  ///
  /// In en, this message translates to:
  /// **'PIN is correct!'**
  String get passwordlessRecoveryTestPinCorrect;

  /// No description provided for @passwordlessRecoveryTestPinIncorrect.
  ///
  /// In en, this message translates to:
  /// **'Incorrect PIN.'**
  String get passwordlessRecoveryTestPinIncorrect;

  /// No description provided for @passwordlessRecoveryTest.
  ///
  /// In en, this message translates to:
  /// **'Test'**
  String get passwordlessRecoveryTest;

  /// No description provided for @passwordlessRecoverySecondFactorNone.
  ///
  /// In en, this message translates to:
  /// **'None'**
  String get passwordlessRecoverySecondFactorNone;

  /// No description provided for @passwordlessRecoverySecondFactorEmailLabel.
  ///
  /// In en, this message translates to:
  /// **'Email ({email})'**
  String passwordlessRecoverySecondFactorEmailLabel(Object email);

  /// No description provided for @passwordlessRecoverySecondFactorPin.
  ///
  /// In en, this message translates to:
  /// **'PIN'**
  String get passwordlessRecoverySecondFactorPin;

  /// No description provided for @passwordlessRecoverySecondFactorEmail.
  ///
  /// In en, this message translates to:
  /// **'Email'**
  String get passwordlessRecoverySecondFactorEmail;

  /// No description provided for @passwordlessRecoveryModify.
  ///
  /// In en, this message translates to:
  /// **'Modify Recovery Settings'**
  String get passwordlessRecoveryModify;

  /// No description provided for @passwordlessRecoveryModifyDesc.
  ///
  /// In en, this message translates to:
  /// **'Update your recovery configuration'**
  String get passwordlessRecoveryModifyDesc;

  /// No description provided for @passwordlessRecoverySecondFactor.
  ///
  /// In en, this message translates to:
  /// **'Second Factor'**
  String get passwordlessRecoverySecondFactor;

  /// No description provided for @passwordlessRecoveryNoFriendsFound.
  ///
  /// In en, this message translates to:
  /// **'No trusted friends found.'**
  String get passwordlessRecoveryNoFriendsFound;

  /// No description provided for @passwordlessRecoveryActiveFriends.
  ///
  /// In en, this message translates to:
  /// **'Active Friends'**
  String get passwordlessRecoveryActiveFriends;

  /// No description provided for @passwordlessRecoveryActiveFriendsDesc.
  ///
  /// In en, this message translates to:
  /// **'These trusted friends are actively using twonly and can probably help you recover your account.'**
  String get passwordlessRecoveryActiveFriendsDesc;

  /// No description provided for @passwordlessRecoveryInactiveFriends.
  ///
  /// In en, this message translates to:
  /// **'Inactive Friends'**
  String get passwordlessRecoveryInactiveFriends;

  /// No description provided for @passwordlessRecoveryInactiveFriendsDesc.
  ///
  /// In en, this message translates to:
  /// **'These friends either have not yet received their share or do not use twonly actively anymore, which could mean that they maybe cannot help.'**
  String get passwordlessRecoveryInactiveFriendsDesc;

  /// No description provided for @passwordlessRecoveryEnableSuccess.
  ///
  /// In en, this message translates to:
  /// **'Trusted Friends successfully set up!'**
  String get passwordlessRecoveryEnableSuccess;

  /// No description provided for @passwordlessRecoveryEnterPin.
  ///
  /// In en, this message translates to:
  /// **'Please enter a PIN.'**
  String get passwordlessRecoveryEnterPin;

  /// No description provided for @passwordlessRecoveryEnterEmail.
  ///
  /// In en, this message translates to:
  /// **'Please enter an email address.'**
  String get passwordlessRecoveryEnterEmail;

  /// No description provided for @passwordlessRecoveryEnableBtn.
  ///
  /// In en, this message translates to:
  /// **'Enable Trusted Friends'**
  String get passwordlessRecoveryEnableBtn;

  /// No description provided for @passwordlessRecoveryRecoverBtn.
  ///
  /// In en, this message translates to:
  /// **'Recover via Trusted Friends'**
  String get passwordlessRecoveryRecoverBtn;

  /// No description provided for @passwordlessRecoveryModifyBtn.
  ///
  /// In en, this message translates to:
  /// **'Modify Trusted Friends'**
  String get passwordlessRecoveryModifyBtn;

  /// No description provided for @passwordlessRecoveryStatusEnabled.
  ///
  /// In en, this message translates to:
  /// **'Enabled • {count} trusted friends'**
  String passwordlessRecoveryStatusEnabled(num count);

  /// No description provided for @passwordlessRecoveryInfoHowItWorks.
  ///
  /// In en, this message translates to:
  /// **'How it works'**
  String get passwordlessRecoveryInfoHowItWorks;

  /// No description provided for @passwordlessRecoveryInfoHowItWorksDesc.
  ///
  /// In en, this message translates to:
  /// **'twonly operates without phone numbers, which is why we rely on a decentralized recovery mechanism. Using Shamir\'s Secret Sharing, your cryptographic identity is split into independent shares and distributed among your trusted friends. To restore access, a predefined number of these friends must combine their shares.'**
  String get passwordlessRecoveryInfoHowItWorksDesc;

  /// No description provided for @passwordlessRecoveryInfoWhySecondFactor.
  ///
  /// In en, this message translates to:
  /// **'Why a Second Factor?'**
  String get passwordlessRecoveryInfoWhySecondFactor;

  /// No description provided for @passwordlessRecoveryInfoWhySecondFactorDesc.
  ///
  /// In en, this message translates to:
  /// **'The second factor (Email or PIN) provides important additional protection. Even if your friends were to secretly team up, they still couldn\'t access your account without this second factor.'**
  String get passwordlessRecoveryInfoWhySecondFactorDesc;

  /// No description provided for @passwordlessRecoveryInfoGotIt.
  ///
  /// In en, this message translates to:
  /// **'Got it'**
  String get passwordlessRecoveryInfoGotIt;

  /// No description provided for @passwordlessRecoveryMethod.
  ///
  /// In en, this message translates to:
  /// **'Second factor method'**
  String get passwordlessRecoveryMethod;

  /// No description provided for @passwordlessRecoveryMethodNoneDesc.
  ///
  /// In en, this message translates to:
  /// **'Without second-factor, your friends could collaborate to recover your account. Therefore, it is recommended to configure a second-factor.'**
  String get passwordlessRecoveryMethodNoneDesc;

  /// No description provided for @passwordlessRecoveryMethodPinHint.
  ///
  /// In en, this message translates to:
  /// **'Enter PIN'**
  String get passwordlessRecoveryMethodPinHint;

  /// No description provided for @passwordlessRecoveryMethodEmailHint.
  ///
  /// In en, this message translates to:
  /// **'Enter recovery email address'**
  String get passwordlessRecoveryMethodEmailHint;

  /// No description provided for @passwordlessRecoveryMethodEmailDesc.
  ///
  /// In en, this message translates to:
  /// **'Your email address is *never stored on the server* and is only sent to it in the event of a recovery.'**
  String get passwordlessRecoveryMethodEmailDesc;

  /// No description provided for @passwordlessRecoveryThresholdDesc.
  ///
  /// In en, this message translates to:
  /// **'To recover your account you need {count} of your selected trusted friends.'**
  String passwordlessRecoveryThresholdDesc(num count);

  /// No description provided for @passwordlessRecoveryThresholdTitle.
  ///
  /// In en, this message translates to:
  /// **'Required trusted friends for recovery'**
  String get passwordlessRecoveryThresholdTitle;

  /// No description provided for @passwordlessRecoverySelectFriendsNeeded.
  ///
  /// In en, this message translates to:
  /// **'Select friends ({count} more needed)'**
  String passwordlessRecoverySelectFriendsNeeded(num count);

  /// No description provided for @passwordlessRecoverySelectFriends.
  ///
  /// In en, this message translates to:
  /// **'Select trusted friends'**
  String get passwordlessRecoverySelectFriends;

  /// No description provided for @passwordlessRecoveryTrustedFriends.
  ///
  /// In en, this message translates to:
  /// **'Account recovery'**
  String get passwordlessRecoveryTrustedFriends;

  /// No description provided for @passwordlessRecoveryDoneBtn.
  ///
  /// In en, this message translates to:
  /// **'Done ({count})'**
  String passwordlessRecoveryDoneBtn(num count);

  /// No description provided for @passwordlessRecoveryNoFriendsSelected.
  ///
  /// In en, this message translates to:
  /// **'No trusted friends selected yet'**
  String get passwordlessRecoveryNoFriendsSelected;

  /// No description provided for @passwordlessRecoverySubtitle.
  ///
  /// In en, this message translates to:
  /// **'Recover your identity without a password.'**
  String get passwordlessRecoverySubtitle;

  /// No description provided for @recoverPasswordlessExplanation.
  ///
  /// In en, this message translates to:
  /// **'If enabled, you can recover your account by asking your selected friends to help you.'**
  String get recoverPasswordlessExplanation;

  /// No description provided for @recoverPasswordlessNotificationCardTitle.
  ///
  /// In en, this message translates to:
  /// **'Enable notifications'**
  String get recoverPasswordlessNotificationCardTitle;

  /// No description provided for @recoverPasswordlessNotificationCardSubtitle.
  ///
  /// In en, this message translates to:
  /// **'Get notified when a friend has helped you recover your account.'**
  String get recoverPasswordlessNotificationCardSubtitle;

  /// No description provided for @recoverPasswordlessNotificationCardBtn.
  ///
  /// In en, this message translates to:
  /// **'Enable push notifications'**
  String get recoverPasswordlessNotificationCardBtn;

  /// No description provided for @recoverPasswordlessQrInstructions.
  ///
  /// In en, this message translates to:
  /// **'Let friends scan the QR code or share the link.'**
  String get recoverPasswordlessQrInstructions;

  /// No description provided for @recoverPasswordlessShareBtn.
  ///
  /// In en, this message translates to:
  /// **'Share Recovery Link'**
  String get recoverPasswordlessShareBtn;

  /// No description provided for @recoverPasswordlessCopyBtn.
  ///
  /// In en, this message translates to:
  /// **'Copy'**
  String get recoverPasswordlessCopyBtn;

  /// No description provided for @recoverPasswordlessCopiedSnackbar.
  ///
  /// In en, this message translates to:
  /// **'Link copied to clipboard!'**
  String get recoverPasswordlessCopiedSnackbar;

  /// No description provided for @passwordlessRecoveryNoShareStored.
  ///
  /// In en, this message translates to:
  /// **'No recovery share stored for this contact.'**
  String get passwordlessRecoveryNoShareStored;

  /// No description provided for @passwordlessRecoveryEmailSent.
  ///
  /// In en, this message translates to:
  /// **'Recovery email sent!'**
  String get passwordlessRecoveryEmailSent;

  /// No description provided for @passwordlessRecoveryShareSent.
  ///
  /// In en, this message translates to:
  /// **'Recovery share sent!'**
  String get passwordlessRecoveryShareSent;

  /// No description provided for @passwordlessRecoveryNetworkError.
  ///
  /// In en, this message translates to:
  /// **'Network error, please ensure you have internet'**
  String get passwordlessRecoveryNetworkError;

  /// No description provided for @passwordlessRecoveryInvalidEmail.
  ///
  /// In en, this message translates to:
  /// **'The email address is invalid.'**
  String get passwordlessRecoveryInvalidEmail;

  /// No description provided for @passwordlessRecoveryResendEmail.
  ///
  /// In en, this message translates to:
  /// **'Resend recovery email'**
  String get passwordlessRecoveryResendEmail;

  /// No description provided for @passwordlessRecoveryHelpAFriend.
  ///
  /// In en, this message translates to:
  /// **'Help a Friend'**
  String get passwordlessRecoveryHelpAFriend;

  /// No description provided for @passwordlessRecoverySelectContactDesc.
  ///
  /// In en, this message translates to:
  /// **'Please select the contact who requested recovery below to send them their recovery key.'**
  String get passwordlessRecoverySelectContactDesc;

  /// No description provided for @passwordlessRecoverySearchContacts.
  ///
  /// In en, this message translates to:
  /// **'Search contacts...'**
  String get passwordlessRecoverySearchContacts;

  /// No description provided for @passwordlessRecoveryNoContactsFound.
  ///
  /// In en, this message translates to:
  /// **'No contacts found'**
  String get passwordlessRecoveryNoContactsFound;

  /// No description provided for @passwordlessRecoveryCantHelpHim.
  ///
  /// In en, this message translates to:
  /// **'You can\'t help this person'**
  String get passwordlessRecoveryCantHelpHim;

  /// No description provided for @passwordlessRecoveryDoesAskedYou.
  ///
  /// In en, this message translates to:
  /// **'Has {username} asked you?'**
  String passwordlessRecoveryDoesAskedYou(Object username);

  /// No description provided for @passwordlessRecoveryVerifySourceDesc.
  ///
  /// In en, this message translates to:
  /// **'Please make sure this request really came from this person. If in doubt, ask them via another channel!'**
  String get passwordlessRecoveryVerifySourceDesc;

  /// No description provided for @passwordlessRecoveryNo.
  ///
  /// In en, this message translates to:
  /// **'No'**
  String get passwordlessRecoveryNo;

  /// No description provided for @passwordlessRecoveryYes.
  ///
  /// In en, this message translates to:
  /// **'Yes'**
  String get passwordlessRecoveryYes;

  /// No description provided for @passwordlessRecoveryYesWithTimer.
  ///
  /// In en, this message translates to:
  /// **'Yes ({seconds}s)'**
  String passwordlessRecoveryYesWithTimer(Object seconds);

  /// No description provided for @recoverPasswordlessSharesReceived.
  ///
  /// In en, this message translates to:
  /// **'{received} out of {threshold} friends have helped'**
  String recoverPasswordlessSharesReceived(Object received, Object threshold);

  /// No description provided for @recoverPasswordlessRecoverNowBtn.
  ///
  /// In en, this message translates to:
  /// **'Recover now'**
  String get recoverPasswordlessRecoverNowBtn;

  /// No description provided for @missingRecoveryContactsCardTitle.
  ///
  /// In en, this message translates to:
  /// **'Account Recovery'**
  String get missingRecoveryContactsCardTitle;

  /// No description provided for @missingRecoveryContactsCardDesc.
  ///
  /// In en, this message translates to:
  /// **'Select Recovery Contacts to help you recover your account without requiring a password.'**
  String get missingRecoveryContactsCardDesc;

  /// No description provided for @missingRecoveryContactsCardAction.
  ///
  /// In en, this message translates to:
  /// **'Select Contacts'**
  String get missingRecoveryContactsCardAction;

  /// No description provided for @memoriesBackupLimitReached.
  ///
  /// In en, this message translates to:
  /// **'Cloud backup limit reached! Please upgrade your plan or free up space.'**
  String get memoriesBackupLimitReached;

  /// No description provided for @settingsStorageLocal.
  ///
  /// In en, this message translates to:
  /// **'Local storage'**
  String get settingsStorageLocal;

  /// No description provided for @settingsStorageNoCloudBackupTitle.
  ///
  /// In en, this message translates to:
  /// **'No Cloud Backup'**
  String get settingsStorageNoCloudBackupTitle;

  /// No description provided for @settingsStorageNoCloudBackupCard.
  ///
  /// In en, this message translates to:
  /// **'Back up your memories to the cloud to free up local space and ensure you never lose your pictures. All end-to-end encrypted.'**
  String get settingsStorageNoCloudBackupCard;

  /// No description provided for @galleryActionSave.
  ///
  /// In en, this message translates to:
  /// **'Save'**
  String get galleryActionSave;

  /// No description provided for @galleryActionExport.
  ///
  /// In en, this message translates to:
  /// **'Export'**
  String get galleryActionExport;

  /// No description provided for @galleryActionFavorite.
  ///
  /// In en, this message translates to:
  /// **'Favorite'**
  String get galleryActionFavorite;

  /// No description provided for @galleryActionUnfavorite.
  ///
  /// In en, this message translates to:
  /// **'Unfavorite'**
  String get galleryActionUnfavorite;

  /// No description provided for @galleryActionDelete.
  ///
  /// In en, this message translates to:
  /// **'Delete'**
  String get galleryActionDelete;

  /// No description provided for @galleryActionShare.
  ///
  /// In en, this message translates to:
  /// **'Share'**
  String get galleryActionShare;

  /// No description provided for @settingsStorageHidePromo.
  ///
  /// In en, this message translates to:
  /// **'Hide'**
  String get settingsStorageHidePromo;

  /// No description provided for @memoriesBackupTitle.
  ///
  /// In en, this message translates to:
  /// **'Memories Backup'**
  String get memoriesBackupTitle;

  /// No description provided for @settingsHelpNews.
  ///
  /// In en, this message translates to:
  /// **'News'**
  String get settingsHelpNews;

  /// No description provided for @settingsStorageContents.
  ///
  /// In en, this message translates to:
  /// **'Free up space'**
  String get settingsStorageContents;

  /// No description provided for @settingsStorageSortStorage.
  ///
  /// In en, this message translates to:
  /// **'Occupied storage'**
  String get settingsStorageSortStorage;

  /// No description provided for @settingsStorageSortNewest.
  ///
  /// In en, this message translates to:
  /// **'Newest'**
  String get settingsStorageSortNewest;

  /// No description provided for @settingsStorageSortOldest.
  ///
  /// In en, this message translates to:
  /// **'Oldest'**
  String get settingsStorageSortOldest;

  /// No description provided for @settingsStorageNoContents.
  ///
  /// In en, this message translates to:
  /// **'No storage contents found.'**
  String get settingsStorageNoContents;

  /// No description provided for @settingsStorageCloudOnly.
  ///
  /// In en, this message translates to:
  /// **'Cloud only'**
  String get settingsStorageCloudOnly;

  /// No description provided for @settingsStorageLocalAndCloud.
  ///
  /// In en, this message translates to:
  /// **'Local and cloud'**
  String get settingsStorageLocalAndCloud;

  /// No description provided for @settingsStorageLocalOnly.
  ///
  /// In en, this message translates to:
  /// **'Local only'**
  String get settingsStorageLocalOnly;

  /// No description provided for @settingsStorageDisableBackupTitle.
  ///
  /// In en, this message translates to:
  /// **'Disable Backup?'**
  String get settingsStorageDisableBackupTitle;

  /// No description provided for @settingsStorageDisableBackupBody.
  ///
  /// In en, this message translates to:
  /// **'This will delete all backed up memories from the cloud. There {count, plural, =1 {is *1 image*} other {are *{count} images*}} only stored in the cloud that will be *permanently lost*. Are you sure you want to proceed?'**
  String settingsStorageDisableBackupBody(num count);

  /// No description provided for @settingsStorageDisableBackupBtn.
  ///
  /// In en, this message translates to:
  /// **'Disable'**
  String get settingsStorageDisableBackupBtn;

  /// No description provided for @settingsStorageDisableBackupAction.
  ///
  /// In en, this message translates to:
  /// **'Disable Cloud Backup'**
  String get settingsStorageDisableBackupAction;

  /// No description provided for @settingsStorageSyncNow.
  ///
  /// In en, this message translates to:
  /// **'Sync now'**
  String get settingsStorageSyncNow;

  /// No description provided for @settingsStorageSyncUpToDate.
  ///
  /// In en, this message translates to:
  /// **'All memories are up to date.'**
  String get settingsStorageSyncUpToDate;

  /// No description provided for @restoreLostFlames.
  ///
  /// In en, this message translates to:
  /// **'Restore your {count} lost flames'**
  String restoreLostFlames(int count);

  /// No description provided for @settingsShowRestoreFlameTitle.
  ///
  /// In en, this message translates to:
  /// **'Show flame restore warning'**
  String get settingsShowRestoreFlameTitle;

  /// No description provided for @contactLabelsTitle.
  ///
  /// In en, this message translates to:
  /// **'Contact Labels'**
  String get contactLabelsTitle;

  /// No description provided for @contactLabelsSubtitleEmpty.
  ///
  /// In en, this message translates to:
  /// **'No labels selected'**
  String get contactLabelsSubtitleEmpty;

  /// No description provided for @contactLabelsMaxLimit.
  ///
  /// In en, this message translates to:
  /// **'Maximum 3 labels per contact'**
  String get contactLabelsMaxLimit;

  /// No description provided for @createLabel.
  ///
  /// In en, this message translates to:
  /// **'Create new label'**
  String get createLabel;

  /// No description provided for @editLabel.
  ///
  /// In en, this message translates to:
  /// **'Edit label'**
  String get editLabel;

  /// No description provided for @deleteLabel.
  ///
  /// In en, this message translates to:
  /// **'Delete label'**
  String get deleteLabel;

  /// No description provided for @deleteLabelConfirmation.
  ///
  /// In en, this message translates to:
  /// **'Are you sure you want to delete this label? It will be removed from all contacts.'**
  String get deleteLabelConfirmation;

  /// No description provided for @labelNameHint.
  ///
  /// In en, this message translates to:
  /// **'Label name'**
  String get labelNameHint;

  /// No description provided for @labelTextColor.
  ///
  /// In en, this message translates to:
  /// **'Text color'**
  String get labelTextColor;

  /// No description provided for @labelBackgroundColor.
  ///
  /// In en, this message translates to:
  /// **'Background color'**
  String get labelBackgroundColor;

  /// No description provided for @customColor.
  ///
  /// In en, this message translates to:
  /// **'Custom Color'**
  String get customColor;

  /// No description provided for @hue.
  ///
  /// In en, this message translates to:
  /// **'Hue'**
  String get hue;

  /// No description provided for @saturation.
  ///
  /// In en, this message translates to:
  /// **'Saturation'**
  String get saturation;

  /// No description provided for @brightness.
  ///
  /// In en, this message translates to:
  /// **'Brightness'**
  String get brightness;

  /// No description provided for @settingsAppearancePrimaryColor.
  ///
  /// In en, this message translates to:
  /// **'Primary Color'**
  String get settingsAppearancePrimaryColor;

  /// No description provided for @themeSystemDefault.
  ///
  /// In en, this message translates to:
  /// **'System default'**
  String get themeSystemDefault;

  /// No description provided for @themeLight.
  ///
  /// In en, this message translates to:
  /// **'Light'**
  String get themeLight;

  /// No description provided for @themeDark.
  ///
  /// In en, this message translates to:
  /// **'Dark'**
  String get themeDark;

  /// No description provided for @backupRecoverySectionTitle.
  ///
  /// In en, this message translates to:
  /// **'Secure Account Access'**
  String get backupRecoverySectionTitle;

  /// No description provided for @backupRecoverySectionDescNone.
  ///
  /// In en, this message translates to:
  /// **'You must select at least one recovery option, as otherwise no one can help you if you lose access to your device.'**
  String get backupRecoverySectionDescNone;

  /// No description provided for @backupRecoverySectionDescSome.
  ///
  /// In en, this message translates to:
  /// **'You can recover your account with the recovery options below. It is recommended to enable both options.'**
  String get backupRecoverySectionDescSome;

  /// No description provided for @backupRecoveryOptionAFriends.
  ///
  /// In en, this message translates to:
  /// **'Via trusted friends'**
  String get backupRecoveryOptionAFriends;

  /// No description provided for @backupRecoveryOptionAMicrocopy.
  ///
  /// In en, this message translates to:
  /// **'Select friends who can help you recover your account.'**
  String get backupRecoveryOptionAMicrocopy;

  /// No description provided for @backupRecoveryOptionBPassword.
  ///
  /// In en, this message translates to:
  /// **'Classic Password'**
  String get backupRecoveryOptionBPassword;

  /// No description provided for @backupRecoveryOptionBMicrocopy.
  ///
  /// In en, this message translates to:
  /// **'Set a password for your access.'**
  String get backupRecoveryOptionBMicrocopy;

  /// No description provided for @backupCloudSectionTitle.
  ///
  /// In en, this message translates to:
  /// **'Backup Your Data'**
  String get backupCloudSectionTitle;

  /// No description provided for @backupCloudSectionDesc.
  ///
  /// In en, this message translates to:
  /// **'Backup your content so nothing gets lost.'**
  String get backupCloudSectionDesc;

  /// No description provided for @backupCloudContactsMessages.
  ///
  /// In en, this message translates to:
  /// **'Contacts & Messages'**
  String get backupCloudContactsMessages;

  /// No description provided for @backupCloudFreeActive.
  ///
  /// In en, this message translates to:
  /// **'Free Active'**
  String get backupCloudFreeActive;

  /// No description provided for @backupCloudImagesMedia.
  ///
  /// In en, this message translates to:
  /// **'Images & Media'**
  String get backupCloudImagesMedia;

  /// No description provided for @backupCloudProBadge.
  ///
  /// In en, this message translates to:
  /// **'Pro'**
  String get backupCloudProBadge;

  /// No description provided for @memoriesAddingToFavorites.
  ///
  /// In en, this message translates to:
  /// **'Adding to favorites...'**
  String get memoriesAddingToFavorites;

  /// No description provided for @memoriesRemovingFromFavorites.
  ///
  /// In en, this message translates to:
  /// **'Removing from favorites...'**
  String get memoriesRemovingFromFavorites;

  /// No description provided for @memoriesDeletingProgress.
  ///
  /// In en, this message translates to:
  /// **'Deleting memories...'**
  String get memoriesDeletingProgress;

  /// No description provided for @memoriesExportingProgress.
  ///
  /// In en, this message translates to:
  /// **'Exporting memories...'**
  String get memoriesExportingProgress;
}

class _AppLocalizationsDelegate
    extends LocalizationsDelegate<AppLocalizations> {
  const _AppLocalizationsDelegate();

  @override
  Future<AppLocalizations> load(Locale locale) {
    return SynchronousFuture<AppLocalizations>(lookupAppLocalizations(locale));
  }

  @override
  bool isSupported(Locale locale) =>
      <String>['de', 'en'].contains(locale.languageCode);

  @override
  bool shouldReload(_AppLocalizationsDelegate old) => false;
}

AppLocalizations lookupAppLocalizations(Locale locale) {
  // Lookup logic when only language code is specified.
  switch (locale.languageCode) {
    case 'de':
      return AppLocalizationsDe();
    case 'en':
      return AppLocalizationsEn();
  }

  throw FlutterError(
    'AppLocalizations.delegate failed to load unsupported locale "$locale". This is likely '
    'an issue with the localizations generation tool. Please file an issue '
    'on GitHub with a reproducible sample app and the gen-l10n configuration '
    'that was used.',
  );
}
