From a07933a8acbee90f658784798301040ca08b4fc6 Mon Sep 17 00:00:00 2001 From: William Grant Date: Mon, 24 Apr 2023 15:21:04 +1000 Subject: [PATCH] feat: image reply done added localisation for attachment description --- _locales/en/messages.json | 1 + .../SessionQuotedMessageComposition.tsx | 26 +- ts/types/LocalizerKeys.ts | 933 +++++++++--------- 3 files changed, 487 insertions(+), 473 deletions(-) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index e43489841..c0effc14e 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -83,6 +83,7 @@ "you": "You", "audioPermissionNeededTitle": "Microphone Access Required", "audioPermissionNeeded": "You can enable microphone access under: Settings (Gear icon) => Privacy", + "image": "Image", "audio": "Audio", "video": "Video", "photo": "Photo", diff --git a/ts/components/conversation/SessionQuotedMessageComposition.tsx b/ts/components/conversation/SessionQuotedMessageComposition.tsx index 7cd5ce9d6..6571f1592 100644 --- a/ts/components/conversation/SessionQuotedMessageComposition.tsx +++ b/ts/components/conversation/SessionQuotedMessageComposition.tsx @@ -16,8 +16,8 @@ const QuotedMessageComposition = styled(Flex)` border-top: 1px solid var(--border-color); `; -const QuotedMessageCompositionReply = styled(Flex)` - border-left: 3px solid var(--primary-color); +const QuotedMessageCompositionReply = styled(Flex)<{ hasAttachments: boolean }>` + ${props => !props.hasAttachments && 'border-left: 3px solid var(--primary-color);'} `; const Subtle = styled.div` @@ -59,6 +59,14 @@ export const SessionQuotedMessageComposition = () => { : undefined; const hasAudio = hasAttachments && isAudio(attachments); const hasAudioAttachment = hasAudio !== false && hasAudio !== undefined && hasAudio !== ''; + const subtitleText = + hasAttachments && firstImageAttachment + ? window.i18n('image') + : hasAudioAttachment + ? window.i18n('audio') + : quoteText !== '' + ? quoteText + : null; const removeQuotedMessage = () => { dispatch(quoteMessage(undefined)); @@ -83,6 +91,7 @@ export const SessionQuotedMessageComposition = () => { container={true} justifyContent="flex-start" alignItems={'center'} + hasAttachments={hasAttachments} > {firstImageAttachment && ( @@ -103,15 +112,18 @@ export const SessionQuotedMessageComposition = () => { alignItems={'flex-start'} >

{author}

- - {(firstImageAttachment && window.i18n('mediaMessage')) || - (quoteText !== '' && quoteText)} - + {subtitleText && {subtitleText}} {hasAudioAttachment && } - + ); }; diff --git a/ts/types/LocalizerKeys.ts b/ts/types/LocalizerKeys.ts index 2aa7aff76..5c6900f7b 100644 --- a/ts/types/LocalizerKeys.ts +++ b/ts/types/LocalizerKeys.ts @@ -1,501 +1,502 @@ export type LocalizerKeys = - | 'removePassword' - | 'classicDarkThemeTitle' - | 'userUnbanFailed' - | 'changePassword' - | 'saved' - | 'startedACall' + | 'copyErrorAndQuit' + | 'unknown' + | 'databaseError' + | 'mainMenuFile' + | 'mainMenuEdit' + | 'mainMenuView' | 'mainMenuWindow' - | 'unblocked' - | 'keepDisabled' - | 'userAddedToModerators' - | 'otherSingular' - | 'to' - | 'sent' - | 'requestsPlaceholder' - | 'closedGroupInviteFailMessage' - | 'noContactsForGroup' - | 'faq' - | 'timerOption_2_weeks_abbreviated' - | 'linkVisitWarningMessage' - | 'messageRequestAcceptedOurs' - | 'anonymous' - | 'permissionsSettingsTitle' + | 'mainMenuHelp' + | 'appMenuHide' + | 'appMenuHideOthers' + | 'appMenuUnhide' + | 'appMenuQuit' + | 'editMenuUndo' + | 'editMenuRedo' + | 'editMenuCut' + | 'editMenuCopy' + | 'editMenuPaste' + | 'editMenuDeleteContact' + | 'editMenuDeleteGroup' + | 'editMenuSelectAll' + | 'windowMenuClose' + | 'windowMenuMinimize' + | 'windowMenuZoom' + | 'viewMenuResetZoom' + | 'viewMenuZoomIn' | 'viewMenuZoomOut' - | 'dialogClearAllDataDeletionFailedDesc' - | 'timerOption_10_seconds_abbreviated' - | 'enterDisplayName' - | 'connectToServerFail' - | 'moreInformation' - | 'publicChatExists' - | 'noMediaUntilApproved' - | 'passwordViewTitle' + | 'viewMenuToggleFullScreen' + | 'viewMenuToggleDevTools' + | 'contextMenuNoSuggestions' + | 'openGroupInvitation' | 'joinOpenGroupAfterInvitationConfirmationTitle' - | 'notificationMostRecentFrom' - | 'messageRequestAccepted' - | 'timerOption_5_minutes' - | 'linkPreviewsConfirmMessage' - | 'notificationMostRecent' - | 'video' - | 'readReceiptSettingDescription' - | 'userBanFailed' - | 'autoUpdateLaterButtonLabel' + | 'joinOpenGroupAfterInvitationConfirmationDesc' + | 'couldntFindServerMatching' + | 'enterSessionIDOrONSName' + | 'startNewConversationBy...' + | 'loading' + | 'done' + | 'youLeftTheGroup' + | 'youGotKickedFromGroup' + | 'unreadMessages' + | 'debugLogExplanation' + | 'reportIssue' + | 'markAllAsRead' + | 'incomingError' + | 'media' + | 'mediaEmptyState' + | 'documents' + | 'documentsEmptyState' + | 'today' + | 'yesterday' + | 'thisWeek' + | 'thisMonth' + | 'voiceMessage' + | 'stagedPreviewThumbnail' + | 'previewThumbnail' + | 'stagedImageAttachment' + | 'oneNonImageAtATimeToast' + | 'cannotMixImageAndNonImageAttachments' | 'maximumAttachments' - | 'deviceOnly' - | 'reactionPopupTwo' - | 'beginYourSession' - | 'typingIndicatorsSettingDescription' - | 'changePasswordToastDescription' - | 'addingContacts' - | 'passwordLengthError' - | 'typingIndicatorsSettingTitle' - | 'maxPasswordAttempts' - | 'viewMenuToggleDevTools' | 'fileSizeWarning' - | 'openGroupURL' - | 'hideMenuBarDescription' - | 'pickClosedGroupMember' - | 'ByUsingThisService...' - | 'startConversation' - | 'unableToCallTitle' - | 'yourUniqueSessionID' - | 'typingAlt' - | 'orJoinOneOfThese' - | 'members' - | 'noMessageRequestsPending' - | 'sendRecoveryPhraseMessage' + | 'unableToLoadAttachment' + | 'offline' + | 'debugLog' + | 'showDebugLog' | 'shareBugDetails' - | 'timerOption_1_hour' - | 'youGotKickedFromGroup' - | 'cannotRemoveCreatorFromGroupDesc' + | 'goToReleaseNotes' + | 'goToSupportPage' + | 'about' + | 'show' + | 'sessionMessenger' + | 'noSearchResults' + | 'conversationsHeader' + | 'contactsHeader' + | 'messagesHeader' + | 'settingsHeader' + | 'typingAlt' | 'contactAvatarAlt' - | 'incomingError' - | 'notificationsSettingsTitle' - | 'conversationsSettingsTitle' - | 'tookAScreenshot' - | 'reactionListCountPlural' + | 'downloadAttachment' + | 'replyToMessage' + | 'replyingToMessage' + | 'originalMessageNotFound' + | 'you' + | 'audioPermissionNeededTitle' + | 'audioPermissionNeeded' + | 'image' + | 'audio' + | 'video' + | 'photo' + | 'cannotUpdate' + | 'cannotUpdateDetail' + | 'ok' + | 'cancel' + | 'close' + | 'continue' + | 'error' + | 'delete' + | 'messageDeletionForbidden' + | 'deleteJustForMe' + | 'deleteForEveryone' + | 'deleteMessagesQuestion' + | 'deleteMessageQuestion' + | 'deleteMessages' + | 'deleted' + | 'messageDeletedPlaceholder' | 'from' - | 'requestsSubtitle' - | 'thisMonth' - | 'chooseAnAction' - | 'next' - | 'addModerators' - | 'sessionMessenger' - | 'today' - | 'mustBeApproved' - | 'appMenuHideOthers' - | 'sendFailed' - | 'enterNewPassword' - | 'expandedReactionsText' - | 'openMessageRequestInbox' - | 'rateLimitReactMessage' - | 'enterPassword' - | 'enterSessionIDOfRecipient' - | 'join' - | 'dialogClearAllDataDeletionFailedMultiple' - | 'clearAllReactions' - | 'appMenuQuit' - | 'windowMenuZoom' - | 'allUsersAreRandomly...' - | 'cameraPermissionNeeded' - | 'notificationsSettingsContent' - | 'ringing' - | 'closedGroupInviteSuccessTitle' - | 'accept' - | 'hideBanner' - | 'setPasswordTitle' - | 'editMenuUndo' - | 'pinConversation' + | 'to' + | 'sent' + | 'received' + | 'sendMessage' + | 'groupMembers' + | 'moreInformation' + | 'resend' + | 'deleteConversationConfirmation' + | 'clear' + | 'clearAllData' + | 'deleteAccountWarning' + | 'deleteAccountFromLogin' + | 'deleteContactConfirmation' + | 'quoteThumbnailAlt' + | 'imageAttachmentAlt' + | 'videoAttachmentAlt' | 'lightboxImageAlt' - | 'linkDevice' - | 'callMissedNotApproved' - | 'invalidPubkeyFormat' - | 'primaryColorYellow' - | 'disappearingMessagesDisabled' + | 'imageCaptionIconAlt' + | 'addACaption' + | 'copySessionID' + | 'copyOpenGroupURL' + | 'save' + | 'saveLogToDesktop' + | 'saved' + | 'tookAScreenshot' + | 'savedTheFile' + | 'linkPreviewsTitle' + | 'linkPreviewDescription' + | 'linkPreviewsConfirmMessage' + | 'mediaPermissionsTitle' + | 'mediaPermissionsDescription' + | 'spellCheckTitle' | 'spellCheckDescription' - | 'clearDataSettingsTitle' - | 'autoUpdateNewVersionInstructions' - | 'appMenuUnhide' - | 'timerOption_30_minutes_abbreviated' - | 'pruneSettingDescription' - | 'audioNotificationsSettingsTitle' - | 'voiceMessage' + | 'spellCheckDirty' + | 'readReceiptSettingDescription' + | 'readReceiptSettingTitle' + | 'typingIndicatorsSettingDescription' + | 'typingIndicatorsSettingTitle' + | 'zoomFactorSettingTitle' + | 'themesSettingTitle' + | 'primaryColor' + | 'primaryColorGreen' + | 'primaryColorBlue' + | 'primaryColorYellow' | 'primaryColorPink' - | 'changePasswordTitle' - | 'copyMessage' - | 'messageDeletionForbidden' - | 'deleteJustForMe' - | 'changeAccountPasswordTitle' - | 'onionPathIndicatorDescription' - | 'mediaPermissionsTitle' - | 'replyingToMessage' - | 'welcomeToYourSession' - | 'createPassword' - | 'editMenuCopy' - | 'leftTheGroup' - | 'timerOption_30_minutes' + | 'primaryColorPurple' + | 'primaryColorOrange' + | 'primaryColorRed' + | 'classicDarkThemeTitle' + | 'classicLightThemeTitle' + | 'oceanDarkThemeTitle' + | 'oceanLightThemeTitle' + | 'pruneSettingTitle' + | 'pruneSettingDescription' + | 'enable' + | 'keepDisabled' + | 'notificationSettingsDialog' + | 'nameAndMessage' + | 'noNameOrMessage' | 'nameOnly' - | 'typeInOldPassword' - | 'imageAttachmentAlt' - | 'displayNameEmpty' - | 'inviteContacts' - | 'callMediaPermissionsTitle' - | 'couldntFindServerMatching' - | 'blocked' - | 'hideRequestBannerDescription' - | 'noBlockedContacts' - | 'reactionNotification' - | 'leaveGroupConfirmation' - | 'banUserAndDeleteAll' - | 'joinOpenGroupAfterInvitationConfirmationDesc' - | 'invalidNumberError' - | 'contextMenuNoSuggestions' - | 'callMediaPermissionsDialogTitle' - | 'recoveryPhraseRevealButtonText' - | 'banUser' - | 'primaryColorBlue' - | 'sendMessage' - | 'recoveryPhraseRevealMessage' - | 'showRecoveryPhrase' - | 'autoUpdateSettingDescription' - | 'remove' - | 'restoreUsingRecoveryPhrase' - | 'cannotUpdateDetail' - | 'showRecoveryPhrasePasswordRequest' - | 'spellCheckDirty' - | 'debugLogExplanation' - | 'closedGroupInviteFailTitle' - | 'areYouSureClearDevice' - | 'setAccountPasswordDescription' - | 'removeAccountPasswordDescription' - | 'establishingConnection' - | 'noModeratorsToRemove' - | 'youHaveANewFriendRequest' - | 'offline' - | 'appearanceSettingsTitle' - | 'mainMenuView' - | 'mainMenuEdit' - | 'notificationForConvo_disabled' - | 'leaveGroupConfirmationAdmin' - | 'notificationForConvo_all' - | 'emptyGroupNameError' - | 'copyOpenGroupURL' - | 'setPasswordInvalid' - | 'timerOption_30_seconds_abbreviated' + | 'newMessage' | 'createConversationNewContact' - | 'removeResidueMembers' - | 'timerOption_1_hour_abbreviated' - | 'areYouSureDeleteEntireAccount' - | 'noGivenPassword' - | 'closedGroupInviteOkText' - | 'readReceiptSettingTitle' - | 'copySessionID' - | 'timerOption_0_seconds' - | 'zoomFactorSettingTitle' - | 'unableToCall' - | 'callMissedTitle' - | 'done' - | 'videoAttachmentAlt' - | 'message' - | 'mainMenuHelp' - | 'open' - | 'nameAndMessage' - | 'autoUpdateDownloadedMessage' - | 'onionPathIndicatorTitle' - | 'unknown' + | 'createConversationNewGroup' + | 'joinACommunity' + | 'chooseAnAction' + | 'newMessages' + | 'notificationMostRecentFrom' + | 'notificationFrom' + | 'notificationMostRecent' + | 'sendFailed' | 'mediaMessage' - | 'addAsModerator' - | 'closedGroupInviteFailTitlePlural' - | 'enterSessionID' - | 'editGroup' - | 'incomingCallFrom' - | 'timerSetOnSync' - | 'deleteMessages' - | 'searchForContactsOnly' - | 'spellCheckTitle' - | 'editMenuSelectAll' | 'messageBodyMissing' - | 'timerOption_12_hours_abbreviated' - | 'onlyAdminCanRemoveMembersDesc' - | 'kickedFromTheGroup' - | 'windowMenuMinimize' - | 'debugLog' + | 'messageBody' + | 'unblockToSend' + | 'unblockGroupToSend' + | 'youChangedTheTimer' + | 'timerSetOnSync' + | 'theyChangedTheTimer' + | 'timerOption_0_seconds' + | 'timerOption_5_seconds' + | 'timerOption_10_seconds' + | 'timerOption_30_seconds' + | 'timerOption_1_minute' + | 'timerOption_5_minutes' + | 'timerOption_30_minutes' + | 'timerOption_1_hour' + | 'timerOption_6_hours' + | 'timerOption_12_hours' + | 'timerOption_1_day' + | 'timerOption_1_week' + | 'timerOption_2_weeks' + | 'disappearingMessages' + | 'changeNickname' + | 'clearNickname' + | 'nicknamePlaceholder' + | 'changeNicknameMessage' | 'timerOption_0_seconds_abbreviated' + | 'timerOption_5_seconds_abbreviated' + | 'timerOption_10_seconds_abbreviated' + | 'timerOption_30_seconds_abbreviated' + | 'timerOption_1_minute_abbreviated' | 'timerOption_5_minutes_abbreviated' - | 'goToReleaseNotes' - | 'unpinConversation' - | 'viewMenuResetZoom' - | 'startInTrayDescription' - | 'groupNamePlaceholder' - | 'messageRequestPending' - | 'stagedPreviewThumbnail' - | 'helpUsTranslateSession' - | 'editMenuDeleteGroup' - | 'unreadMessages' - | 'documents' - | 'audioPermissionNeededTitle' - | 'deleteMessagesQuestion' - | 'clickToTrustContact' - | 'closedGroupInviteFailMessagePlural' - | 'noAudioInputFound' - | 'timerOption_10_seconds' - | 'helpSettingsTitle' - | 'openMessageRequestInboxDescription' - | 'notificationPreview' - | 'noteToSelf' - | 'failedToAddAsModerator' + | 'timerOption_30_minutes_abbreviated' + | 'timerOption_1_hour_abbreviated' + | 'timerOption_6_hours_abbreviated' + | 'timerOption_12_hours_abbreviated' + | 'timerOption_1_day_abbreviated' + | 'timerOption_1_week_abbreviated' + | 'timerOption_2_weeks_abbreviated' + | 'disappearingMessagesDisabled' | 'disabledDisappearingMessages' - | 'cannotUpdate' - | 'primaryColor' - | 'device' - | 'replyToMessage' - | 'messageDeletedPlaceholder' - | 'notificationFrom' - | 'displayName' - | 'clear' - | 'invalidSessionId' - | 'audioPermissionNeeded' - | 'createGroup' - | 'add' - | 'timerOption_2_weeks' - | 'messageRequests' - | 'show' - | 'cannotMixImageAndNonImageAttachments' - | 'viewMenuToggleFullScreen' - | 'goToSupportPage' - | 'passwordsDoNotMatch' - | 'createClosedGroupNamePrompt' - | 'audioMessageAutoplayDescription' - | 'leaveAndRemoveForEveryone' - | 'previewThumbnail' - | 'primaryColorPurple' - | 'photo' - | 'setPassword' - | 'editMenuDeleteContact' + | 'youDisabledDisappearingMessages' + | 'timerSetTo' + | 'noteToSelf' | 'hideMenuBarTitle' - | 'reactionPopupOne' - | 'imageCaptionIconAlt' - | 'sendRecoveryPhraseTitle' - | 'joinACommunity' - | 'multipleJoinedTheGroup' - | 'messageRequestAcceptedOursNoName' - | 'activeMembers' - | 'databaseError' - | 'resend' - | 'copiedToClipboard' - | 'closedGroupInviteSuccessTitlePlural' + | 'hideMenuBarDescription' + | 'startConversation' + | 'invalidNumberError' + | 'failedResolveOns' + | 'autoUpdateSettingTitle' + | 'autoUpdateSettingDescription' + | 'autoUpdateNewVersionTitle' + | 'autoUpdateNewVersionMessage' + | 'autoUpdateNewVersionInstructions' + | 'autoUpdateRestartButtonLabel' + | 'autoUpdateLaterButtonLabel' | 'autoUpdateDownloadButtonLabel' - | 'groupMembers' - | 'primaryColorOrange' - | 'dialogClearAllDataDeletionQuestion' - | 'oceanDarkThemeTitle' - | 'unableToLoadAttachment' - | 'cameraPermissionNeededTitle' - | 'editMenuRedo' - | 'hideRequestBanner' - | 'changeNicknameMessage' - | 'reactionPopupThree' - | 'close' - | 'deleteMessageQuestion' - | 'newMessage' - | 'windowMenuClose' - | 'mainMenuFile' - | 'confirmNewPassword' - | 'callMissed' - | 'getStarted' - | 'reactionListCountSingular' - | 'unblockUser' + | 'autoUpdateDownloadedMessage' + | 'autoUpdateDownloadInstructions' + | 'leftTheGroup' + | 'multipleLeftTheGroup' + | 'updatedTheGroup' + | 'titleIsNow' + | 'joinedTheGroup' + | 'multipleJoinedTheGroup' + | 'kickedFromTheGroup' + | 'multipleKickedFromTheGroup' | 'blockUser' - | 'clearAllConfirmationTitle' - | 'trustThisContactDialogTitle' - | 'received' - | 'trimDatabaseConfirmationBody' - | 'setPasswordFail' - | 'clearNickname' - | 'connectToServerSuccess' - | 'viewMenuZoomIn' - | 'invalidOpenGroupUrl' - | 'entireAccount' - | 'noContactsToAdd' - | 'cancel' - | 'decline' - | 'originalMessageNotFound' - | 'create' - | 'autoUpdateRestartButtonLabel' - | 'deleteConversationConfirmation' - | 'timerOption_6_hours_abbreviated' - | 'timerOption_1_week_abbreviated' - | 'removePasswordTitle' - | 'unblockGroupToSend' - | 'otherPlural' - | 'enable' - | 'notificationSubtitle' - | 'youChangedTheTimer' - | 'updatedTheGroup' - | 'leaveGroup' - | 'continueYourSession' - | 'invalidGroupNameTooShort' - | 'notificationForConvo' - | 'noNameOrMessage' - | 'classicLightThemeTitle' - | 'noSearchResults' - | 'reactionPopup' - | 'changeNickname' + | 'unblockUser' + | 'unblocked' + | 'blocked' + | 'blockedSettingsTitle' + | 'conversationsSettingsTitle' + | 'unbanUser' | 'userUnbanned' - | 'respondingToRequestWarning' - | 'error' - | 'clearAllData' - | 'createConversationNewGroup' - | 'disappearingMessages' - | 'autoUpdateNewVersionTitle' - | 'linkPreviewDescription' - | 'timerOption_1_day' - | 'contactsHeader' - | 'openGroupInvitation' - | 'callMissedCausePermission' - | 'mediaPermissionsDescription' - | 'tryAgain' - | 'clearDevice' - | 'media' - | 'noMembersInThisGroup' - | 'saveLogToDesktop' - | 'copyErrorAndQuit' - | 'onlyAdminCanRemoveMembers' - | 'passwordTypeError' - | 'createClosedGroupPlaceholder' - | 'editProfileModalTitle' - | 'noCameraFound' - | 'setAccountPasswordTitle' - | 'callMediaPermissionsDescription' - | 'recoveryPhraseSecureTitle' - | 'yesterday' - | 'closedGroupInviteSuccessMessage' - | 'youDisabledDisappearingMessages' - | 'updateGroupDialogTitle' - | 'surveyTitle' - | 'userRemovedFromModerators' - | 'timerOption_5_seconds' - | 'failedToRemoveFromModerator' - | 'conversationsHeader' - | 'setPasswordToastDescription' - | 'audio' - | 'startInTrayTitle' + | 'userUnbanFailed' + | 'banUser' + | 'banUserAndDeleteAll' + | 'userBanned' + | 'userBanFailed' + | 'leaveGroup' + | 'leaveAndRemoveForEveryone' + | 'leaveGroupConfirmation' + | 'leaveGroupConfirmationAdmin' | 'cannotRemoveCreatorFromGroup' - | 'editMenuCut' - | 'markAllAsRead' - | 'failedResolveOns' - | 'showDebugLog' - | 'declineRequestMessage' - | 'primaryColorGreen' - | 'dialogClearAllDataDeletionFailedTitleQuestion' - | 'autoUpdateDownloadInstructions' - | 'dialogClearAllDataDeletionFailedTitle' - | 'loading' - | 'blockedSettingsTitle' - | 'appMenuHide' - | 'removeAccountPasswordTitle' - | 'recoveryPhraseEmpty' - | 'noAudioOutputFound' - | 'save' - | 'privacySettingsTitle' + | 'cannotRemoveCreatorFromGroupDesc' + | 'noContactsForGroup' + | 'failedToAddAsModerator' + | 'failedToRemoveFromModerator' + | 'copyMessage' + | 'selectMessage' + | 'editGroup' + | 'editGroupName' + | 'updateGroupDialogTitle' + | 'showRecoveryPhrase' + | 'yourSessionID' + | 'setAccountPasswordTitle' + | 'setAccountPasswordDescription' + | 'changeAccountPasswordTitle' | 'changeAccountPasswordDescription' - | 'notificationSettingsDialog' + | 'removeAccountPasswordTitle' + | 'removeAccountPasswordDescription' + | 'enterPassword' + | 'confirmPassword' + | 'enterNewPassword' + | 'confirmNewPassword' + | 'showRecoveryPhrasePasswordRequest' + | 'recoveryPhraseSavePromptMain' + | 'invalidOpenGroupUrl' + | 'copiedToClipboard' + | 'passwordViewTitle' + | 'password' + | 'setPassword' + | 'changePassword' + | 'createPassword' + | 'removePassword' + | 'maxPasswordAttempts' + | 'typeInOldPassword' | 'invalidOldPassword' - | 'messageBody' - | 'audioMessageAutoplayTitle' + | 'invalidPassword' + | 'noGivenPassword' + | 'passwordsDoNotMatch' + | 'setPasswordInvalid' + | 'changePasswordInvalid' | 'removePasswordInvalid' - | 'password' - | 'nicknamePlaceholder' - | 'linkPreviewsTitle' - | 'continue' - | 'learnMore' + | 'setPasswordTitle' + | 'changePasswordTitle' + | 'removePasswordTitle' + | 'setPasswordToastDescription' + | 'changePasswordToastDescription' + | 'removePasswordToastDescription' + | 'publicChatExists' + | 'connectToServerFail' + | 'connectingToServer' + | 'connectToServerSuccess' + | 'setPasswordFail' + | 'passwordLengthError' + | 'passwordTypeError' | 'passwordCharacterError' - | 'autoUpdateSettingTitle' - | 'documentsEmptyState' - | 'deleteForEveryone' - | 'createSessionID' - | 'multipleLeftTheGroup' - | 'answeredACall' - | 'oceanLightThemeTitle' - | 'enterSessionIDOrONSName' - | 'quoteThumbnailAlt' - | 'timerOption_1_week' - | 'deleteContactConfirmation' - | 'timerOption_30_seconds' - | 'createAccount' - | 'timerOption_1_minute_abbreviated' - | 'startNewConversationBy...' - | 'timerOption_12_hours' - | 'unblockToSend' - | 'timerOption_1_minute' - | 'yourSessionID' - | 'deleteAccountWarning' - | 'deleted' - | 'closedGroupMaxSize' - | 'messagesHeader' - | 'joinOpenGroup' - | 'callMediaPermissionsDialogContent' - | 'timerOption_1_day_abbreviated' - | 'about' - | 'clearAllConfirmationBody' - | 'ok' - | 'multipleKickedFromTheGroup' - | 'trimDatabase' - | 'clearAll' - | 'recoveryPhraseSavePromptMain' - | 'editMenuPaste' - | 'areYouSureDeleteDeviceOnly' - | 'or' + | 'remove' + | 'invalidSessionId' + | 'invalidPubkeyFormat' + | 'emptyGroupNameError' + | 'editProfileModalTitle' + | 'groupNamePlaceholder' + | 'inviteContacts' + | 'addModerators' | 'removeModerators' - | 'destination' - | 'invalidGroupNameTooLong' - | 'youLeftTheGroup' - | 'theyChangedTheTimer' - | 'userBanned' - | 'addACaption' - | 'timerOption_5_seconds_abbreviated' + | 'addAsModerator' | 'removeFromModerators' + | 'add' + | 'addingContacts' + | 'noContactsToAdd' + | 'noMembersInThisGroup' + | 'noModeratorsToRemove' + | 'onlyAdminCanRemoveMembers' + | 'onlyAdminCanRemoveMembersDesc' + | 'createAccount' + | 'startInTrayTitle' + | 'startInTrayDescription' + | 'yourUniqueSessionID' + | 'allUsersAreRandomly...' + | 'getStarted' + | 'createSessionID' + | 'recoveryPhrase' | 'enterRecoveryPhrase' - | 'support' - | 'stagedImageAttachment' - | 'thisWeek' - | 'savedTheFile' - | 'mediaEmptyState' + | 'displayName' + | 'anonymous' + | 'removeResidueMembers' + | 'enterDisplayName' + | 'continueYourSession' + | 'linkDevice' + | 'restoreUsingRecoveryPhrase' + | 'or' + | 'ByUsingThisService...' + | 'beginYourSession' + | 'welcomeToYourSession' + | 'searchFor...' + | 'searchForContactsOnly' + | 'enterSessionID' + | 'enterSessionIDOfRecipient' + | 'message' + | 'appearanceSettingsTitle' + | 'privacySettingsTitle' + | 'notificationsSettingsTitle' + | 'audioNotificationsSettingsTitle' + | 'notificationsSettingsContent' + | 'notificationPreview' + | 'recoveryPhraseEmpty' + | 'displayNameEmpty' + | 'displayNameTooLong' + | 'members' + | 'activeMembers' + | 'join' + | 'joinOpenGroup' + | 'createGroup' + | 'create' + | 'createClosedGroupNamePrompt' + | 'createClosedGroupPlaceholder' + | 'openGroupURL' + | 'enterAnOpenGroupURL' + | 'next' + | 'invalidGroupNameTooShort' + | 'invalidGroupNameTooLong' + | 'pickClosedGroupMember' + | 'closedGroupMaxSize' + | 'noBlockedContacts' + | 'userAddedToModerators' + | 'userRemovedFromModerators' + | 'orJoinOneOfThese' + | 'helpUsTranslateSession' + | 'closedGroupInviteFailTitle' + | 'closedGroupInviteFailTitlePlural' + | 'closedGroupInviteFailMessage' + | 'closedGroupInviteFailMessagePlural' + | 'closedGroupInviteOkText' + | 'closedGroupInviteSuccessTitlePlural' + | 'closedGroupInviteSuccessTitle' + | 'closedGroupInviteSuccessMessage' + | 'notificationForConvo' + | 'notificationForConvo_all' + | 'notificationForConvo_disabled' + | 'notificationForConvo_mentions_only' + | 'onionPathIndicatorTitle' + | 'onionPathIndicatorDescription' + | 'unknownCountry' + | 'device' + | 'destination' + | 'learnMore' | 'linkVisitWarningTitle' - | 'invalidPassword' + | 'linkVisitWarningMessage' + | 'open' + | 'audioMessageAutoplayTitle' + | 'audioMessageAutoplayDescription' + | 'clickToTrustContact' + | 'trustThisContactDialogTitle' + | 'trustThisContactDialogDescription' + | 'pinConversation' + | 'unpinConversation' + | 'showUserDetails' + | 'sendRecoveryPhraseTitle' + | 'sendRecoveryPhraseMessage' + | 'dialogClearAllDataDeletionFailedTitle' + | 'dialogClearAllDataDeletionFailedDesc' + | 'dialogClearAllDataDeletionFailedTitleQuestion' + | 'dialogClearAllDataDeletionFailedMultiple' + | 'dialogClearAllDataDeletionQuestion' + | 'clearDevice' + | 'tryAgain' + | 'areYouSureClearDevice' + | 'deviceOnly' + | 'entireAccount' + | 'areYouSureDeleteDeviceOnly' + | 'areYouSureDeleteEntireAccount' + | 'iAmSure' + | 'recoveryPhraseSecureTitle' + | 'recoveryPhraseRevealMessage' + | 'recoveryPhraseRevealButtonText' + | 'notificationSubtitle' + | 'surveyTitle' + | 'faq' + | 'support' + | 'clearAll' + | 'clearDataSettingsTitle' + | 'messageRequests' + | 'requestsSubtitle' + | 'requestsPlaceholder' + | 'hideRequestBannerDescription' + | 'incomingCallFrom' + | 'ringing' + | 'establishingConnection' + | 'accept' + | 'decline' | 'endCall' - | 'connectingToServer' + | 'permissionsSettingsTitle' + | 'helpSettingsTitle' + | 'cameraPermissionNeededTitle' + | 'cameraPermissionNeeded' + | 'unableToCall' + | 'unableToCallTitle' + | 'callMissed' + | 'callMissedTitle' + | 'noCameraFound' + | 'noAudioInputFound' + | 'noAudioOutputFound' + | 'callMediaPermissionsTitle' + | 'callMissedCausePermission' + | 'callMissedNotApproved' + | 'callMediaPermissionsDescription' + | 'callMediaPermissionsDialogContent' + | 'callMediaPermissionsDialogTitle' + | 'startedACall' + | 'answeredACall' + | 'trimDatabase' + | 'trimDatabaseDescription' + | 'trimDatabaseConfirmationBody' | 'pleaseWaitOpenAndOptimizeDb' - | 'settingsHeader' - | 'autoUpdateNewVersionMessage' - | 'oneNonImageAtATimeToast' + | 'messageRequestPending' + | 'messageRequestAccepted' + | 'messageRequestAcceptedOurs' + | 'messageRequestAcceptedOursNoName' + | 'declineRequestMessage' + | 'respondingToRequestWarning' + | 'hideRequestBanner' + | 'openMessageRequestInbox' + | 'noMessageRequestsPending' + | 'noMediaUntilApproved' + | 'mustBeApproved' + | 'youHaveANewFriendRequest' + | 'clearAllConfirmationTitle' + | 'clearAllConfirmationBody' + | 'hideBanner' + | 'openMessageRequestInboxDescription' + | 'clearAllReactions' + | 'expandedReactionsText' + | 'reactionNotification' + | 'rateLimitReactMessage' + | 'otherSingular' + | 'otherPlural' + | 'reactionPopup' + | 'reactionPopupOne' + | 'reactionPopupTwo' + | 'reactionPopupThree' | 'reactionPopupMany' - | 'timerSetTo' - | 'iAmSure' - | 'primaryColorRed' - | 'selectMessage' - | 'enterAnOpenGroupURL' - | 'delete' - | 'changePasswordInvalid' - | 'themesSettingTitle' - | 'timerOption_6_hours' - | 'confirmPassword' - | 'downloadAttachment' - | 'trimDatabaseDescription' - | 'showUserDetails' - | 'titleIsNow' - | 'removePasswordToastDescription' - | 'recoveryPhrase' - | 'deleteAccountFromLogin' - | 'newMessages' - | 'you' - | 'pruneSettingTitle' - | 'unbanUser' - | 'notificationForConvo_mentions_only' - | 'trustThisContactDialogDescription' - | 'unknownCountry' - | 'searchFor...' - | 'displayNameTooLong' - | 'joinedTheGroup' - | 'editGroupName' - | 'reportIssue'; + | 'reactionListCountSingular' + | 'reactionListCountPlural';