session-desktop/_locales/en/messages.json

2232 lines
80 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"privacyPolicy": {
"message": "Terms & Privacy Policy",
"description": "Shown in the about box for the link to https://getsession.org/privacy-policy/",
"androidKey": "RegistrationActivity_terms_and_privacy"
},
"copyErrorAndQuit": {
"message": "Copy error and quit",
"description": "Shown in the top-level error popup, allowing user to copy the error text and close the app"
},
"unknown": {
"message": "Unknown",
"description": "Shown as the name of a group if we don't have any information about it",
"androidKey": "NotificationChannel_missing_display_name"
},
"databaseError": {
"message": "Database Error",
"description": "Shown in a popup if the database cannot start up properly"
},
"mainMenuFile": {
"message": "&File",
"description": "The label that is used for the File menu in the program main menu. The '&' indicates that the following letter will be used as the keyboard 'shortcut letter' for accessing the menu with the Alt-<letter> combination.",
"androidKey": "attachment_type_selector__file_description",
"addStart": "&"
},
"mainMenuEdit": {
"message": "&Edit",
"description": "The label that is used for the Edit menu in the program main menu. The '&' indicates that the following letter will be used as the keyboard 'shortcut letter' for accessing the menu with the Alt-<letter> combination."
},
"mainMenuView": {
"message": "&View",
"description": "The label that is used for the View menu in the program main menu. The '&' indicates that the following letter will be used as the keyboard 'shortcut letter' for accessing the menu with the Alt-<letter> combination.",
"androidKey": "message_recipients_list_item__view",
"addStart": "&",
"sentenceCase": true
},
"mainMenuWindow": {
"message": "&Window",
"description": "The label that is used for the Window menu in the program main menu. The '&' indicates that the following letter will be used as the keyboard 'shortcut letter' for accessing the menu with the Alt-<letter> combination."
},
"mainMenuHelp": {
"message": "&Help",
"description": "The label that is used for the Help menu in the program main menu. The '&' indicates that the following letter will be used as the keyboard 'shortcut letter' for accessing the menu with the Alt-<letter> combination.",
"androidKey": "text_secure_normal__help",
"addStart": "&"
},
"appMenuHide": {
"message": "Hide",
"description": "Application menu command to hide the window"
},
"appMenuHideOthers": {
"message": "Hide Others",
"description": "Application menu command to hide all other windows"
},
"appMenuUnhide": {
"message": "Show All",
"description": "Application menu command to show all application windows"
},
"appMenuQuit": {
"message": "Quit Session",
"description": "Application menu command to close the application"
},
"editMenuUndo": {
"message": "Undo",
"description": "Edit menu command to remove recently-typed text",
"androidKey": "ConversationListFragment_undo",
"sentenceCase": true
},
"editMenuRedo": {
"message": "Redo",
"description": "Edit menu command to restore previously undone typed text"
},
"editMenuCut": {
"message": "Cut",
"description": "Edit menu command to remove selected text and add it to clipboard"
},
"editMenuCopy": {
"message": "Copy",
"description": "Edit menu command to add selected text to clipboard",
"androidKey": "copy"
},
"editMenuPaste": {
"message": "Paste",
"description": "Edit menu command to insert text from clipboard at cursor location"
},
"editMenuPasteAndMatchStyle": {
"message": "Paste and Match Style",
"description": "Edit menu command to insert text from clipboard at cursor location, taking only text and not style information"
},
"editMenuDelete": {
"message": "Delete",
"description": "Edit menu command to remove the selected text",
"androidKey": "delete"
},
"editMenuSelectAll": {
"message": "Select all",
"description": "Edit menu comand to select all of the text in selected text box",
"androidKey": "conversation_list_batch__menu_select_all",
"sentenceCase": true
},
"editMenuStartSpeaking": {
"message": "Start speaking",
"description": "Edit menu item under 'speech' to start dictation"
},
"editMenuStopSpeaking": {
"message": "Stop speaking",
"description": "Edit menu item under 'speech' to stop dictation"
},
"windowMenuClose": {
"message": "Close Window",
"description": "Window menu command to close the current window"
},
"windowMenuMinimize": {
"message": "Minimize",
"description": "Window menu command to minimize the current window"
},
"windowMenuZoom": {
"message": "Zoom",
"description": "Window menu command to make the current window the size of the whole screen"
},
"windowMenuBringAllToFront": {
"message": "Bring All to Front",
"description": "Window menu command to bring all windows of current applicatinon to front"
},
"viewMenuResetZoom": {
"message": "Actual Size",
"description": "View menu command to go back to the default zoom"
},
"viewMenuZoomIn": {
"message": "Zoom In",
"description": "View menu command to make everything bigger"
},
"viewMenuZoomOut": {
"message": "Zoom Out",
"description": "View menu command to make everything smaller"
},
"viewMenuToggleFullScreen": {
"message": "Toggle Full Screen",
"description": "View menu command to enter or leave Full Screen mode"
},
"viewMenuToggleDevTools": {
"message": "Toggle Developer Tools",
"description": "View menu command to show or hide the developer tools"
},
"menuSetupWithImport": {
"message": "Set Up with Import",
"description": "When the application is not yet set up, menu option to start up the import sequence"
},
"menuSetupAsStandalone": {
"message": "Set Up as Standalone Device",
"description": "Only available on development modes, menu option to open up the standalone device setup sequence"
},
"contextMenuNoSuggestions": {
"message": "No Suggestions",
"description": "Shown in the context menu for a misspelled word to indicate that there are no suggestions to replace the misspelled word"
},
"loading": {
"message": "Loading...",
"description": "Message shown on the loading screen before we've loaded any messages",
"androidKey": "ConversationListFragment_loading"
},
"optimizingApplication": {
"message": "Optimizing application...",
"description": "Message shown on the loading screen while we are doing application optimizations"
},
"migratingToSQLCipher": {
"message": "Optimizing messages... $status$ complete.",
"description": "Message shown on the loading screen while we are doing application optimizations",
"placeholders": {
"status": {
"content": "$1",
"example": "45/200"
}
}
},
"chooseDirectory": {
"message": "Choose folder",
"description": "Button to allow the user to find a folder on disk"
},
"done": {
"message": "Done",
"description": "Button when a specific action is to be done."
},
"loadDataHeader": {
"message": "Load your data",
"description": "Header shown on the first screen in the data import process"
},
"loadDataDescription": {
"message": "You've just gone through the export process, and your contacts and messages are waiting patiently on your computer. Select the folder that contains your saved Session data.",
"description": "Introduction to the process of importing messages and contacts from disk"
},
"importChooserTitle": {
"message": "Choose directory with exported data",
"description": "Title of the popup window used to select data previously exported"
},
"importErrorHeader": {
"message": "Something went wrong!",
"description": "Header of the error screen after a failed import"
},
"importingHeader": {
"message": "Loading contacts and messages",
"description": "Header of screen shown as data is import"
},
"importErrorFirst": {
"message": "Make sure you have chosen the correct directory that contains your saved Session data. Its name should begin with 'Session Export.' You can also save a new copy of your data from the Chrome App.",
"description": "Message shown if the import went wrong; first paragraph"
},
"importErrorSecond": {
"message": "If these steps don't work for you, please submit a debug log (View -> Debug Log) so that we can help you get migrated!",
"description": "Message shown if the import went wrong; second paragraph"
},
"importAgain": {
"message": "Choose folder and try again",
"description": "Button shown if the user runs into an error during import, allowing them to start over"
},
"importCompleteHeader": {
"message": "Success!",
"description": "Header shown on the screen at the end of a successful import process"
},
"importCompleteStartButton": {
"message": "Start using Session",
"description": "Button shown at end of successful import process, nothing left but a restart"
},
"importCompleteLinkButton": {
"message": "Link this device to your phone",
"description": "Button shown at end of successful 'light' import process, so the standard linking process still needs to happen"
},
"me": {
"message": "Me",
"description": "The label for yourself when shown in a group member list"
},
"view": {
"message": "View",
"description": "Used as a label on a button allowing user to see more information",
"androidKey": "message_recipients_list_item__view",
"sentenceCase": true
},
"youLeftTheGroup": {
"message": "You have left the group.",
"description": "Displayed when a user can't send a message because they have left the group",
"androidKey": "MessageRecord_left_group"
},
"youGotKickedFromGroup": {
"message": "You were removed from the group.",
"description": "Displayed when a user can't send a message because they have left the group",
"androidKey": "GroupUtil_you_were_removed_from_group"
},
"unreadMessage": {
"message": "$count$ Unread Message",
"description": "Text for unread message separator, just one message",
"placeholders": {
"count": {
"content": "$1",
"example": "5"
}
},
"androidKey": "ConversationAdapter_n_unread_messages",
"androidKeyCount": "one",
"androidReplace": {
"%d": "$count$"
},
"ignoreCase": true
},
"unreadMessages": {
"message": "$count$ Unread Messages",
"description": "Text for unread message separator, with count",
"placeholders": {
"count": {
"content": "$1",
"example": "5"
}
},
"androidKey": "ConversationAdapter_n_unread_messages",
"androidKeyCount": "other",
"androidReplace": {
"%d": "$count$"
},
"ignoreCase": true
},
"verificationKeysLoadFail": {
"message": "Failed to load verification keys",
"description": "Displayed on `Show Safety Number` option in conversation screen"
},
"youMarkedAsVerified": {
"message": "You marked your safety number with $name$ verified",
"description": "Shown in the conversation history when the user marks a contact as verified.",
"placeholders": {
"name": {
"content": "$1",
"example": "Bob"
}
},
"androidKey": "MessageRecord_you_marked_your_safety_number_with_s_verified",
"androidReplace": {
"%s": "$name$"
}
},
"youMarkedAsNotVerified": {
"message": "You marked your safety number with $name$ unverified",
"description": "Shown in the conversation history when the user marks a contact as not verified, whether on the Safety Number screen or by dismissing a banner or dialog.",
"placeholders": {
"name": {
"content": "$1",
"example": "Bob"
}
},
"androidKey": "MessageRecord_you_marked_your_safety_number_with_s_unverified",
"androidReplace": {
"%s": "$name$"
}
},
"youMarkedAsVerifiedOtherDevice": {
"message": "You marked your safety number with $name$ verified from another device",
"description": "Shown in the conversation history when we discover that the user marked a contact as verified on another device.",
"placeholders": {
"name": {
"content": "$1",
"example": "Bob"
}
},
"androidKey": "MessageRecord_you_marked_your_safety_number_with_s_verified_from_another_device",
"androidReplace": {
"%s": "$name$"
}
},
"youMarkedAsNotVerifiedOtherDevice": {
"message": "You marked your safety number with $name$ unverified from another device",
"description": "Shown in the conversation history when we discover that the user marked a contact as not verified on another device.",
"placeholders": {
"name": {
"content": "$1",
"example": "Bob"
}
},
"androidKey": "MessageRecord_you_marked_your_safety_number_with_s_unverified_from_another_device",
"androidReplace": {
"%s": "$name$"
}
},
"membersNeedingVerification": {
"message": "Your safety numbers with these group members have changed since you last verified. Click a group member to see your new safety number with them.",
"description": "When there are multiple previously-verified group members with safety number changes, a banner will be shown. The list of contacts with safety number changes is shown, and this text introduces that list."
},
"changedSinceVerifiedTitle": {
"message": "Safety Number Changed",
"androidKey": "ThreadRecord_safety_number_changed",
"ignoreCase": true
},
"changedSinceVerifiedMultiple": {
"message": "Your safety numbers with multiple group members have changed since you last verified. This could mean that someone is trying to intercept your communication or that they have simply reinstalled Session.",
"description": "Shown on confirmation dialog when user attempts to send a message"
},
"changedSinceVerified": {
"message": "Your safety number with $name$ has changed and is no longer verified. This could either mean that someone is trying to intercept your communication, or that $name$ simply reinstalled Session.",
"description": "Shown on confirmation dialog when user attempts to send a message",
"placeholders": {
"name": {
"content": "$1",
"example": "Bob"
}
},
"androidKey": "IdentityUtil_unverified_dialog_one",
"androidReplace": {
"%1$s": "$name$"
}
},
"changedRightAfterVerify": {
"message": "The safety number you are trying to verify has changed. Please review your new safety number with $name$. Remember, this change could mean that someone is trying to intercept your communication or that $name$ has simply reinstalled Session.",
"description": "Shown on the safety number screen when the user has selected to verify/unverify a contact's safety number, and we immediately discover a safety number change",
"placeholders": {
"name": {
"content": "$1",
"example": "Bob"
}
}
},
"changedRecentlyMultiple": {
"message": "Your safety numbers with multiple group members have changed recently. This could mean that someone is trying to intercept your communication or that they have simply reinstalled Session.",
"description": "Shown on confirmation dialog when user attempts to send a message"
},
"changedRecently": {
"message": "Your safety number with $name$ has changed. This could either mean that someone is trying to intercept your communication, or that $name$ simply reinstalled Session.",
"description": "Shown on confirmation dialog when user attempts to send a message",
"placeholders": {
"name": {
"content": "$1",
"example": "Bob"
}
},
"androidKey": "ConfirmIdentityDialog_your_safety_number_with_s_has_changed",
"androidReplace": {
"%1$s": "$name$",
"%2$s": "$name$"
}
},
"identityKeyErrorOnSend": {
"message": "Your safety number with $name$ has changed. This could either mean that someone is trying to intercept your communication or that $name$ has simply reinstalled Session.",
"description": "Shown when user clicks on a failed recipient in the message detail view after an identity key change",
"placeholders": {
"name": {
"content": "$1",
"example": "Bob"
}
}
},
"youMayWishToVerifyContact": {
"message": "You may wish to verify your safety number with this contact.",
"description": "Shown when user clicks on a failed recipient in the message detail view after an identity key change",
"placeholders": {
"name": {
"content": "$1",
"example": "Bob"
}
},
"androidKey": "WebRtcCallScreen_you_may_wish_to_verify_this_contact"
},
"sendAnyway": {
"message": "Send Anyway",
"description": "Used on a warning dialog to make it clear that it might be risky to send the message."
},
"noLongerVerified": {
"message": "Your safety number with $name$ has changed and is no longer verified. Click to show.",
"description": "Shown in converation banner when user's safety number has changed, but they were previously verified.",
"placeholders": {
"name": {
"content": "$1",
"example": "Bob"
}
}
},
"multipleNoLongerVerified": {
"message": "Your safety numbers with multiple members of this group have changed and are no longer verified. Click to show.",
"description": "Shown in conversation banner when more than one group member's safety number has changed, but they were previously verified."
},
"debugLogExplanation": {
"message": "This log will be posted publicly online for contributors to view. You may examine and edit it before submitting."
},
"debugLogError": {
"message": "Something went wrong with the upload! Please consider manually adding your log to the bug you file."
},
"reportIssue": {
"message": "Report an issue",
"description": "Link to open the issue tracker"
},
"gotIt": {
"message": "Got it",
"description": "Label for a button that dismisses a dialog. The user clicks it to confirm that they understand the message in the dialog.",
"androidKey": "ExperienceUpgradeActivity_got_it"
},
"submit": {
"message": "Submit",
"androidKey": "log_submit_activity__button_submit"
},
"verify": {
"message": "Mark As Verified"
},
"unverify": {
"message": "Mark As Not Verified"
},
"isNotVerified": {
"message": "You have not verified your safety number with $name$.",
"description": "Summary state shown at top of the safety number screen if user has not verified contact.",
"placeholders": {
"name": {
"content": "$1",
"example": "Bob"
}
}
},
"verified": {
"message": "Verified",
"androidKey": "verify_display_fragment__verified"
},
"newIdentity": {
"message": "New safety number",
"description": "Header for a key change dialog",
"androidKey": "MessageDetailsRecipient_new_safety_number"
},
"incomingError": {
"message": "Error handling incoming message"
},
"media": {
"message": "Media",
"description": "Header of the default pane in the media gallery, showing images and videos",
"androidKey": "MediaOverviewActivity_Media"
},
"mediaEmptyState": {
"message": "No media",
"description": "Message shown to user in the media gallery when there are no messages with media attachments (images or video)",
"androidKey": "media_overview_activity__no_media"
},
"documents": {
"message": "Documents",
"description": "Header of the secondary pane in the media gallery, showing every non-media attachment",
"androidKey": "MediaOverviewActivity_Documents"
},
"documentsEmptyState": {
"message": "No documents",
"description": "Message shown to user in the media gallery when there are no messages with document attachments (anything other than images or video)",
"androidKey": "media_overview_documents_fragment__no_documents_found"
},
"today": {
"message": "Today",
"description": "Section header in the media gallery",
"androidKey": "BucketedThreadMedia_Today"
},
"yesterday": {
"message": "Yesterday",
"description": "Section header in the media gallery",
"androidKey": "BucketedThreadMedia_Yesterday"
},
"thisWeek": {
"message": "This week",
"description": "Section header in the media gallery",
"androidKey": "BucketedThreadMedia_This_week",
"ignoreCase": true,
"sentenceCase": true
},
"thisMonth": {
"message": "This Month",
"description": "Section header in the media gallery",
"androidKey": "BucketedThreadMedia_This_month",
"ignoreCase": true,
"sentenceCase": true
},
"voiceMessage": {
"message": "Voice Message",
"description": "Name for a voice message attachment"
},
"dangerousFileType": {
"message": "For security reasons, this file type cannot be sent",
"description": "Shown in toast when user attempts to send .exe file, for example"
},
"stagedPreviewThumbnail": {
"message": "Draft thumbnail link preview for $domain$",
"description": "Shown while Session Desktop is fetching metadata for a url in composition area",
"placeholders": {
"path": {
"content": "$1",
"example": "instagram.com"
}
}
},
"previewThumbnail": {
"message": "Thumbnail link preview for $domain$",
"description": "Shown while Session Desktop is fetching metadata for a url in composition area",
"placeholders": {
"path": {
"content": "$1",
"example": "instagram.com"
}
}
},
"stagedImageAttachment": {
"message": "Draft image attachment: $path$",
"description": "Alt text for staged attachments",
"placeholders": {
"path": {
"content": "$1",
"example": "dog.jpg"
}
}
},
"oneNonImageAtATimeToast": {
"message": "Sorry, there is a limit of one non-image attachment per message",
"description": "An error popup when the user has attempted to add an attachment"
},
"cannotMixImageAndNonImageAttachments": {
"message": "Sorry, you cannot mix images with other file types in one message",
"description": "An error popup when the user has attempted to add an attachment"
},
"maximumAttachments": {
"message": "Maximum number of attachments reached. Please send remaining attachments in a separate message.",
"description": "An error popup when the user has attempted to add an attachment"
},
"fileSizeWarning": {
"message": "Attachment exceeds size limits for the type of message you're sending.",
"androidKey": "ConversationActivity_attachment_exceeds_size_limits"
},
"unableToLoadAttachment": {
"message": "Sorry, there was an error setting your attachment.",
"androidKey": "ConversationActivity_sorry_there_was_an_error_setting_your_attachment"
},
"connecting": {
"message": "Connecting...",
"description": "Displayed when the desktop client is currently connecting to the server.",
"androidKey": "CallNotificationBuilder_connecting"
},
"offline": {
"message": "Offline",
"description": "Displayed when the desktop client has no network connection."
},
"checkNetworkConnection": {
"message": "Check your network connection.",
"description": "Obvious instructions for when a user's computer loses its network connection"
},
"attemptingReconnection": {
"message": "Attempting reconnect in $reconnect_duration_in_seconds$ seconds",
"placeholders": {
"reconnect_duration_in_seconds": {
"content": "$1",
"example": "10"
}
}
},
"submitDebugLog": {
"message": "Debug log",
"description": "Menu item and header text for debug log modal (sentence case)"
},
"debugLog": {
"message": "Debug Log",
"description": "View menu item to open the debug log (title case)"
},
"goToReleaseNotes": {
"message": "Go to Release Notes",
"description": ""
},
"goToSupportPage": {
"message": "Go to Support Page",
"description": "Item under the Help menu, takes you to the support page"
},
"menuReportIssue": {
"message": "Report an Issue",
"description": "Item under the Help menu, takes you to GitHub new issue form (title case)"
},
"about": {
"message": "About",
"description": "Item under the Help menu, which opens a small about window",
"androidKey": "recipient_preferences__about"
},
"speech": {
"message": "Speech",
"description": "Item under the Edit menu, with 'start/stop speaking' items below it"
},
"show": {
"message": "Show",
"description": "Command under Window menu, to show the window",
"androidKey": "preferences_notifications__show"
},
"sessionMessenger": {
"message": "Session",
"androidKey": "activity_landing_title"
},
"search": {
"message": "Search",
"description": "Placeholder text in the search input",
"androidKey": "SearchToolbar_search"
},
"noSearchResults": {
"message": "No results found for \"$searchTerm$\"",
"description": "Shown in the search left pane when no results were found",
"placeholders": {
"searchTerm": {
"content": "$1",
"example": "dog"
}
},
"androidKey": "SearchFragment_no_results",
"androidReplace": {
"'%s'": "\"$searchTerm$\""
}
},
"conversationsHeader": {
"message": "Conversations",
"description": "Shown to separate the types of search results",
"androidKey": "SearchFragment_header_conversations"
},
"contactsHeader": {
"message": "Contacts",
"description": "Shown to separate the types of search results",
"androidKey": "SearchFragment_header_contacts"
},
"messagesHeader": {
"message": "Messages",
"description": "Shown to separate the types of search results",
"androidKey": "SearchFragment_header_messages"
},
"settingsHeader": {
"message": "Settings",
"androidKey": "activity_settings_title"
},
"welcomeToSession": {
"message": "Welcome to Session.",
"androidKey": "ExperienceUpgradeActivity_welcome_to_signal_dgaf"
},
"typingAlt": {
"message": "Typing animation for this conversation",
"description": "Used as the 'title' attibute for the typing animation"
},
"contactAvatarAlt": {
"message": "Avatar for contact $name$",
"description": "Used in the alt tag for the image avatar of a contact",
"placeholders": {
"name": {
"content": "$1",
"example": "John"
}
}
},
"home": {
"message": "Home",
"description": "Shown on contact detail screen as a label for an address/phone/email",
"androidKey": "ContactShareEditActivity_type_home"
},
"work": {
"message": "Work",
"description": "Shown on contact detail screen as a label for an address/phone/email",
"androidKey": "ContactShareEditActivity_type_work"
},
"mobile": {
"message": "Mobile",
"description": "Shown on contact detail screen as a label for a phone or email",
"androidKey": "ContactShareEditActivity_type_mobile"
},
"email": {
"message": "email",
"description": "Generic label shown if contact email has custom type but no label"
},
"phone": {
"message": "phone",
"description": "Generic label shown if contact phone has custom type but no label"
},
"address": {
"message": "address",
"description": "Generic label shown if contact address has custom type but no label"
},
"poBox": {
"message": "PO Box",
"description": "When rendering an address, used to provide context to a post office box"
},
"downloading": {
"message": "Downloading",
"description": "Shown in the message bubble while a long message attachment is being downloaded"
},
"downloadAttachment": {
"message": "Download Attachment",
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
},
"replyToMessage": {
"message": "Reply to message",
"description": "Shown in triple-dot menu next to message to allow user to start crafting a message with a quotation",
"androidKey": "conversation_context__menu_reply_to_message"
},
"replyingToMessage": {
"message": "Replying to:"
},
"originalMessageNotFound": {
"message": "Original message not found",
"description": "Shown in quote if reference message was not found as message was initially downloaded and processed",
"androidKey": "ConversationFragment_quoted_message_not_found"
},
"originalMessageNotAvailable": {
"message": "Original message no longer available",
"description": "Shown in toast if user clicks on quote that references message no longer in database",
"androidKey": "ConversationFragment_quoted_message_no_longer_available"
},
"messageFoundButNotLoaded": {
"message": "Original message found, but not loaded. Scroll up to load it.",
"description": "Shown in toast if user clicks on quote references messages not loaded in view, but in database"
},
"recording": {
"message": "Recording",
"description": "Shown on SessionRecording when recording is active."
},
"voiceNoteMustBeOnlyAttachment": {
"message": "A voice note must be the only attachment included in a message.",
"description": "Shown in toast if tries to record a voice note with any staged attachments"
},
"you": {
"message": "You",
"description": "In Android theme, shown in quote if you or someone else replies to you",
"androidKey": "MediaPreviewActivity_you"
},
"audioPermissionNeededTitle": {
"message": "Microphone access required",
"description": "Shown if the user attempts to send an audio message without audio permssions turned on"
},
"audioPermissionNeeded": {
"message": "Session needs microphone access to send audio messages.",
"description": "Shown if the user attempts to send an audio message without audio permssions turned on",
"androidKey": "ConversationActivity_to_send_audio_messages_allow_signal_access_to_your_microphone"
},
"allowAccess": {
"message": "Allow Access",
"description": "Button shown in popup asking to enable microphon/video permissions to send audio messages"
},
"audio": {
"message": "Audio",
"description": "Shown in a quotation of a message containing an audio attachment if no text was originally provided with that attachment",
"androidKey": "QuoteView_audio"
},
"video": {
"message": "Video",
"description": "Shown in a quotation of a message containing a video if no text was originally provided with that video",
"androidKey": "QuoteView_video"
},
"photo": {
"message": "Photo",
"description": "Shown in a quotation of a message containing a photo if no text was originally provided with that image",
"androidKey": "QuoteView_photo"
},
"cannotUpdate": {
"message": "Cannot Update",
"description": "Shown as the title of our update error dialogs on windows"
},
"cannotUpdateDetail": {
"message": "Session Desktop failed to update, but there is a new version available. Please go to https://getsession.org/ and install the new version manually, then either contact support or file a bug about this problem.",
"description": "Shown if a general error happened while trying to install update package"
},
"ok": {
"message": "OK",
"androidKey": "activity_settings_seed_dialog_ok_button_title"
},
"cancel": {
"message": "Cancel",
"androidKey": "view_qr_code_cancel_button_title"
},
"close": {
"message": "Close"
},
"continue": {
"message": "Continue",
"androidKey": "RegistrationActivity_continue"
},
"devicePairingRequestReceivedLimitTitle": {
"message": "Device Limit Reached",
"androidKey": "activity_linked_devices_multi_device_limit_reached_dialog_title"
},
"devicePairingRequestReceivedLimitDescription": {
"message": "Sorry, you have too many devices linked already, try removing some",
"androidKey": "DeviceProvisioningActivity_sorry_you_have_too_many_devices_linked_already"
},
"devicePairingRequestReceivedNoListenerTitle": {
"message": "Linking Request Received",
"androidKey": "dialog_link_device_master_mode_title_2"
},
"devicePairingRequestReceivedNoListenerDescription": {
"message": "Device linking request received but you are not on the device linking screen. \nGo to Settings > Device > Link New Device."
},
"waitingForDeviceToRegister": {
"message": "Waiting for Device",
"androidKey": "dialog_link_device_master_mode_title_1"
},
"pairNewDevicePrompt": {
"message": "Scan the QR code displayed on the device to link",
"androidKey": "device_add_fragment__scan_the_qr_code_displayed_on_the_device_to_link"
},
"noPairedDevices": {
"message": "You don't have any linked devices yet",
"androidKey": "device_list_fragment__no_devices_linked"
},
"deviceIsSecondaryNoPairing": {
"message": "This device is a secondary device and so cannot be linked."
},
"pairingOngoing": {
"message": "A pairing request is already ongoing. Restart the app if it takes too long."
},
"allowPairing": {
"message": "Authorize",
"androidKey": "view_device_linking_authorize_button_title"
},
"allowPairingWithDevice": {
"message": "Allow linking with this device?"
},
"provideDeviceAlias": {
"message": "Please provide an alias for this linked device"
},
"showPairingWordsTitle": {
"message": "Linking Secret Words"
},
"confirmUnpairingTitle": {
"message": "Please confirm you want to unlink the following device:"
},
"unpairDevice": {
"message": "Unlink Device",
"androidKey": "fragment_device_list_unlink_device_title",
"ignoreCase": true,
"sentenceCase": true
},
"unpairDeviceWarning": {
"message": "Are you sure you want to unlink this device?",
"description": "Warning for device unlinking in settings view"
},
"unpairDeviceWarningSub": {
"message": "Unlinking this device will delete all history, including all messages, sessions, and contacts from this device.",
"description": "Warning description for device unlinking in settings view"
},
"deviceUnpaired": {
"message": "Your device was unlinked successfully",
"androidKey": "activity_linked_devices_unlinking_successful_message"
},
"error": {
"message": "Error"
},
"delete": {
"message": "Delete",
"androidKey": "delete"
},
"deletePublicWarning": {
"message": "Are you sure? This will permanently remove this message for everyone in this open group."
},
"deleteMultiplePublicWarning": {
"message": "Are you sure? This will permanently remove these messages for everyone in this open group."
},
"deleteWarning": {
"message": "Are you sure? Clicking 'delete' will permanently remove this message from this device only."
},
"deleteMultipleWarning": {
"message": "Are you sure? Clicking 'delete' will permanently remove these messages from this device only."
},
"messageDeletionForbidden": {
"message": "You dont have permission to delete others messages",
"description": "Toast message explaining that the user doens't have the rights to delete other people's messages."
},
"deleteThisMessage": {
"message": "Delete message",
"androidKey": "conversation_context__menu_delete_message",
"description": "action visible in MessageDetail screen"
},
"deleted": {
"message": "Deleted",
"description": "Toast validation when a single or several messages were deleted"
},
"from": {
"message": "From:",
"description": "Label for the sender of a message",
"androidKey": "message_details_header__from"
},
"to": {
"message": "To:",
"description": "Label for the receiver of a message",
"androidKey": "message_details_header__to"
},
"sent": {
"message": "Sent",
"description": "Label for the time a message was sent",
"androidKey": "message_details_header__sent"
},
"received": {
"message": "Received",
"description": "Label for the time a message was received",
"androidKey": "message_details_header__received"
},
"sendMessage": {
"message": "Message",
"description": "Placeholder text in the message entry field"
},
"sendMessageBlockedUser": {
"message": "You have blocked this contact"
},
"groupMembers": {
"message": "Group members",
"androidKey": "ConversationActivity_group_members"
},
"resetSession": {
"message": "Reset Secure Session",
"description": "This is a menu item for resetting the session, using the imperative case, as in a command.",
"androidKey": "conversation_secure_verified__menu_reset_secure_session",
"ignoreCase": true
},
"showSafetyNumber": {
"message": "View Safety Number",
"androidKey": "recipient_preferences__view_safety_number",
"ignoreCase": true
},
"verifyHelp": {
"message": "If you wish to verify the security of your end-to-end encryption with $name$, compare the numbers above with the numbers on their device.",
"placeholders": {
"name": {
"content": "$1",
"example": "John"
}
}
},
"theirIdentityUnknown": {
"message": "You haven't exchanged any messages with this contact yet. Your safety number with them will be available after the first message."
},
"moreInformation": {
"message": "More information",
"description": "Shown on the drop-down menu for an individual message, takes you to message detail screen",
"androidKey": "RegistrationActivity_more_information"
},
"resend": {
"message": "Resend",
"description": "Shown on the drop-down menu for an individual message, but only if it is an outgoing message that failed to send",
"androidKey": "message_recipients_list_item__resend",
"sentenceCase": true
},
"deleteMessage": {
"message": "Delete Message",
"description": "Shown on the drop-down menu for an individual message, deletes single message",
"androidKey": "conversation_context__menu_delete_message",
"ignoreCase": true
},
"deleteMessages": {
"message": "Delete Messages",
"description": "Menu item for deleting messages, title case."
},
"deleteMessageForEveryone": {
"message": "Delete Message For Everyone",
"description": "Menu item for deleting messages, title case."
},
"deleteMessagesForEveryone": {
"message": "Delete Messages For Everyone",
"description": "Menu item for deleting messages, title case."
},
"deleteForEveryone": {
"message": "Delete For Everyone",
"description": "Menu item for deleting messages, title case."
},
"deletePublicConversationConfirmation": {
"message": "Permanently delete the messages locally from this open group?",
"description": "Confirmation dialog text that asks the user if they really wish to delete the open group messages locally. Answer buttons use the strings 'ok' and 'cancel'. The deletion is permanent, i.e. it cannot be undone."
},
"deleteConversationConfirmation": {
"message": "Permanently delete the messages in this conversation?",
"description": "Confirmation dialog text that asks the user if they really wish to delete the conversation. Answer buttons use the strings 'ok' and 'cancel'. The deletion is permanent, i.e. it cannot be undone."
},
"clearAllData": {
"message": "Clear All Data",
"description": "Text for button in settings view to delete account",
"androidKey": "dialog_clear_all_data_title"
},
"deleteAccountWarning": {
"message": "This will permanently delete your messages, sessions, and contacts.",
"description": "Warning for account deletion in settings view",
"androidKey": "dialog_clear_all_data_explanation"
},
"deleteContactConfirmation": {
"message": "Are you sure you want to delete this conversation?",
"description": "Confirmation dialog text that tells the user what will happen if they delete the contact.",
"androidKey": "activity_home_delete_conversation_dialog_message"
},
"quoteThumbnailAlt": {
"message": "Thumbnail of image from quoted message",
"description": "Used in alt tag of thumbnail images inside of an embedded message quote"
},
"imageAttachmentAlt": {
"message": "Image attached to message",
"description": "Used in alt tag of image attachment"
},
"videoAttachmentAlt": {
"message": "Screenshot of video attached to message",
"description": "Used in alt tag of video attachment preview"
},
"lightboxImageAlt": {
"message": "Image sent in conversation",
"description": "Used in the alt tag for the image shown in a full-screen lightbox view"
},
"imageCaptionIconAlt": {
"message": "Icon showing that this image has a caption",
"description": "Used for the icon layered on top of an image in message bubbles"
},
"addACaption": {
"message": "Add a caption...",
"description": "Used as the placeholder text in the caption editor text field",
"androidKey": "MediaSendActivity_add_a_caption"
},
"copy": {
"message": "Copy",
"description": "Copy to clipboard button text",
"androidKey": "copy"
},
"copySessionID": {
"message": "Copy Session ID",
"description": "Copy to clipboard session ID",
"androidKey": "activity_conversation_menu_copy_session_id"
},
"save": {
"message": "Save",
"description": "Used as a 'commit changes' button in the Caption Editor for outgoing image attachments",
"androidKey": "media_preview__save_title"
},
"saved": {
"message": "Saved",
"description": "Used to display when an action was saved."
},
"emojiAlt": {
"message": "Emoji image of '$title$'",
"description": "Used in the alt tag of all emoji images",
"placeholders": {
"title": {
"content": "$1",
"example": "grinning"
}
}
},
"linkNewDevice": {
"message": "Link New Device",
"description": "The menu option shown in Session iOS to add a new linked device",
"androidKey": "device_list_fragment__link_new_device",
"ignoreCase": true
},
"permissions": {
"message": "Permissions",
"description": "Header for permissions section of settings"
},
"general": {
"message": "General",
"description": "Header for general options on the settings screen"
},
"linkPreviewsTitle": {
"message": "Send Link Previews",
"description": "Option to control creation and send of link previews in setting screen",
"androidKey": "preferences__send_link_previews",
"ignoreCase": true
},
"linkPreviewDescription": {
"message": "Previews are supported for Imgur, Instagram, Pinterest, Reddit, and YouTube links",
"description": "Description shown for the Link Preview option ",
"androidKey": "preferences__previews_are_supported_for"
},
"linkPreviewsConfirmMessage": {
"message": "You will not have full metadata protection when sending or receiving link previews."
},
"mediaPermissionsTitle": {
"message": "Microphone and Camera"
},
"mediaPermissionsDescription": {
"message": "Allow access to camera and microphone",
"description": "Description of the media permission description"
},
"spellCheckTitle": {
"message": "Spell Check",
"description": "Description of the media permission description"
},
"spellCheckDescription": {
"message": "Enable spell check of text entered in message composition box",
"description": "Description of the media permission description"
},
"spellCheckDirty": {
"message": "You must restart Session to apply your new settings",
"description": "Shown when the user changes their spellcheck setting to indicate that they must restart Session."
},
"notifications": {
"message": "Notifications",
"description": "Header for notification settings",
"androidKey": "preferences__notifications"
},
"readReceiptSettingDescription": {
"message": "See and share when messages have been read (enables read receipts in all sessions).",
"description": "Description of the read receipts setting"
},
"readReceiptSettingTitle": {
"message": "Read Receipts",
"description": "Title of the read receipts setting",
"androidKey": "preferences__read_receipts",
"ignoreCase": true
},
"typingIndicatorsSettingDescription": {
"message": "See and share when messages are being typed (applies to all sessions).",
"description": "Description of the typing indicators setting"
},
"typingIndicatorsSettingTitle": {
"message": "Typing Indicators",
"description": "Title of the typing indicators setting",
"androidKey": "preferences__typing_indicators",
"ignoreCase": true
},
"zoomFactorSettingTitle": {
"message": "Zoom Factor",
"description": "Title of the Zoom Factor setting"
},
"notificationSettingsDialog": {
"message": "When messages arrive, display notifications that reveal...",
"description": "Explain the purpose of the notification settings"
},
"disableNotifications": {
"message": "Mute notifications",
"description": "Label for disabling notifications",
"androidKey": "conversation_unmuted__mute_notifications"
},
"nameAndMessage": {
"message": "Name and content",
"description": "Label for setting notifications to display name and message text"
},
"noNameOrMessage": {
"message": "No name or content",
"description": "Label for setting notifications to display no name and no message text"
},
"nameOnly": {
"message": "Name Only",
"description": "Label for setting notifications to display sender name only"
},
"newMessage": {
"message": "New Message",
"description": "Displayed in notifications for only 1 message",
"androidKey": "activity_conversation_default_hint"
},
"newMessages": {
"message": "New Messages",
"description": "Displayed in notifications for multiple messages"
},
"notificationMostRecentFrom": {
"message": "Most recent from: $name$",
"description": "Displayed in notifications when setting is 'name only' and more than one message is waiting",
"androidKey": "MessageNotifier_most_recent_from_s",
"androidReplace": {
"%1$s": "$name$"
}
},
"notificationFrom": {
"message": "From:",
"description": "Displayed in notifications when setting is 'name only' and one message is waiting",
"androidKey": "message_details_header__from"
},
"notificationMostRecent": {
"message": "Most recent:",
"description": "Displayed in notifications when setting is 'name and message' and more than one message is waiting"
},
"sendFailed": {
"message": "Send Failed",
"description": "Shown on outgoing message if it fails to send",
"androidKey": "conversation_item_sent__send_failed_indicator_description"
},
"learnMore": {
"message": "Learn more about verifying safety numbers",
"description": "Text that links to a support article on verifying safety numbers"
},
"expiredWarning": {
"message": "This version of Session has expired. Please upgrade to the latest version to continue messaging.",
"description": "Warning notification that this version of the app has expired"
},
"clockOutOfSync": {
"message": "Your clock is out of sync. Please update your clock and try again.",
"description": "Notifcation that user's clock is out of sync with Loki's servers."
},
"upgrade": {
"message": "Upgrade",
"description": "Label text for button to upgrade the app to the latest version"
},
"mediaMessage": {
"message": "Media message",
"description": "Description of a message that has an attachment and no text, displayed in the conversation list as a preview.",
"androidKey": "ThreadRecord_media_message"
},
"timestamp_s": {
"message": "Now",
"description": "Brief timestamp for messages sent less than a minute ago. Displayed in the conversation list and message bubble.",
"androidKey": "DateUtils_just_now"
},
"timestamp_m": {
"message": "1 minute",
"description": "Brief timestamp for messages sent about one minute ago. Displayed in the conversation list and message bubble."
},
"timestamp_h": {
"message": "1 hour",
"description": "Brief timestamp for messages sent about one hour ago. Displayed in the conversation list and message bubble."
},
"timestampFormat_M": {
"message": "MMM D",
"description": "Timestamp format string for displaying month and day (but not the year) of a date within the current year, ex: use 'MMM D' for 'Aug 8', or 'D MMM' for '8 Aug'."
},
"messageBodyTooLong": {
"message": "Message body is too long.",
"description": "Shown if the user tries to send more than MAX_MESSAGE_BODY_LENGTH chars"
},
"messageBodyMissing": {
"message": "Please enter a message body.",
"description": "Shown if the user tries to send an empty message (and no attachments)"
},
"unblockToSend": {
"message": "Unblock this contact to send a message.",
"description": "Brief message shown when trying to message a blocked number"
},
"unblockGroupToSend": {
"message": "This group is blocked. Unlock it if you would like to send a message.",
"description": "Brief message shown when trying to message a blocked group"
},
"youChangedTheTimer": {
"message": "You set the disappearing message timer to $time$",
"description": "Message displayed when you change the message expiration timer in a conversation.",
"placeholders": {
"time": {
"content": "$1",
"example": "10m"
}
},
"androidKey": "MessageRecord_you_set_disappearing_message_time_to_s",
"androidReplace": {
"%1$s": "$time$"
}
},
"timerSetOnSync": {
"message": "Updated disappearing message timer to $time$",
"description": "Message displayed when timer is set on initial link of desktop device.",
"placeholders": {
"time": {
"content": "$1",
"example": "10m"
}
}
},
"theyChangedTheTimer": {
"message": "$name$ set the disappearing message timer to $time$",
"description": "Message displayed when someone else changes the message expiration timer in a conversation.",
"placeholders": {
"name": {
"content": "$1",
"example": "Bob"
},
"time": {
"content": "$2",
"example": "10m"
}
},
"androidKey": "MessageRecord_s_set_disappearing_message_time_to_s",
"androidReplace": {
"%1$s": "$name$",
"%2$s": "$time$"
}
},
"timerOption_0_seconds": {
"message": "Off",
"description": "Label for option to turn off message expiration in the timer menu",
"androidKey": "expiration_off"
},
"timerOption_5_seconds": {
"message": "5 seconds",
"description": "Label for a selectable option in the message expiration timer menu"
},
"timerOption_10_seconds": {
"message": "10 seconds",
"description": "Label for a selectable option in the message expiration timer menu"
},
"timerOption_30_seconds": {
"message": "30 seconds",
"description": "Label for a selectable option in the message expiration timer menu"
},
"timerOption_1_minute": {
"message": "1 minute",
"description": "Label for a selectable option in the message expiration timer menu"
},
"timerOption_5_minutes": {
"message": "5 minutes",
"description": "Label for a selectable option in the message expiration timer menu"
},
"timerOption_30_minutes": {
"message": "30 minutes",
"description": "Label for a selectable option in the message expiration timer menu"
},
"timerOption_1_hour": {
"message": "1 hour",
"description": "Label for a selectable option in the message expiration timer menu"
},
"timerOption_6_hours": {
"message": "6 hours",
"description": "Label for a selectable option in the message expiration timer menu"
},
"timerOption_12_hours": {
"message": "12 hours",
"description": "Label for a selectable option in the message expiration timer menu"
},
"timerOption_1_day": {
"message": "1 day",
"description": "Label for a selectable option in the message expiration timer menu"
},
"timerOption_1_week": {
"message": "1 week",
"description": "Label for a selectable option in the message expiration timer menu"
},
"disappearingMessages": {
"message": "Disappearing messages",
"description": "Conversation menu option to enable disappearing messages",
"androidKey": "conversation_expiring_off__disappearing_messages"
},
"changeNickname": {
"message": "Change Nickname",
"description": "Conversation menu option to change user nickname"
},
"clearNickname": {
"message": "Clear nickname",
"description": "Conversation menu option to clear user nickname"
},
"timerOption_0_seconds_abbreviated": {
"message": "off",
"description": "Short format indicating current timer setting in the conversation list snippet",
"androidKey": "ApplicationPreferencesActivity_off"
},
"timerOption_5_seconds_abbreviated": {
"message": "5s",
"description": "Very short format indicating current timer setting in the conversation header"
},
"timerOption_10_seconds_abbreviated": {
"message": "10s",
"description": "Very short format indicating current timer setting in the conversation header"
},
"timerOption_30_seconds_abbreviated": {
"message": "30s",
"description": "Very short format indicating current timer setting in the conversation header"
},
"timerOption_1_minute_abbreviated": {
"message": "1m",
"description": "Very short format indicating current timer setting in the conversation header"
},
"timerOption_5_minutes_abbreviated": {
"message": "5m",
"description": "Very short format indicating current timer setting in the conversation header"
},
"timerOption_30_minutes_abbreviated": {
"message": "30m",
"description": "Very short format indicating current timer setting in the conversation header"
},
"timerOption_1_hour_abbreviated": {
"message": "1h",
"description": "Very short format indicating current timer setting in the conversation header"
},
"timerOption_6_hours_abbreviated": {
"message": "6h",
"description": "Very short format indicating current timer setting in the conversation header"
},
"timerOption_12_hours_abbreviated": {
"message": "12h",
"description": "Very short format indicating current timer setting in the conversation header"
},
"timerOption_1_day_abbreviated": {
"message": "1d",
"description": "Very short format indicating current timer setting in the conversation header"
},
"timerOption_1_week_abbreviated": {
"message": "1w",
"description": "Very short format indicating current timer setting in the conversation header"
},
"disappearingMessagesDisabled": {
"message": "Disappearing messages disabled",
"description": "Displayed in the left pane when the timer is turned off",
"androidKey": "ThreadRecord_disappearing_messages_disabled"
},
"disabledDisappearingMessages": {
"message": "$name$ disabled disappearing messages.",
"description": "Displayed in the conversation list when the timer is turned off",
"placeholders": {
"name": {
"content": "$1",
"example": "John"
}
},
"androidKey": "MessageRecord_s_disabled_disappearing_messages",
"androidReplace": {
"%1$s": "$name$"
}
},
"youDisabledDisappearingMessages": {
"message": "You disabled disappearing messages.",
"description": "Displayed in the conversation list when the timer is turned off",
"androidKey": "MessageRecord_you_disabled_disappearing_messages"
},
"timerSetTo": {
"message": "Disappearing message time set to $time$",
"description": "Displayed in the conversation list when the timer is updated by some automatic action, or in the left pane",
"placeholders": {
"time": {
"content": "$1",
"example": "1w"
}
},
"androidKey": "ThreadRecord_disappearing_message_time_updated_to_s",
"androidReplace": {
"%s": "$time$"
}
},
"safetyNumber": {
"message": "Safety Number",
"description": "Title to the safety number view"
},
"safetyNumberChanged": {
"message": "Safety number changed",
"description": "A notification shown in the conversation when a contact reinstalls",
"androidKey": "ThreadRecord_safety_number_changed"
},
"safetyNumberChangedGroup": {
"message": "Your safety number with $name$ has changed.",
"description": "A notification shown in a group conversation when a contact reinstalls, showing the contact name",
"placeholders": {
"name": {
"content": "$1",
"example": "John"
}
},
"androidKey": "ThreadRecord_your_safety_number_with_s_has_changed",
"androidReplace": {
"%s": "$name$"
}
},
"verifyNewNumber": {
"message": "Verify Safety Number",
"description": "Label on button included with safety number change notification in the conversation",
"androidKey": "AndroidManifest__verify_safety_number",
"ignoreCase": true
},
"yourSafetyNumberWith": {
"message": "Your safety number with $name$:",
"description": "Heading for safety number view",
"placeholders": {
"name": {
"content": "$1",
"example": "John"
}
}
},
"themeToggleTitle": {
"message": "Light",
"androidKey": "preferences__light_theme"
},
"themeToggleDescription": {
"message": "Choose the theme best suited to you"
},
"noteToSelf": {
"message": "Note to Self",
"description": "Name for the conversation with your own phone number",
"androidKey": "note_to_self"
},
"hideMenuBarTitle": {
"message": "Hide Menu Bar",
"description": "Label text for menu bar visibility setting"
},
"hideMenuBarDescription": {
"message": "Toggle system menu bar visibility",
"description": "Label text for menu bar visibility setting"
},
"startConversation": {
"message": "Start New Conversation",
"description": "Label underneath number a user enters that is not an existing contact"
},
"invalidNumberError": {
"message": "Invalid public key",
"description": "When a person inputs a public key that is invalid",
"androidKey": "fragment_new_conversation_invalid_public_key_message"
},
"successUnlinked": {
"message": "Your device was unlinked successfully",
"androidKey": "activity_landing_device_unlinked_dialog_title"
},
"autoUpdateSettingTitle": {
"message": "Auto Update"
},
"autoUpdateSettingDescription": {
"message": "Automatically check for updates on launch"
},
"autoUpdateNewVersionTitle": {
"message": "Session update available"
},
"autoUpdateNewVersionMessage": {
"message": "There is a new version of Session available."
},
"autoUpdateNewVersionInstructions": {
"message": "Press Restart Session to apply the updates."
},
"autoUpdateRestartButtonLabel": {
"message": "Restart Session"
},
"autoUpdateLaterButtonLabel": {
"message": "Later",
"androidKey": "RatingManager_later"
},
"autoUpdateDownloadButtonLabel": {
"message": "Download",
"androidKey": "audio_view__download_accessibility_description"
},
"autoUpdateDownloadedMessage": {
"message": "The new update has been downloaded."
},
"autoUpdateDownloadInstructions": {
"message": "Would you like to download the update?"
},
"leftTheGroup": {
"message": "$name$ has left the group.",
"description": "Shown in the conversation history when a single person leaves the group",
"placeholders": {
"name": {
"content": "$1",
"example": "Bob"
}
},
"androidKey": "ConversationItem_group_action_left",
"androidReplace": {
"%1$s": "$name$"
}
},
"multipleLeftTheGroup": {
"message": "$name$ left the group",
"description": "Shown in the conversation history when multiple people leave the group",
"placeholders": {
"name": {
"content": "$1",
"example": "Alice, Bob"
}
}
},
"updatedTheGroup": {
"message": "Group updated",
"description": "Shown in the conversation history when someone updates the group",
"androidKey": "ThreadRecord_group_updated"
},
"titleIsNow": {
"comment": "Do not add a period here, used as a fragment and will break unit test",
"message": "Group name is now '$name$'.",
"description": "Shown in the conversation history when someone changes the title of the group",
"placeholders": {
"name": {
"content": "$1",
"example": "Book Club"
}
},
"androidKey": "GroupUtil_group_name_is_now",
"androidReplace": {
"%1$s": "$name$"
}
},
"joinedTheGroup": {
"message": "$name$ joined the group.",
"description": "Shown in the conversation history when a single person joins the group",
"placeholders": {
"name": {
"content": "$1",
"example": "Alice"
}
},
"androidKey": "GroupUtil_joined_the_group",
"androidKeyCount": "one",
"androidReplace": {
"%1$s": "$name$"
}
},
"multipleJoinedTheGroup": {
"message": "$name$ joined the group.",
"description": "Shown in the conversation history when more than one person joins the group",
"placeholders": {
"name": {
"content": "$1",
"example": "Alice, Bob"
}
},
"androidKey": "GroupUtil_joined_the_group",
"androidKeyCount": "other",
"androidReplace": {
"%1$s": "$name$"
}
},
"kickedFromTheGroup": {
"message": "$name$ was removed from the group.",
"description": "Shown in the conversation history when a single person is removed from the group",
"placeholders": {
"name": {
"content": "$1",
"example": "Alice"
}
},
"androidKey": "GroupUtil_removed_from_the_group",
"androidKeyCount": "one",
"androidReplace": {
"%1$s": "$name$"
}
},
"multipleKickedFromTheGroup": {
"message": "$name$ were removed from the group.",
"description": "Shown in the conversation history when more than one person is removed from the group",
"placeholders": {
"names": {
"content": "$1",
"example": "Alice, Bob"
}
},
"androidKey": "GroupUtil_removed_from_the_group",
"androidKeyCount": "other",
"androidReplace": {
"%1$s": "$name$"
}
},
"blockUser": {
"message": "Block",
"androidKey": "RecipientPreferenceActivity_block"
},
"unblockUser": {
"message": "Unblock",
"androidKey": "RecipientPreferenceActivity_unblock"
},
"unblocked": {
"message": "Unblocked"
},
"blockedSettingsTitle": {
"message": "Blocked contacts",
"description": "Shown in the settings page as the heading for the blocked user settings",
"androidKey": "preferences_app_protection__blocked_contacts"
},
"banUser": {
"message": "Ban User",
"description": "Ban user from open group by public key."
},
"banUserConfirm": {
"message": "Are you sure you want to ban user?",
"description": "Message shown when confirming user ban."
},
"userBanned": {
"message": "User banned successfully",
"description": "Toast on succesful user ban."
},
"userBanFailed": {
"message": "Ban failed!",
"description": "Toast on unsuccesful user ban."
},
"leaveGroup": {
"message": "Leave Group",
"description": "Button action that the user can click to leave the group",
"androidKey": "conversation__menu_leave_group",
"ignoreCase": true
},
"leaveAndRemoveForEveryone": {
"message": "Leave Group and remove for everyone",
"description": "Button action confirmation that the user can click to leave the group as an admin"
},
"leaveGroupConfirmation": {
"message": "Are you sure you want to leave this group?",
"description": "Confirmation dialog text that tells the user what will happen if they leave the group.",
"androidKey": "activity_home_leave_group_dialog_message"
},
"leaveGroupConfirmationAdmin": {
"message": "As you are the admin of this group, if you leave it it will be removed for every current members. Are you sure you want to leave this group?",
"description": "Confirmation dialog text that tells the user what will happen if they leave the group as admin."
},
"cannotRemoveCreatorFromGroup": {
"message": "Cannot remove this user",
"description": "Toast title when the user tries to remove the creator from a closed group v2 member list."
},
"cannotRemoveCreatorFromGroupDesc": {
"message": "You cannot remove this user as they are the creator of the group.",
"description": "Toast description when the user tries to remove the creator from a closed group v2 member list."
},
"userNeedsToHaveJoined": {
"message": "User needs to have joined",
"description": "Toast title when the user tries to remove the creator from a closed group v2 member list."
},
"userNeedsToHaveJoinedDesc": {
"message": "An error happened. The user needs to have already joined the server for this ADD to work.",
"description": "Toast description when the user adds a moderator for an open group."
},
"addToTheListBelow": {
"message": "Add to the list below",
"description": "Button action to add a moderator by pubkey"
},
"noContactsForGroup": {
"message": "You don't have any contacts yet",
"androidKey": "activity_create_closed_group_empty_state_message"
},
"copyMessage": {
"message": "Copy message text",
"description": "Button action that the user can click to copy their public keys"
},
"selectMessage": {
"message": "Select message",
"description": "Button action that the user can click to select the message"
},
"editGroup": {
"message": "Edit group",
"description": "Button action that the user can click to edit a group name (open)",
"androidKey": "conversation__menu_edit_group"
},
"editGroupName": {
"message": "Edit group name",
"description": "Button action that the user can click to edit a group name (closed)"
},
"updateGroupDialogTitle": {
"message": "Updating $name$...",
"description": "Title for the dialog box used to update an existing private group",
"androidKey": "GroupCreateActivity_updating_group",
"androidReplace": {
"%1$s": "$name$"
}
},
"showRecoveryPhrase": {
"message": "Recovery Phrase",
"description": "Button action that the user can click to view their unique recovery phrase",
"androidKey": "activity_settings_recovery_phrase_button_title"
},
"yourSessionID": {
"message": "Your Session ID",
"androidKey": "your_session_id"
},
"setAccountPasswordTitle": {
"message": "Set Account Password",
"description": "Prompt for user to set account password in settings view"
},
"setAccountPasswordDescription": {
"message": "Require password to unlock Sessions screen. You can still receive message notifications while Screen Lock is enabled. Sessions notification settings allow you to customize information that is displayed",
"description": "Description for set account password setting view"
},
"changeAccountPasswordTitle": {
"message": "Change Account Password",
"description": "Prompt for user to change account password in settings view"
},
"changeAccountPasswordDescription": {
"message": "Change your password",
"description": "Description for change account password setting view"
},
"removeAccountPasswordTitle": {
"message": "Remove Account Password",
"description": "Prompt for user to remove account password in settings view"
},
"removeAccountPasswordDescription": {
"message": "Remove the password associated with your account",
"description": "Description for remove account password setting view"
},
"enterPassword": {
"message": "Please enter your password"
},
"confirmPassword": {
"message": "Confirm password"
},
"pasteLongPasswordToastTitle": {
"message": "The clipboard content exceeds the maximum password length of $max_pwd_len$ characters.",
"description": "Shown when user pastes a password which is longer than MAX_PASSWORD_LEN"
},
"showRecoveryPhrasePasswordRequest": {
"message": "Please enter your password",
"description": "Request for user to enter password to show recovery phrase."
},
"recoveryPhraseSavePromptMain": {
"message": "Your recovery phrase is the master key to your Session ID — you can use it to restore your Session ID if you lose access to your device. Store your recovery phrase in a safe place, and don't give it to anyone.",
"description": "Prompt on recovery phrase modal requesting user to save their recovery phrase. Line one",
"androidKey": "activity_seed_explanation"
},
"invalidOpenGroupUrl": {
"message": "Invalid URL",
"description": "Error message when no server url entered",
"androidKey": "fragment_add_public_chat_invalid_url_message"
},
"copiedToClipboard": {
"message": "Copied to clipboard",
"androidKey": "copied_to_clipboard"
},
"passwordViewTitle": {
"message": "Type In Your Password",
"description": "The title shown when user needs to type in a password to unlock the messenger"
},
"unlock": {
"message": "Unlock",
"androidKey": "prompt_passphrase_activity__unlock"
},
"password": {
"message": "Password",
"description": "Placeholder for password input"
},
"setPassword": {
"message": "Set Password",
"description": "Button action that the user can click to set a password"
},
"changePassword": {
"message": "Change Password",
"description": "Button action that the user can click to change a password"
},
"removePassword": {
"message": "Remove Password",
"description": "Button action that the user can click to remove a password"
},
"maxPasswordAttempts": {
"message": "Invalid Password. Would you like to reset the database?"
},
"typeInOldPassword": {
"message": "Please type in your old password"
},
"invalidOldPassword": {
"message": "Old password is invalid"
},
"invalidPassword": {
"message": "Invalid password"
},
"noGivenPassword": {
"message": "Please enter your password"
},
"passwordsDoNotMatch": {
"message": "Passwords do not match"
},
"setPasswordInvalid": {
"message": "Passwords do not match"
},
"changePasswordInvalid": {
"message": "The old password you entered is incorrect"
},
"removePasswordInvalid": {
"message": "Incorrect password"
},
"setPasswordTitle": {
"message": "Set Password"
},
"changePasswordTitle": {
"message": "Changed Password"
},
"removePasswordTitle": {
"message": "Removed Password"
},
"setPasswordToastDescription": {
"message": "Your password has been set. Please keep it safe."
},
"changePasswordToastDescription": {
"message": "Your password has been changed. Please keep it safe."
},
"removePasswordToastDescription": {
"message": "You have removed your password."
},
"publicChatExists": {
"message": "You are already connected to this open group"
},
"connectToServerFail": {
"message": "Couldn't join group",
"androidKey": "activity_join_public_chat_error"
},
"connectingToServer": {
"message": "Connecting...",
"androidKey": "CallNotificationBuilder_connecting"
},
"connectToServerSuccess": {
"message": "Successfully connected to open group"
},
"setPasswordFail": {
"message": "Failed to set password"
},
"passwordLengthError": {
"message": "Password must be between 6 and 64 characters long",
"description": "Error string shown to the user when password doesn't meet length criteria"
},
"passwordTypeError": {
"message": "Password must be a string",
"description": "Error string shown to the user when password is not a string"
},
"passwordCharacterError": {
"message": "Password must only contain letters, numbers and symbols",
"description": "Error string shown to the user when password contains an invalid character"
},
"remove": {
"message": "Remove",
"androidKey": "ClearProfileActivity_remove"
},
"invalidSessionId": {
"message": "Invalid Session ID",
"description": "Error string shown when user types an invalid pubkey hex string",
"androidKey": "invalid_session_id"
},
"invalidPubkeyFormat": {
"message": "Invalid Pubkey Format",
"description": "Error string shown when user types an invalid pubkey format"
},
"lnsMappingNotFound": {
"message": "There is no LNS mapping associated with this name",
"description": "Shown in toast if user enters an unknown LNS name"
},
"lnsLookupTimeout": {
"message": "LNS lookup timed out",
"description": "Shown in toast if user enters an unknown LNS name"
},
"lnsTooFewNodes": {
"message": "Not enough nodes currently active for LNS lookup"
},
"emptyGroupNameError": {
"message": "Please enter a group name",
"description": "Error message displayed on empty group name",
"androidKey": "activity_create_closed_group_group_name_missing_error"
},
"editProfileModalTitle": {
"message": "Profile",
"description": "Title for the Edit Profile modal"
},
"groupNamePlaceholder": {
"message": "Group Name",
"androidKey": "GroupCreateActivity_group_name_hint",
"ignoreCase": true
},
"inviteContacts": {
"message": "Invite Contacts",
"androidKey": "text_secure_normal__invite_friends"
},
"addModerators": {
"message": "Add Moderators"
},
"removeModerators": {
"message": "Remove Moderators"
},
"addAsModerator": {
"message": "Add As Moderator"
},
"removeFromModerators": {
"message": "Remove From Moderators"
},
"add": {
"message": "Add",
"androidKey": "fragment_add_public_chat_add_button_title_1"
},
"groupInvitation": {
"message": "Group Invitation"
},
"addingContacts": {
"message": "Adding contacts to"
},
"noContactsToAdd": {
"message": "No contacts to add"
},
"noMembersInThisGroup": {
"message": "No other members in this group"
},
"noModeratorsToRemove": {
"message": "no moderators to remove"
},
"createAccount": {
"message": "Create Account"
},
"signIn": {
"message": "Sign In"
},
"yourUniqueSessionID": {
"message": "Say hello to your Session ID",
"androidKey": "activity_register_title"
},
"allUsersAreRandomly...": {
"message": "Your Session ID is the unique address people can use to contact you on Session. With no connection to your real identity, your Session ID is totally anonymous and private by design.",
"androidKey": "activity_register_explanation"
},
"getStarted": {
"message": "Get started"
},
"generateSessionID": {
"message": "Create Session ID",
"androidKey": "activity_landing_register_button_title"
},
"recoveryPhrase": {
"message": "Recovery Phrase",
"androidKey": "activity_settings_recovery_phrase_button_title"
},
"enterRecoveryPhrase": {
"message": "Enter your recovery phrase",
"androidKey": "activity_restore_seed_edit_text_hint"
},
"displayName": {
"message": "Display Name",
"androidKey": "activity_display_name_name_edit_text_label"
},
"anonymous": {
"message": "Anonymous",
"description": "The name of currently unidentified users"
},
"enterDisplayName": {
"message": "Enter a display name",
"androidKey": "activity_display_name_edit_text_hint"
},
"enterOptionalPassword": {
"message": "Enter password (optional)"
},
"devicePairingHeaderReassure": {
"message": "Linking may take up to one minute to register on your primary device. Please be patient."
},
"devicePairingHeader_Step1": {
"message": "Open Session on your other device."
},
"devicePairingHeader_Step2": {
"message": "Navigate to the <strong>Devices</strong> section in your user account screen."
},
"devicePairingHeader_Step3": {
"message": "Select <strong>Link New Device</strong> to prepare your other device for pairing."
},
"devicePairingHeader_Step4": {
"message": "Enter your <strong>Session ID</strong> below to link this device to your <strong>Session ID</strong>."
},
"enterSessionIDHere": {
"message": "Enter your Session ID",
"androidKey": "fragment_enter_session_id_edit_text_hint"
},
"continueYourSession": {
"message": "Continue Your Session",
"androidKey": "activity_landing_restore_button_title"
},
"linkDevice": {
"message": "Link Device",
"androidKey": "activity_link_device_title"
},
"restoreUsingRecoveryPhrase": {
"message": "Restore your account",
"androidKey": "activity_restore_title"
},
"linkDeviceToExistingAccount": {
"message": "Link Device to Existing Session ID"
},
"or": {
"message": "or"
},
"ByUsingThisService...": {
"message": "By using this service, you agree to our <a href=\"https://getsession.org/legal/#tos\">Terms of Service</a> and <a href=\"https://getsession.org/privacy-policy/\" target=\"_blank\">Privacy Policy</a>"
},
"beginYourSession": {
"message": "Begin<br />your<br />Session."
},
"welcomeToYourSession": {
"message": "Welcome to your Session"
},
"newSession": {
"message": "New Session",
"androidKey": "activity_create_private_chat_title"
},
"searchFor...": {
"message": "Search for conversations, contacts, and messages",
"androidKey": "SearchToolbar_search_for_conversations_contacts_and_messages"
},
"enterSessionID": {
"message": "Enter Session ID",
"androidKey": "activity_link_device_enter_session_id_tab_title"
},
"enterSessionIDOfRecipient": {
"message": "Enter Session ID of recipient",
"androidKey": "fragment_enter_public_key_edit_text_hint"
},
"usersCanShareTheir...": {
"message": "Users can share their Session ID by going into their account settings and tapping \"Share Session ID\", or by sharing their QR code.",
"androidKey": "fragment_enter_public_key_explanation"
},
"message": {
"message": "Message"
},
"addContact": {
"message": "Add Contact"
},
"appearanceSettingsTitle": {
"message": "Appearance",
"androidKey": "preferences__appearance"
},
"permissionSettingsTitle": {
"message": "Permissions"
},
"privacySettingsTitle": {
"message": "Privacy",
"androidKey": "recipient_preferences__privacy"
},
"notificationsSettingsTitle": {
"message": "Notifications",
"androidKey": "preferences__notifications"
},
"devicesSettingsTitle": {
"message": "Linked devices",
"androidKey": "preferences__linked_devices"
},
"recoveryPhraseEmpty": {
"message": "Enter your recovery phrase",
"androidKey": "activity_restore_seed_edit_text_hint"
},
"displayNameEmpty": {
"message": "Please pick a display name",
"androidKey": "activity_display_name_display_name_missing_error"
},
"members": {
"message": "$count$ members",
"placeholders": {
"count": {
"content": "$1",
"example": "26"
}
}
},
"joinOpenGroup": {
"message": "Join Open Group",
"androidKey": "activity_join_public_chat_title"
},
"newClosedGroup": {
"message": "New Closed Group",
"androidKey": "activity_create_closed_group_title"
},
"createClosedGroupNamePrompt": {
"message": "Group Name",
"androidKey": "GroupCreateActivity_group_name_hint",
"ignoreCase": true
},
"createClosedGroupPlaceholder": {
"message": "Enter a group name",
"androidKey": "activity_create_closed_group_edit_text_hint"
},
"openGroupURL": {
"message": "Open Group URL",
"androidKey": "activity_join_public_chat_enter_group_url_tab_title"
},
"enterAnOpenGroupURL": {
"message": "Enter an open group URL",
"androidKey": "fragment_enter_chat_url_edit_text_hint"
},
"next": {
"message": "Next",
"androidKey": "RegistrationActivity_next"
},
"description": {
"message": "Description"
},
"secretWords": {
"message": "Please check that the words below match the ones shown on your other device",
"androidKey": "view_device_linking_explanation_2"
},
"pairingDevice": {
"message": "Linking Device",
"androidKey": "DeviceProvisioningActivity_content_progress_title",
"ignoreCase": true
},
"devicePairedSuccessfully": {
"message": "Your device has been linked successfully",
"androidKey": "view_device_linking_explanation_3"
},
"invalidGroupNameTooShort": {
"message": "Please enter a group name",
"androidKey": "activity_create_closed_group_group_name_missing_error"
},
"invalidGroupNameTooLong": {
"message": "Please enter a shorter group name",
"androidKey": "activity_create_closed_group_group_name_too_long_error"
},
"pickClosedGroupMember": {
"message": "Please pick at least 1 group member",
"androidKey": "activity_create_closed_group_not_enough_group_members_error"
},
"closedGroupMaxSize": {
"message": "A closed group cannot have more than 100 members",
"androidKey": "activity_create_closed_group_too_many_group_members_error"
},
"noBlockedContacts": {
"message": "No blocked contacts",
"androidKey": "blocked_contacts_fragment__no_blocked_contacts"
},
"userAddedToModerators": {
"message": "User added to moderator list"
},
"userRemovedFromModerators": {
"message": "User removed from moderator list"
},
"errorHappenedWhileRemovingModerator": {
"message": "An error happened"
},
"errorHappenedWhileRemovingModeratorDesc": {
"message": "An error happened while removing this user from the moderator list."
}
}