7285 lines
262 KiB
JSON
7285 lines
262 KiB
JSON
{
|
||
"softwareAcknowledgments": {
|
||
"message": "Software Acknowledgments",
|
||
"description": "Shown in the about box for the link to software acknowledgments"
|
||
},
|
||
"privacyPolicy": {
|
||
"message": "Terms & Privacy Policy",
|
||
"description": "Shown in the about box for the link to https://signal.org/legal"
|
||
},
|
||
"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"
|
||
},
|
||
"unknownContact": {
|
||
"message": "Unknown contact",
|
||
"description": "Shown as the name of a contact if we don't have any displayable information about them"
|
||
},
|
||
"unknownGroup": {
|
||
"message": "Unknown group",
|
||
"description": "Shown as the name of a group if we don't have any information about it"
|
||
},
|
||
"databaseError": {
|
||
"message": "Database Error",
|
||
"description": "Shown in a popup if the database cannot start up properly"
|
||
},
|
||
"deleteAndRestart": {
|
||
"message": "Delete all data and restart",
|
||
"description": "Shown in a popup if the database cannot start up properly; allows user to delete database and restart"
|
||
},
|
||
"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."
|
||
},
|
||
"mainMenuCreateStickers": {
|
||
"message": "Create/upload sticker pack",
|
||
"description": "The label that is used for the Create/upload sticker pack option in 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."
|
||
},
|
||
"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."
|
||
},
|
||
"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."
|
||
},
|
||
"mainMenuSettings": {
|
||
"message": "Preferences…",
|
||
"description": "The label that is used for the Preferences menu in the program main menu. This should be consistent with the standard naming for ‘Preferences’ on the operating system."
|
||
},
|
||
"appMenuServices": {
|
||
"message": "Services",
|
||
"description": "Application menu item for macOS 'Services'"
|
||
},
|
||
"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 Signal",
|
||
"description": "Application menu command to close the application"
|
||
},
|
||
"editMenuUndo": {
|
||
"message": "Undo",
|
||
"description": "Edit menu command to remove recently-typed text"
|
||
},
|
||
"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"
|
||
},
|
||
"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"
|
||
},
|
||
"editMenuSelectAll": {
|
||
"message": "Select All",
|
||
"description": "Edit menu command to select all of the text in selected text box"
|
||
},
|
||
"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 application 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"
|
||
},
|
||
"menuSetupAsNewDevice": {
|
||
"message": "Set Up as New Device",
|
||
"description": "When the application is not yet set up, menu option to start up the set up as fresh device"
|
||
},
|
||
"menuSetupAsStandalone": {
|
||
"message": "Set Up as Standalone Device",
|
||
"description": "Only available on development modes, menu option to open up the standalone device setup sequence"
|
||
},
|
||
"messageContextMenuButton": {
|
||
"message": "More actions",
|
||
"description": "Label for context button next to each message"
|
||
},
|
||
"contextMenuCopyLink": {
|
||
"message": "Copy Link",
|
||
"description": "Shown in the context menu for a link to indicate that the user can copy the link"
|
||
},
|
||
"contextMenuCopyImage": {
|
||
"message": "Copy Image",
|
||
"description": "Shown in the context menu for an image to indicate that the user can copy the image"
|
||
},
|
||
"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"
|
||
},
|
||
"avatarMenuViewArchive": {
|
||
"message": "View Archive",
|
||
"description": "One of the menu options available in the Avatar popup menu"
|
||
},
|
||
"avatarMenuChatColors": {
|
||
"message": "Chat Color",
|
||
"description": "One of the menu options available in the Avatar popup menu"
|
||
},
|
||
"avatarMenuUpdateAvailable": {
|
||
"message": "Update Signal",
|
||
"description": "One of the menu options available in the Avatar popup menu"
|
||
},
|
||
"loading": {
|
||
"message": "Loading...",
|
||
"description": "Message shown on the loading screen before we've loaded any messages"
|
||
},
|
||
"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"
|
||
}
|
||
}
|
||
},
|
||
"archivedConversations": {
|
||
"message": "Archived Conversations",
|
||
"description": "Shown in place of the search box when showing archived conversation list"
|
||
},
|
||
"LeftPane--pinned": {
|
||
"message": "Pinned",
|
||
"description": "Shown as a header for pinned conversations in the left pane"
|
||
},
|
||
"LeftPane--chats": {
|
||
"message": "Chats",
|
||
"description": "Shown as a header for non-pinned conversations in the left pane"
|
||
},
|
||
"archiveHelperText": {
|
||
"message": "These conversations are archived and will only appear in the Inbox if new messages are received.",
|
||
"description": "Shown at the top of the archived conversations list in the left pane"
|
||
},
|
||
"noArchivedConversations": {
|
||
"message": "No archived conversations.",
|
||
"description": "Shown at the top of the archived conversations list in the left pane if there is no any archived conversation"
|
||
},
|
||
"archiveConversation": {
|
||
"message": "Archive",
|
||
"description": "Shown in menu for conversation, and moves conversation out of main conversation list"
|
||
},
|
||
"markUnread": {
|
||
"message": "Mark as unread",
|
||
"description": "Shown in menu for conversation, and marks conversation as unread"
|
||
},
|
||
"moveConversationToInbox": {
|
||
"message": "Unarchive",
|
||
"description": "Undoes Archive Conversation action, and moves archived conversation back to the main conversation list"
|
||
},
|
||
"pinConversation": {
|
||
"message": "Pin Conversation",
|
||
"description": "Shown in menu for conversation, and pins the conversation to the top of the conversation list"
|
||
},
|
||
"unpinConversation": {
|
||
"message": "Unpin Conversation",
|
||
"description": "Undoes Archive Conversation action, and unpins the conversation from the top of the conversation list"
|
||
},
|
||
"pinnedConversationsFull": {
|
||
"message": "You can only pin up to 4 chats",
|
||
"description": "Shown in a toast when a user attempts to pin more than the maximum number of chats"
|
||
},
|
||
"chooseDirectory": {
|
||
"message": "Choose folder",
|
||
"description": "Button to allow the user to find a folder on disk"
|
||
},
|
||
"chooseFile": {
|
||
"message": "Choose file",
|
||
"description": "Button to allow the user to find a file on disk"
|
||
},
|
||
"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 Signal 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 Signal data. Its name should begin with 'Signal 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 Signal Desktop",
|
||
"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"
|
||
},
|
||
"selectedLocation": {
|
||
"message": "your selected location",
|
||
"description": "Message shown as the export location if we didn't capture the target directory"
|
||
},
|
||
"upgradingDatabase": {
|
||
"message": "Upgrading database. This may take some time...",
|
||
"description": "Message shown on the loading screen when we're changing database structure on first run of a new version"
|
||
},
|
||
"loadingMessages": {
|
||
"message": "Loading messages. $count$ so far...",
|
||
"description": "Message shown on the loading screen when we're catching up on the backlog of messages",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"view": {
|
||
"message": "View",
|
||
"description": "Used as a label on a button allowing user to see more information"
|
||
},
|
||
"youLeftTheGroup": {
|
||
"message": "You are no longer a member of the group.",
|
||
"description": "Displayed when a user can't send a message because they have left the group"
|
||
},
|
||
"invalidConversation": {
|
||
"message": "This group is invalid. Please create a new group.",
|
||
"description": "Displayed when a user can't send a message because something has gone wrong in the conversation."
|
||
},
|
||
"scrollDown": {
|
||
"message": "Scroll to bottom of conversation",
|
||
"description": "Alt text for button to take user down to bottom of conversation, shown when user scrolls up"
|
||
},
|
||
"messagesBelow": {
|
||
"message": "New messages below",
|
||
"description": "Alt text for button to take user down to bottom of conversation with more than one message out of screen"
|
||
},
|
||
"unreadMessage": {
|
||
"message": "1 Unread Message",
|
||
"description": "Text for unread message separator, just one message"
|
||
},
|
||
"unreadMessages": {
|
||
"message": "$count$ Unread Messages",
|
||
"description": "Text for unread message separator, with count",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"messageHistoryUnsynced": {
|
||
"message": "For your security, conversation history isn't transferred to new linked devices.",
|
||
"description": "Shown in the conversation history when a user links a new device to explain what is not supported."
|
||
},
|
||
"youMarkedAsVerified": {
|
||
"message": "You marked your Safety Number with $name$ as verified",
|
||
"description": "Shown in the conversation history when the user marks a contact as verified.",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"youMarkedAsNotVerified": {
|
||
"message": "You marked your Safety Number with $name$ as not verified",
|
||
"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"
|
||
}
|
||
}
|
||
},
|
||
"youMarkedAsVerifiedOtherDevice": {
|
||
"message": "You marked your Safety Number with $name$ as 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"
|
||
}
|
||
}
|
||
},
|
||
"youMarkedAsNotVerifiedOtherDevice": {
|
||
"message": "You marked your Safety Number with $name$ as not verified 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"
|
||
}
|
||
}
|
||
},
|
||
"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."
|
||
},
|
||
"changedRightAfterVerify": {
|
||
"message": "The safety number you are trying to verify has changed. Please review your new safety number with $name1$. Remember, this change could mean that someone is trying to intercept your communication or that $name2$ has simply reinstalled Signal.",
|
||
"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": {
|
||
"name1": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"name2": {
|
||
"content": "$2",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"changedVerificationWarning": {
|
||
"message": "The following people may have reinstalled or changed devices. Verify your safety number with them to ensure privacy.",
|
||
"description": "Shown on confirmation dialog when user attempts to send a message"
|
||
},
|
||
"safetyNumberChangeDialog__pending-messages": {
|
||
"message": "Send pending messages",
|
||
"description": "Shown on confirmation dialog when user attempts to send a message in the outbox"
|
||
},
|
||
"identityKeyErrorOnSend": {
|
||
"message": "Your safety number with $name1$ has changed. This could either mean that someone is trying to intercept your communication or that $name2$ has simply reinstalled Signal. 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": {
|
||
"name1": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"name2": {
|
||
"content": "$2",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"sendAnyway": {
|
||
"message": "Send Anyway",
|
||
"description": "Used on a warning dialog to make it clear that it might be risky to send the message."
|
||
},
|
||
"callAnyway": {
|
||
"message": "Call Anyway",
|
||
"description": "Used on a warning dialog to make it clear that it might be risky to call the conversation."
|
||
},
|
||
"continueCall": {
|
||
"message": "Continue Call",
|
||
"description": "Used on a warning dialog to make it clear that it might be risky to continue the group call."
|
||
},
|
||
"noLongerVerified": {
|
||
"message": "Your safety number with $name$ has changed and is no longer verified. Click to show.",
|
||
"description": "Shown in conversation 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": "When you click Submit, your log will be posted online for 30 days at a unique, unpublished URL. You may Save it locally first.",
|
||
"description": "Description of what will happen with your debug log"
|
||
},
|
||
"debugLogError": {
|
||
"message": "Something went wrong with the upload! Please email support@signal.org and attach your log as a text file.",
|
||
"description": "Error message a recommendations if debug log upload fails"
|
||
},
|
||
"debugLogSuccess": {
|
||
"message": "Debug log submitted",
|
||
"description": "Title of the success page for submitting a debug log"
|
||
},
|
||
"debugLogSuccessNextSteps": {
|
||
"message": "Debug log uploaded. When you contact support, copy the URL below and attach it along with a description of the problem you saw and steps to reproduce it.",
|
||
"description": "Explanation of next steps to take when submitting debug log"
|
||
},
|
||
"debugLogLogIsIncomplete": {
|
||
"message": "... to see the full log, click Save",
|
||
"description": "Shown as the text for the copy button on the debug log screen"
|
||
},
|
||
"debugLogCopy": {
|
||
"message": "Copy Link",
|
||
"description": "Shown as the text for the copy button on the debug log screen"
|
||
},
|
||
"debugLogSave": {
|
||
"message": "Save",
|
||
"description": "Shown as the text for the download button on the debug log screen"
|
||
},
|
||
"debugLogLinkCopied": {
|
||
"message": "Link Copied to Your Clipboard",
|
||
"description": "Shown in a toast to let the user know that the link to the debug log has been copied to their clipboard"
|
||
},
|
||
"reportIssue": {
|
||
"message": "Contact Support",
|
||
"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."
|
||
},
|
||
"submit": {
|
||
"message": "Submit"
|
||
},
|
||
"acceptNewKey": {
|
||
"message": "Accept",
|
||
"description": "Label for a button to accept a new safety number"
|
||
},
|
||
"verify": {
|
||
"message": "Mark as verified"
|
||
},
|
||
"unverify": {
|
||
"message": "Mark as not verified"
|
||
},
|
||
"isVerified": {
|
||
"message": "You have verified your safety number with $name$.",
|
||
"description": "Summary state shown at top of the safety number screen if user has verified contact.",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"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"
|
||
},
|
||
"newIdentity": {
|
||
"message": "New safety number",
|
||
"description": "Header for a key change dialog"
|
||
},
|
||
"identityChanged": {
|
||
"message": "Your safety number with this contact has changed. This could either mean that someone is trying to intercept your communication, or this contact simply reinstalled Signal. You may wish to verify the new safety number below."
|
||
},
|
||
"incomingError": {
|
||
"message": "Error handling incoming message"
|
||
},
|
||
"media": {
|
||
"message": "Media",
|
||
"description": "Header of the default pane in the media gallery, showing images and videos"
|
||
},
|
||
"mediaEmptyState": {
|
||
"message": "You don’t have any media in this conversation",
|
||
"description": "Message shown to user in the media gallery when there are no messages with media attachments (images or video)"
|
||
},
|
||
"allMedia": {
|
||
"message": "All Media",
|
||
"description": "Header for the media gallery"
|
||
},
|
||
"documents": {
|
||
"message": "Documents",
|
||
"description": "Header of the secondary pane in the media gallery, showing every non-media attachment"
|
||
},
|
||
"documentsEmptyState": {
|
||
"message": "You don’t have any documents in this conversation",
|
||
"description": "Message shown to user in the media gallery when there are no messages with document attachments (anything other than images or video)"
|
||
},
|
||
"today": {
|
||
"message": "Today",
|
||
"description": "The string \"today\""
|
||
},
|
||
"yesterday": {
|
||
"message": "Yesterday",
|
||
"description": "The string \"yesterday\""
|
||
},
|
||
"thisWeek": {
|
||
"message": "This Week",
|
||
"description": "Section header in the media gallery"
|
||
},
|
||
"thisMonth": {
|
||
"message": "This Month",
|
||
"description": "Section header in the media gallery"
|
||
},
|
||
"unsupportedAttachment": {
|
||
"message": "Unsupported attachment type. Click to save.",
|
||
"description": "Displayed for incoming unsupported attachment"
|
||
},
|
||
"clickToSave": {
|
||
"message": "Click to save",
|
||
"description": "Hover text for attachment filenames"
|
||
},
|
||
"unnamedFile": {
|
||
"message": "Unnamed File",
|
||
"description": "Hover text for attachment filenames"
|
||
},
|
||
"voiceMessage": {
|
||
"message": "Voice Message",
|
||
"description": "Name for a voice message attachment"
|
||
},
|
||
"dangerousFileType": {
|
||
"message": "Attachment type not allowed for security reasons",
|
||
"description": "Shown in toast when user attempts to send .exe file, for example"
|
||
},
|
||
"loadingPreview": {
|
||
"message": "Loading Preview...",
|
||
"description": "Shown while Signal Desktop is fetching metadata for a url in composition area"
|
||
},
|
||
"stagedPreviewThumbnail": {
|
||
"message": "Draft thumbnail link preview for $domain$",
|
||
"description": "Shown while Signal 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 Signal Desktop is fetching metadata for a url in composition area",
|
||
"placeholders": {
|
||
"domain": {
|
||
"content": "$1",
|
||
"example": "instagram.com"
|
||
}
|
||
}
|
||
},
|
||
"stagedImageAttachment": {
|
||
"message": "Draft image attachment: $path$",
|
||
"description": "Alt text for staged attachments",
|
||
"placeholders": {
|
||
"path": {
|
||
"content": "$1",
|
||
"example": "dog.jpg"
|
||
}
|
||
}
|
||
},
|
||
"decryptionErrorToast": {
|
||
"message": "Desktop ran into a decryption error from $name$, device $deviceId$",
|
||
"description": "An error popup when we haven't added an in-timeline error for decryption error, only for beta/internal users.",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "John"
|
||
},
|
||
"deviceId": {
|
||
"content": "$1",
|
||
"example": "2"
|
||
}
|
||
}
|
||
},
|
||
"decryptionErrorToastAction": {
|
||
"message": "Submit log",
|
||
"description": "Label for the decryption error toast button"
|
||
},
|
||
"oneNonImageAtATimeToast": {
|
||
"message": "When including a non-image attachment, the limit is one attachment per message.",
|
||
"description": "An error popup when the user has attempted to add an attachment"
|
||
},
|
||
"cannotMixImageAndNonImageAttachments": {
|
||
"message": "You cannot mix non-image and image attachments in one message.",
|
||
"description": "An error popup when the user has attempted to add an attachment"
|
||
},
|
||
"maximumAttachments": {
|
||
"message": "You cannot add any more attachments to this message.",
|
||
"description": "An error popup when the user has attempted to add an attachment"
|
||
},
|
||
"fileSizeWarning": {
|
||
"message": "Sorry, the selected file exceeds message size restrictions."
|
||
},
|
||
"unableToLoadAttachment": {
|
||
"message": "Unable to load selected attachment."
|
||
},
|
||
"disconnected": {
|
||
"message": "Disconnected",
|
||
"description": "Displayed when the desktop client cannot connect to the server."
|
||
},
|
||
"connecting": {
|
||
"message": "Connecting...",
|
||
"description": "Displayed when the desktop client is currently connecting to the server."
|
||
},
|
||
"connect": {
|
||
"message": "Click to reconnect.",
|
||
"description": "Shown to allow the user to manually attempt a reconnect."
|
||
},
|
||
"connectingHangOn": {
|
||
"message": "Shouldn't be long",
|
||
"description": "Subtext description for when the client is connecting to the server."
|
||
},
|
||
"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"
|
||
},
|
||
"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)"
|
||
},
|
||
"forceUpdate": {
|
||
"message": "Force Update",
|
||
"description": "View menu item to force the app to update download and install"
|
||
},
|
||
"helpMenuShowKeyboardShortcuts": {
|
||
"message": "Show Keyboard Shortcuts",
|
||
"description": "Item under the help menu, pops up a screen showing the application's keyboard shortcuts"
|
||
},
|
||
"contactUs": {
|
||
"message": "Contact Us",
|
||
"description": "Item under the help menu, takes you to the contact us support page"
|
||
},
|
||
"goToReleaseNotes": {
|
||
"message": "Go to Release Notes",
|
||
"description": "Item under the help menu, takes you to GitHub page for release notes"
|
||
},
|
||
"goToForums": {
|
||
"message": "Go to Forums",
|
||
"description": "Item under the Help menu, takes you to the forums"
|
||
},
|
||
"goToSupportPage": {
|
||
"message": "Go to Support Page",
|
||
"description": "Item under the Help menu, takes you to the support page"
|
||
},
|
||
"joinTheBeta": {
|
||
"message": "Join the Beta",
|
||
"description": "Item under the Help menu, takes you to an article describing how to install the beta release of Signal Desktop"
|
||
},
|
||
"signalDesktopPreferences": {
|
||
"message": "Signal Desktop Preferences",
|
||
"description": "Title of the window that pops up with Signal Desktop preferences in it"
|
||
},
|
||
"signalDesktopStickerCreator": {
|
||
"message": "Sticker pack creator",
|
||
"description": "Title of the window that pops up with Signal Desktop preferences in it"
|
||
},
|
||
"aboutSignalDesktop": {
|
||
"message": "About Signal Desktop",
|
||
"description": "Item under the Help menu, which opens a small about window"
|
||
},
|
||
"screenShareWindow": {
|
||
"message": "Sharing screen",
|
||
"description": "Title for screen sharing window"
|
||
},
|
||
"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"
|
||
},
|
||
"hide": {
|
||
"message": "Hide",
|
||
"description": "Command in the tray icon menu, to hide the window"
|
||
},
|
||
"quit": {
|
||
"message": "Quit",
|
||
"description": "Command in the tray icon menu, to quit the application"
|
||
},
|
||
"signalDesktop": {
|
||
"message": "Signal Desktop",
|
||
"description": "Tooltip for the tray icon"
|
||
},
|
||
"search": {
|
||
"message": "Search",
|
||
"description": "Placeholder text in the search input"
|
||
},
|
||
"clearSearch": {
|
||
"message": "Clear Search",
|
||
"description": "Aria label for clear search button"
|
||
},
|
||
"searchIn": {
|
||
"message": "Search chat",
|
||
"description": "Shown in the search box before text is entered when searching in a specific conversation"
|
||
},
|
||
"noSearchResults": {
|
||
"message": "No results for \"$searchTerm$\"",
|
||
"description": "Shown in the search left pane when no results were found",
|
||
"placeholders": {
|
||
"searchTerm": {
|
||
"content": "$1",
|
||
"example": "dog"
|
||
}
|
||
}
|
||
},
|
||
"noSearchResults--sms-only": {
|
||
"message": "SMS/MMS contacts are not available on Desktop.",
|
||
"description": "Shown in the search left pane when no results were found and primary device has SMS/MMS handling enabled"
|
||
},
|
||
"noSearchResultsInConversation": {
|
||
"message": "No results for \"$searchTerm$\" in $conversationName$",
|
||
"description": "Shown in the search left pane when no results were found",
|
||
"placeholders": {
|
||
"searchTerm": {
|
||
"content": "$1",
|
||
"example": "dog"
|
||
},
|
||
"conversationName": {
|
||
"content": "$2",
|
||
"example": "Friends"
|
||
}
|
||
}
|
||
},
|
||
"conversationsHeader": {
|
||
"message": "Conversations",
|
||
"description": "Shown to separate the types of search results"
|
||
},
|
||
"contactsHeader": {
|
||
"message": "Contacts",
|
||
"description": "Shown to separate the types of search results"
|
||
},
|
||
"groupsHeader": {
|
||
"message": "Groups",
|
||
"description": "Shown to separate the types of search results"
|
||
},
|
||
"messagesHeader": {
|
||
"message": "Messages",
|
||
"description": "Shown to separate the types of search results"
|
||
},
|
||
"findByUsernameHeader": {
|
||
"message": "Find by username",
|
||
"description": "Shown when search could be a valid username, with one sub-item that will kick off the search"
|
||
},
|
||
"findByPhoneNumberHeader": {
|
||
"message": "Find by phone number",
|
||
"description": "Shown when search could be a valid phone number, with one sub-item that will kick off the search"
|
||
},
|
||
"at-username": {
|
||
"message": "@$username$",
|
||
"description": "@ added to username to signify it as a username. Should it be on the right in your language?",
|
||
"placeholders": {
|
||
"username": {
|
||
"content": "$1",
|
||
"example": "sammy45"
|
||
}
|
||
}
|
||
},
|
||
"welcomeToSignal": {
|
||
"message": "Welcome to Signal"
|
||
},
|
||
"whatsNew": {
|
||
"message": "See $whatsNew$ in this update",
|
||
"description": "Shown in the main window",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "what's new"
|
||
}
|
||
}
|
||
},
|
||
"viewReleaseNotes": {
|
||
"message": "what's new",
|
||
"description": "Clickable link that displays the latest release notes"
|
||
},
|
||
"selectAContact": {
|
||
"message": "Select a contact or group to start chatting."
|
||
},
|
||
"typingAlt": {
|
||
"message": "Typing animation for this conversation",
|
||
"description": "Used as the 'title' attribute for the typing animation"
|
||
},
|
||
"contactInAddressBook": {
|
||
"message": "This person is in your contacts.",
|
||
"description": "Description of icon denoting that contact is from your address book"
|
||
},
|
||
"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"
|
||
}
|
||
}
|
||
},
|
||
"sendMessageToContact": {
|
||
"message": "Send Message",
|
||
"description": "Shown when you are sent a contact and that contact has a signal account"
|
||
},
|
||
"home": {
|
||
"message": "home",
|
||
"description": "Shown on contact detail screen as a label for an address/phone/email"
|
||
},
|
||
"work": {
|
||
"message": "work",
|
||
"description": "Shown on contact detail screen as a label for an address/phone/email"
|
||
},
|
||
"mobile": {
|
||
"message": "mobile",
|
||
"description": "Shown on contact detail screen as a label for a phone or email"
|
||
},
|
||
"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"
|
||
},
|
||
"downloadFullMessage": {
|
||
"message": "Download Full Message",
|
||
"description": "Shown in the message bubble while a long message attachment is not downloaded"
|
||
},
|
||
"downloadAttachment": {
|
||
"message": "Download Attachment",
|
||
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
|
||
},
|
||
"reactToMessage": {
|
||
"message": "React to Message",
|
||
"description": "Shown in triple-dot menu next to message to allow user to react to the associated message"
|
||
},
|
||
"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"
|
||
},
|
||
"originalMessageNotFound": {
|
||
"message": "Original message not found",
|
||
"description": "Shown in quote if reference message was not found as message was initially downloaded and processed"
|
||
},
|
||
"originalMessageNotAvailable": {
|
||
"message": "Original message no longer available",
|
||
"description": "Shown in toast if user clicks on quote that references message no longer in database"
|
||
},
|
||
"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"
|
||
},
|
||
"voiceRecording--start": {
|
||
"message": "Start recording voice message",
|
||
"description": "Tooltip for microphone button to start voice message"
|
||
},
|
||
"voiceRecording--complete": {
|
||
"message": "Complete voice message and send",
|
||
"description": "Tooltip for green complete voice message and send"
|
||
},
|
||
"voiceRecording--cancel": {
|
||
"message": "Cancel voice message",
|
||
"description": "Tooltip for red button to cancel voice message"
|
||
},
|
||
"voiceRecordingInterruptedMax": {
|
||
"message": "Voice message recording stopped because the maximum time limit was reached.",
|
||
"description": "Confirmation dialog message for when the voice recording is interrupted due to max time limit"
|
||
},
|
||
"voiceRecordingInterruptedBlur": {
|
||
"message": "Voice message recording stopped because you switched to another app.",
|
||
"description": "Confirmation dialog message for when the voice recording is interrupted due to app losing focus"
|
||
},
|
||
"voiceNoteLimit": {
|
||
"message": "Voice messages are limited to one hour. Recording will stop if you switch to another app.",
|
||
"description": "Shown in toast to warn user about limited time and that window must be in focus"
|
||
},
|
||
"voiceNoteMustBeOnlyAttachment": {
|
||
"message": "A voice message must have only one attachment.",
|
||
"description": "Shown in toast if tries to record a voice note with any staged attachments"
|
||
},
|
||
"voiceNoteError": {
|
||
"message": "There was an error with the voice recorder.",
|
||
"description": "Shown in a dialog to inform user that we experienced an unrecoverable error"
|
||
},
|
||
"attachmentSaved": {
|
||
"message": "Attachment saved.",
|
||
"description": "Shown after user selects to save to downloads"
|
||
},
|
||
"attachmentSavedShow": {
|
||
"message": "Show in folder",
|
||
"description": "Button label for showing the attachment in your file system"
|
||
},
|
||
"you": {
|
||
"message": "You",
|
||
"description": "Shown when the user represented is the current user."
|
||
},
|
||
"replyingTo": {
|
||
"message": "Replying to $name$",
|
||
"description": "Shown in iOS theme when you or someone quotes to a message which is not from you",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "John"
|
||
}
|
||
}
|
||
},
|
||
"audioPermissionNeeded": {
|
||
"message": "To send audio messages, allow Signal Desktop to access your microphone.",
|
||
"description": "Shown if the user attempts to send an audio message without audio permissions turned on"
|
||
},
|
||
"audioCallingPermissionNeeded": {
|
||
"message": "For calling, you must allow Signal Desktop to access your microphone.",
|
||
"description": "Shown if the user attempts access the microphone for calling without audio permissions turned on"
|
||
},
|
||
"videoCallingPermissionNeeded": {
|
||
"message": "For video calling, you must allow Signal Desktop to access your camera.",
|
||
"description": "Shown if the user attempts access the camera for video calling without video permissions turned on"
|
||
},
|
||
"allowAccess": {
|
||
"message": "Allow Access",
|
||
"description": "Button shown in popup asking to enable microphone/video permissions to send audio messages"
|
||
},
|
||
"showSettings": {
|
||
"message": "Show Settings",
|
||
"description": "A button shown in dialog requesting the user to turn on audio permissions"
|
||
},
|
||
"audio": {
|
||
"message": "Audio",
|
||
"description": "Shown in a quotation of a message containing an audio attachment if no text was originally provided with that attachment"
|
||
},
|
||
"video": {
|
||
"message": "Video",
|
||
"description": "Shown in a quotation of a message containing a video if no text was originally provided with that video"
|
||
},
|
||
"photo": {
|
||
"message": "Photo",
|
||
"description": "Shown in a quotation of a message containing a photo if no text was originally provided with that image"
|
||
},
|
||
"text": {
|
||
"message": "Text",
|
||
"description": "Label for the word 'text'"
|
||
},
|
||
"cannotUpdate": {
|
||
"message": "Cannot Update",
|
||
"description": "Shown as the title of our update error dialogs on windows"
|
||
},
|
||
"muted": {
|
||
"message": "Muted",
|
||
"description": "Shown in a button when a conversation is muted"
|
||
},
|
||
"mute": {
|
||
"message": "Mute",
|
||
"description": "Shown in a button when a conversation is unmuted and can be muted"
|
||
},
|
||
"cannotUpdateDetail": {
|
||
"message": "Signal couldn't update. $retry$ or visit $url$ to install it manually. Then, $support$ about this problem",
|
||
"description": "Shown if a general error happened while trying to install update package",
|
||
"placeholders": {
|
||
"retry": {
|
||
"content": "$2",
|
||
"example": "retry update"
|
||
},
|
||
"url": {
|
||
"content": "$2",
|
||
"example": "https://signal.org/download"
|
||
},
|
||
"support": {
|
||
"content": "$3",
|
||
"example": "contact support"
|
||
}
|
||
}
|
||
},
|
||
"cannotUpdateRequireManualDetail": {
|
||
"message": "Signal couldn't update. Visit $url$ to install it manually. Then, $support$ about this problem",
|
||
"description": "Shown if a general error happened while trying to install update package and manual update is required",
|
||
"placeholders": {
|
||
"url": {
|
||
"content": "$2",
|
||
"example": "https://signal.org/download"
|
||
},
|
||
"support": {
|
||
"content": "$3",
|
||
"example": "contact support"
|
||
}
|
||
}
|
||
},
|
||
"readOnlyVolume": {
|
||
"message": "Signal Desktop is likely in a macOS quarantine, and will not be able to auto-update. Please try moving $app$ to $folder$ with Finder.",
|
||
"description": "Shown on MacOS if running on a read-only volume and we cannot update",
|
||
"placeholders": {
|
||
"app": {
|
||
"content": "$1",
|
||
"example": "Signal.app"
|
||
},
|
||
"folder": {
|
||
"content": "$2",
|
||
"example": "/Applications"
|
||
}
|
||
}
|
||
},
|
||
"ok": {
|
||
"message": "OK"
|
||
},
|
||
"cancel": {
|
||
"message": "Cancel"
|
||
},
|
||
"discard": {
|
||
"message": "Discard"
|
||
},
|
||
"failedToSend": {
|
||
"message": "Failed to send to some recipients. Check your network connection."
|
||
},
|
||
"error": {
|
||
"message": "Error"
|
||
},
|
||
"messageDetail": {
|
||
"message": "Message Detail"
|
||
},
|
||
"delete": {
|
||
"message": "Delete"
|
||
},
|
||
"accept": {
|
||
"message": "Accept"
|
||
},
|
||
"forward": {
|
||
"message": "Forward"
|
||
},
|
||
"done": {
|
||
"message": "Done",
|
||
"description": "Label for done"
|
||
},
|
||
"on": {
|
||
"message": "On",
|
||
"description": "Label for when something is turned on"
|
||
},
|
||
"off": {
|
||
"message": "Off",
|
||
"description": "Label for when something is turned off"
|
||
},
|
||
"deleteWarning": {
|
||
"message": "This message will be deleted from this device.",
|
||
"description": "Text shown in the confirmation dialog for deleting a message locally"
|
||
},
|
||
"deleteForEveryoneWarning": {
|
||
"message": "This message will be deleted for everyone in the conversation if they’re on a recent version of Signal. They will be able to see that you deleted a message.",
|
||
"description": "Text shown in the confirmation dialog for deleting a message for everyone"
|
||
},
|
||
"from": {
|
||
"message": "From",
|
||
"description": "Label for the sender of a message"
|
||
},
|
||
"to": {
|
||
"message": "To",
|
||
"description": "Label for the receiver of a message"
|
||
},
|
||
"toJoiner": {
|
||
"message": "to",
|
||
"description": "Joiner for message search results - like 'Jon' to 'Friends Group'"
|
||
},
|
||
"sent": {
|
||
"message": "Sent",
|
||
"description": "Label for the time a message was sent"
|
||
},
|
||
"received": {
|
||
"message": "Received",
|
||
"description": "Label for the time a message was received"
|
||
},
|
||
"sendMessage": {
|
||
"message": "Message",
|
||
"description": "Placeholder text in the message entry field"
|
||
},
|
||
"groupMembers": {
|
||
"message": "Group members"
|
||
},
|
||
"showMembers": {
|
||
"message": "Show members"
|
||
},
|
||
"showSafetyNumber": {
|
||
"message": "View safety number"
|
||
},
|
||
"viewRecentMedia": {
|
||
"message": "View recent media",
|
||
"description": "This is a menu item for viewing all media (images + video) in a conversation, using the imperative case, as in a command."
|
||
},
|
||
"verifyHelp": {
|
||
"message": "To verify the security of your end-to-end encryption with $name$, compare the numbers above with 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."
|
||
},
|
||
"back": {
|
||
"message": "Back",
|
||
"description": "Generic label for back"
|
||
},
|
||
"goBack": {
|
||
"message": "Go back",
|
||
"description": "Label for back button in a conversation"
|
||
},
|
||
"moreInfo": {
|
||
"message": "More Info",
|
||
"description": "Shown on the drop-down menu for an individual message, takes you to message detail screen"
|
||
},
|
||
"retrySend": {
|
||
"message": "Retry Send",
|
||
"description": "Shown on the drop-down menu for an individual message, but only if it is an outgoing message that failed to send"
|
||
},
|
||
"retryDeleteForEveryone": {
|
||
"message": "Retry Delete for Everyone",
|
||
"description": "Shown on the drop-down menu for an individual message, but only if a previous delete for everyone failed to send"
|
||
},
|
||
"forwardMessage": {
|
||
"message": "Forward message",
|
||
"description": "Shown on the drop-down menu for an individual message, forwards a message"
|
||
},
|
||
"deleteMessage": {
|
||
"message": "Delete message for me",
|
||
"description": "Shown on the drop-down menu for an individual message, deletes single message"
|
||
},
|
||
"deleteMessageForEveryone": {
|
||
"message": "Delete message for everyone",
|
||
"description": "Shown on the drop-down menu for an individual message, deletes single message for everyone"
|
||
},
|
||
"deleteMessages": {
|
||
"message": "Delete",
|
||
"description": "Menu item for deleting messages, title case."
|
||
},
|
||
"deleteConversationConfirmation": {
|
||
"message": "Permanently delete 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."
|
||
},
|
||
"sessionEnded": {
|
||
"message": "Secure session reset",
|
||
"description": "This is a past tense, informational message. In other words, your secure session has been reset."
|
||
},
|
||
"ChatRefresh--notification": {
|
||
"message": "Chat session refreshed",
|
||
"description": "Shown in timeline when a error happened, and the session was automatically reset."
|
||
},
|
||
"ChatRefresh--learnMore": {
|
||
"message": "Learn More",
|
||
"description": "Shown in timeline when session is automatically reset, to provide access to a popup info dialog"
|
||
},
|
||
"ChatRefresh--summary": {
|
||
"message": "Signal uses end-to-end encryption and it may need to refresh your chat session sometimes. This doesn’t affect your chat’s security but you may have missed a message from this contact and you can ask them to resend it.",
|
||
"description": "Shown on explainer dialog available from chat session refreshed timeline events"
|
||
},
|
||
"ChatRefresh--contactSupport": {
|
||
"message": "Contact Support",
|
||
"description": "Shown on explainer dialog available from chat session refreshed timeline events"
|
||
},
|
||
"DeliveryIssue--preview": {
|
||
"message": "Delivery issue",
|
||
"description": "Shown in left pane preview when message delivery issue happens"
|
||
},
|
||
"DeliveryIssue--notification": {
|
||
"message": "A message from $sender$ couldn’t be delivered",
|
||
"description": "Shown in timeline when message delivery issue happens",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"DeliveryIssue--learnMore": {
|
||
"message": "Learn More",
|
||
"description": "Shown in timeline when message delivery issue happens, to provide access to a popup info dialog"
|
||
},
|
||
"DeliveryIssue--title": {
|
||
"message": "Delivery Issue",
|
||
"description": "Shown on explainer dialog available from delivery issue timeline events"
|
||
},
|
||
"DeliveryIssue--summary": {
|
||
"message": "A message, sticker, reaction, read receipt or media couldn’t be delivered to you from $sender$. They may have tried sending it to you directly, or in a group.",
|
||
"description": "Shown on explainer dialog available from delivery issue timeline events in 1:1 conversations",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"DeliveryIssue--summary--group": {
|
||
"message": "A message, sticker, reaction, read receipt or media couldn’t be delivered to you from $sender$ in this chat.",
|
||
"description": "Shown on explainer dialog available from delivery issue timeline events in groups",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"ChangeNumber--notification": {
|
||
"message": "$sender$ changed their phone number",
|
||
"description": "Shown in timeline when a member of a conversation changes their phone number",
|
||
"placeholders": {
|
||
"sender": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
}
|
||
}
|
||
},
|
||
"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"
|
||
},
|
||
"save": {
|
||
"message": "Save",
|
||
"description": "Used on save buttons"
|
||
},
|
||
"reset": {
|
||
"message": "Reset",
|
||
"description": "Used on reset buttons"
|
||
},
|
||
"fileIconAlt": {
|
||
"message": "File icon",
|
||
"description": "Used in the media gallery documents tab to visually represent a file"
|
||
},
|
||
"installWelcome": {
|
||
"message": "Welcome to Signal Desktop",
|
||
"description": "Welcome title on the install page"
|
||
},
|
||
"installTagline": {
|
||
"message": "Privacy is possible. Signal makes it easy.",
|
||
"description": "Tagline displayed under 'installWelcome' string on the install page"
|
||
},
|
||
"linkedDevices": {
|
||
"message": "Linked Devices",
|
||
"description": "Used in the guidance to help people find the 'link new device' area of their Signal mobile app"
|
||
},
|
||
"linkNewDevice": {
|
||
"message": "Link New Device",
|
||
"description": "The menu option shown in Signal iOS to add a new linked device"
|
||
},
|
||
"Install__scan-this-code": {
|
||
"message": "Scan this code in the Signal app on your phone",
|
||
"description": "Title of the device link screen. Also used as alt text for the QR code on the device link screen"
|
||
},
|
||
"Install__instructions__1": {
|
||
"message": "Open Signal on your phone",
|
||
"description": "Instructions on the device link screen"
|
||
},
|
||
"Install__instructions__2": {
|
||
"message": "Tap into $settings$, then tap $linkedDevices$",
|
||
"description": "Instructions on the device link screen",
|
||
"placeholders": {
|
||
"settings": {
|
||
"content": "$1",
|
||
"example": "<strong>Settings</strong>"
|
||
},
|
||
"linkedDevices": {
|
||
"content": "$2",
|
||
"example": "<strong>Linked Devices</strong>"
|
||
}
|
||
}
|
||
},
|
||
"Install__instructions__2__settings": {
|
||
"message": "Settings",
|
||
"description": "Part of the 2nd instruction on the device link screen"
|
||
},
|
||
"Install__instructions__3": {
|
||
"message": "Tap $plusButton$ (Android) or $linkNewDevice$ (iPhone)",
|
||
"description": "Instructions on the device link screen",
|
||
"placeholders": {
|
||
"plusButton": {
|
||
"content": "$1",
|
||
"example": "<PlusButton />"
|
||
},
|
||
"linkNewDevice": {
|
||
"content": "$2",
|
||
"example": "<strong>Link New Device</strong>"
|
||
}
|
||
}
|
||
},
|
||
"Install__qr-failed": {
|
||
"message": "The QR code couldn't load. Check your internet and try again. $learnMore$",
|
||
"description": "Shown on the install screen if the QR code fails to load",
|
||
"placeholders": {
|
||
"learnMore": {
|
||
"content": "$1",
|
||
"example": "<a>Learn more</a>"
|
||
}
|
||
}
|
||
},
|
||
"Install__qr-failed__learn-more": {
|
||
"message": "Learn more",
|
||
"description": "Shown on the install screen if the QR code fails to load"
|
||
},
|
||
"Install__support-link": {
|
||
"message": "Need help?",
|
||
"description": "Shown on the install screen. Link takes users to a support page"
|
||
},
|
||
"Install__choose-device-name__description": {
|
||
"message": "You'll see this name under \"Linked Devices\" on your phone",
|
||
"description": "The subheader shown on the 'choose device name' screen in the device linking process"
|
||
},
|
||
"Install__choose-device-name__placeholder": {
|
||
"message": "My Computer",
|
||
"description": "The placeholder for the 'choose device name' input"
|
||
},
|
||
"Preferences--device-name": {
|
||
"message": "Device name",
|
||
"description": "The label in settings panel shown for the user-provided name for this desktop instance"
|
||
},
|
||
"chooseDeviceName": {
|
||
"message": "Choose this device's name",
|
||
"description": "The header shown on the 'choose device name' screen in the device linking process"
|
||
},
|
||
"finishLinkingPhone": {
|
||
"message": "Finish linking phone",
|
||
"description": "The text on the button to finish the linking process, after choosing the device name"
|
||
},
|
||
"initialSync": {
|
||
"message": "Syncing contacts and groups",
|
||
"description": "Shown during initial link while contacts and groups are being pulled from mobile device"
|
||
},
|
||
"initialSync__subtitle": {
|
||
"message": "Note: Your chat history will not be synced to this device",
|
||
"description": "Shown during initial link while contacts and groups are being pulled from mobile device"
|
||
},
|
||
"installConnectionFailed": {
|
||
"message": "Failed to connect to server.",
|
||
"description": "Displayed when we can't connect to the server."
|
||
},
|
||
"installTooManyDevices": {
|
||
"message": "Sorry, you have too many devices linked already. Try removing some."
|
||
},
|
||
"installTooOld": {
|
||
"message": "Update Signal on this device to link your phone."
|
||
},
|
||
"installErrorHeader": {
|
||
"message": "Something went wrong!"
|
||
},
|
||
"installUnknownError": {
|
||
"message": "An unexpected error occurred. Please try again."
|
||
},
|
||
"installTryAgain": {
|
||
"message": "Try again"
|
||
},
|
||
"Preferences--theme": {
|
||
"message": "Theme",
|
||
"description": "Header for theme settings"
|
||
},
|
||
"calling": {
|
||
"message": "Calling",
|
||
"description": "Header for calling options on the settings screen"
|
||
},
|
||
"calling__call-back": {
|
||
"message": "Call Back",
|
||
"description": "Button to call someone back"
|
||
},
|
||
"calling__call-again": {
|
||
"message": "Call Again",
|
||
"description": "Button to call someone again"
|
||
},
|
||
"calling__start": {
|
||
"message": "Start Call",
|
||
"description": "Button label in the call lobby for starting a call"
|
||
},
|
||
"calling__join": {
|
||
"message": "Join Call",
|
||
"description": "Button label in the call lobby for joining a call"
|
||
},
|
||
"calling__return": {
|
||
"message": "Return to Call",
|
||
"description": "Button label in the call lobby for returning to a call"
|
||
},
|
||
"calling__lobby-automatically-muted-because-there-are-a-lot-of-people": {
|
||
"message": "Microphone muted due to the size of the call",
|
||
"description": "Shown in a call lobby toast if there are a lot of people already on the call"
|
||
},
|
||
"calling__call-is-full": {
|
||
"message": "Call is full",
|
||
"description": "Text in the call lobby when you can't join because the call is full"
|
||
},
|
||
"calling__button--video__label": {
|
||
"message": "Camera",
|
||
"description": "Label under the video button"
|
||
},
|
||
"calling__button--video-disabled": {
|
||
"message": "Camera disabled",
|
||
"description": "Button tooltip label when the camera is disabled"
|
||
},
|
||
"calling__button--video-off": {
|
||
"message": "Turn off camera",
|
||
"description": "Button tooltip label for turning off the camera"
|
||
},
|
||
"calling__button--video-on": {
|
||
"message": "Turn on camera",
|
||
"description": "Button tooltip label for turning on the camera"
|
||
},
|
||
"calling__button--audio__label": {
|
||
"message": "Mute",
|
||
"description": "Label under the audio button"
|
||
},
|
||
"calling__button--audio-disabled": {
|
||
"message": "Microphone disabled",
|
||
"description": "Button tooltip label when the microphone is disabled"
|
||
},
|
||
"calling__button--audio-off": {
|
||
"message": "Mute mic",
|
||
"description": "Button tooltip label for turning off the microphone"
|
||
},
|
||
"calling__button--audio-on": {
|
||
"message": "Unmute mic",
|
||
"description": "Button tooltip label for turning on the microphone"
|
||
},
|
||
"calling__button--presenting__label": {
|
||
"message": "Share",
|
||
"description": "Label under the share screen button"
|
||
},
|
||
"calling__button--presenting-disabled": {
|
||
"message": "Presenting disabled",
|
||
"description": "Button tooltip label for when screen sharing is disabled"
|
||
},
|
||
"calling__button--presenting-on": {
|
||
"message": "Start presenting",
|
||
"description": "Button tooltip label for starting to share screen"
|
||
},
|
||
"calling__button--presenting-off": {
|
||
"message": "Stop presenting",
|
||
"description": "Button tooltip label for stopping screen sharing"
|
||
},
|
||
"calling__button--ring__label": {
|
||
"message": "Ring",
|
||
"description": "Label under the ring button"
|
||
},
|
||
"calling__button--ring__disabled-because-group-is-too-large": {
|
||
"message": "Group is too large to ring the participants.",
|
||
"description": "Button tooltip label when you can't ring because the group is too large"
|
||
},
|
||
"calling__button--ring__off": {
|
||
"message": "Notify, don't ring",
|
||
"description": "Button tooltip label for turning ringing off"
|
||
},
|
||
"calling__button--ring__on": {
|
||
"message": "Enable ringing",
|
||
"description": "Button tooltip label for turning ringing on"
|
||
},
|
||
"calling__your-video-is-off": {
|
||
"message": "Your camera is off",
|
||
"description": "Label in the calling lobby indicating that your camera is off"
|
||
},
|
||
"calling__pre-call-info--empty-group": {
|
||
"message": "No one else is here",
|
||
"description": "Shown in the calling lobby to describe who is in the call"
|
||
},
|
||
"calling__pre-call-info--1-person-in-call": {
|
||
"message": "$first$ is in this call",
|
||
"description": "Shown in the calling lobby to describe who is in the call",
|
||
"placeholders": {
|
||
"first": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
}
|
||
}
|
||
},
|
||
"calling__pre-call-info--another-device-in-call": {
|
||
"message": "One of your other devices is in this call",
|
||
"description": "Shown in the calling lobby to describe when it is just you"
|
||
},
|
||
"calling__pre-call-info--2-people-in-call": {
|
||
"message": "$first$ and $second$ are in this call",
|
||
"description": "Shown in the calling lobby to describe who is in the call",
|
||
"placeholders": {
|
||
"first": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
},
|
||
"second": {
|
||
"content": "$2",
|
||
"example": "Cayce"
|
||
}
|
||
}
|
||
},
|
||
"calling__pre-call-info--3-people-in-call": {
|
||
"message": "$first$, $second$, and $third$ are in this call",
|
||
"description": "Shown in the calling lobby to describe who is in the call",
|
||
"placeholders": {
|
||
"first": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
},
|
||
"second": {
|
||
"content": "$2",
|
||
"example": "Cayce"
|
||
},
|
||
"third": {
|
||
"content": "$3",
|
||
"example": "April"
|
||
}
|
||
}
|
||
},
|
||
"calling__pre-call-info--many-people-in-call": {
|
||
"message": "$first$, $second$, and $others$ others are in this call",
|
||
"description": "Shown in the calling lobby to describe who is in the call",
|
||
"placeholders": {
|
||
"first": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
},
|
||
"second": {
|
||
"content": "$2",
|
||
"example": "Cayce"
|
||
},
|
||
"others": {
|
||
"content": "$3",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"calling__pre-call-info--will-ring-1": {
|
||
"message": "Signal will ring $person$",
|
||
"description": "Shown in the calling lobby to describe who will be rung",
|
||
"placeholders": {
|
||
"person": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
}
|
||
}
|
||
},
|
||
"calling__pre-call-info--will-ring-2": {
|
||
"message": "Signal will ring $first$ and $second$",
|
||
"description": "Shown in the calling lobby to describe who will be rang",
|
||
"placeholders": {
|
||
"first": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
},
|
||
"second": {
|
||
"content": "$2",
|
||
"example": "Cayce"
|
||
}
|
||
}
|
||
},
|
||
"calling__pre-call-info--will-ring-3": {
|
||
"message": "Signal will ring $first$, $second$, and $third$",
|
||
"description": "Shown in the calling lobby to describe who will be rang",
|
||
"placeholders": {
|
||
"first": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
},
|
||
"second": {
|
||
"content": "$2",
|
||
"example": "Cayce"
|
||
},
|
||
"third": {
|
||
"content": "$3",
|
||
"example": "April"
|
||
}
|
||
}
|
||
},
|
||
"calling__pre-call-info--will-ring-many": {
|
||
"message": "Signal will ring $first$, $second$, and $others$ others",
|
||
"description": "Shown in the calling lobby to describe who will be rang",
|
||
"placeholders": {
|
||
"person": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
},
|
||
"second": {
|
||
"content": "$2",
|
||
"example": "Cayce"
|
||
},
|
||
"others": {
|
||
"content": "$3",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"calling__pre-call-info--will-notify-1": {
|
||
"message": "$person$ will be notified",
|
||
"description": "Shown in the calling lobby to describe who will be notified",
|
||
"placeholders": {
|
||
"person": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
}
|
||
}
|
||
},
|
||
"calling__pre-call-info--will-notify-2": {
|
||
"message": "$first$ and $second$ will be notified",
|
||
"description": "Shown in the calling lobby to describe who will be notified",
|
||
"placeholders": {
|
||
"first": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
},
|
||
"second": {
|
||
"content": "$2",
|
||
"example": "Cayce"
|
||
}
|
||
}
|
||
},
|
||
"calling__pre-call-info--will-notify-3": {
|
||
"message": "$first$, $second$, and $third$ will be notified",
|
||
"description": "Shown in the calling lobby to describe who will be notified",
|
||
"placeholders": {
|
||
"first": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
},
|
||
"second": {
|
||
"content": "$2",
|
||
"example": "Cayce"
|
||
},
|
||
"third": {
|
||
"content": "$3",
|
||
"example": "April"
|
||
}
|
||
}
|
||
},
|
||
"calling__pre-call-info--will-notify-many": {
|
||
"message": "$first$, $second$, and $others$ others will be notified",
|
||
"description": "Shown in the calling lobby to describe who will be notified",
|
||
"placeholders": {
|
||
"person": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
},
|
||
"second": {
|
||
"content": "$2",
|
||
"example": "Cayce"
|
||
},
|
||
"others": {
|
||
"content": "$3",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"calling__in-this-call--zero": {
|
||
"message": "No one else is here",
|
||
"description": "Shown in the participants list to describe how many people are in the call"
|
||
},
|
||
"calling__in-this-call--one": {
|
||
"message": "In this call · 1 person",
|
||
"description": "Shown in the participants list to describe how many people are in the call"
|
||
},
|
||
"calling__in-this-call--many": {
|
||
"message": "In this call · $people$ people",
|
||
"description": "Shown in the participants list to describe how many people are in the call",
|
||
"placeholders": {
|
||
"people": {
|
||
"content": "$1",
|
||
"example": "15"
|
||
}
|
||
}
|
||
},
|
||
"calling__you-have-blocked": {
|
||
"message": "You have blocked $name$",
|
||
"description": "when you block someone and cannot view their video",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Henry Richard"
|
||
}
|
||
}
|
||
},
|
||
"calling__block-info": {
|
||
"message": "You won't receive their audio or video and they won't receive yours.",
|
||
"description": "Shown in the modal dialog to describe how blocking works in a group call"
|
||
},
|
||
"calling__overflow__scroll-up": {
|
||
"message": "Scroll up",
|
||
"description": "Label for the \"scroll up\" button in a call's overflow area"
|
||
},
|
||
"calling__overflow__scroll-down": {
|
||
"message": "Scroll down",
|
||
"description": "Label for the \"scroll down\" button in a call's overflow area"
|
||
},
|
||
"calling__presenting--notification-title": {
|
||
"message": "You're presenting to everyone.",
|
||
"description": "Title for the share screen notification"
|
||
},
|
||
"calling__presenting--notification-body": {
|
||
"message": "Click here to return to the call when you're ready to stop presenting.",
|
||
"description": "Body text for the share screen notification"
|
||
},
|
||
"calling__presenting--info": {
|
||
"message": "Signal is sharing $window$.",
|
||
"description": "Text that appears in the screen sharing controller to inform person that they are presenting",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Application"
|
||
}
|
||
}
|
||
},
|
||
"calling__presenting--stop": {
|
||
"message": "Stop sharing",
|
||
"description": "Button for stopping screen sharing"
|
||
},
|
||
"calling__presenting--you-stopped": {
|
||
"message": "You stopped presenting",
|
||
"description": "Toast that appears when someone stops presenting"
|
||
},
|
||
"calling__presenting--person-ongoing": {
|
||
"message": "$name$ is presenting",
|
||
"description": "Title of call when someone is presenting",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Maddie"
|
||
}
|
||
}
|
||
},
|
||
"calling__presenting--person-stopped": {
|
||
"message": "$name$ stopped presenting",
|
||
"description": "Toast that appears when someone stops presenting",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Maddie"
|
||
}
|
||
}
|
||
},
|
||
"calling__presenting--permission-title": {
|
||
"message": "Permission needed",
|
||
"description": "Shown as the title for the modal that requests screen recording permissions"
|
||
},
|
||
"calling__presenting--macos-permission-description": {
|
||
"message": "Signal needs permission to access your computer's screen recording.",
|
||
"description": "Shown as the description for the modal that requests screen recording permissions"
|
||
},
|
||
"calling__presenting--permission-instruction-step1": {
|
||
"message": "Go to System Preferences.",
|
||
"description": "Shown as the description for the modal that requests screen recording permissions"
|
||
},
|
||
"calling__presenting--permission-instruction-step2": {
|
||
"message": "Click on the lock icon on the bottom left and enter your computer’s password.",
|
||
"description": "Shown as the description for the modal that requests screen recording permissions"
|
||
},
|
||
"calling__presenting--permission-instruction-step3": {
|
||
"message": "On the right, check the box next to Signal. If you don’t see Signal in the list, click the + to add it.",
|
||
"description": "Shown as the description for the modal that requests screen recording permissions"
|
||
},
|
||
"calling__presenting--permission-open": {
|
||
"message": "Open System Preferences",
|
||
"description": "The button that opens your system preferences for the needs screen record permissions modal"
|
||
},
|
||
"calling__presenting--permission-cancel": {
|
||
"message": "Dismiss",
|
||
"description": "The cancel button for the needs screen record permissions modal"
|
||
},
|
||
"alwaysRelayCallsDescription": {
|
||
"message": "Always relay calls",
|
||
"description": "Description of the always relay calls setting"
|
||
},
|
||
"alwaysRelayCallsDetail": {
|
||
"message": "Relay all calls through the Signal server to avoid revealing your IP address to your contact. Enabling will reduce call quality.",
|
||
"description": "Details describing the always relay calls setting"
|
||
},
|
||
"permissions": {
|
||
"message": "Permissions",
|
||
"description": "Header for permissions section of settings"
|
||
},
|
||
"mediaPermissionsDescription": {
|
||
"message": "Allow access to the microphone",
|
||
"description": "Description of the media permission description"
|
||
},
|
||
"mediaCameraPermissionsDescription": {
|
||
"message": "Allow access to the camera",
|
||
"description": "Description of the media permission description"
|
||
},
|
||
"general": {
|
||
"message": "General",
|
||
"description": "Header for general options on the settings screen"
|
||
},
|
||
"spellCheckDescription": {
|
||
"message": "Spell check text entered in message composition box",
|
||
"description": "Description of the spell check setting"
|
||
},
|
||
"spellCheckWillBeEnabled": {
|
||
"message": "Spell check will be enabled the next time Signal starts.",
|
||
"description": "Shown when the user enables spellcheck to indicate that they must restart Signal."
|
||
},
|
||
"spellCheckWillBeDisabled": {
|
||
"message": "Spell check will be disabled the next time Signal starts.",
|
||
"description": "Shown when the user disables spellcheck to indicate that they must restart Signal."
|
||
},
|
||
"SystemTraySetting__minimize-to-system-tray": {
|
||
"message": "Minimize to system tray",
|
||
"description": "In the settings, shown next to the checkbox option for minimizing to the system tray"
|
||
},
|
||
"SystemTraySetting__minimize-to-and-start-in-system-tray": {
|
||
"message": "Start minimized to tray",
|
||
"description": "In the settings, shown next to the checkbox option for starting in the system tray"
|
||
},
|
||
"autoLaunchDescription": {
|
||
"message": "Open at computer login",
|
||
"description": "Description for the automatic launch setting"
|
||
},
|
||
"clearDataHeader": {
|
||
"message": "Clear application data",
|
||
"description": "Header in the settings dialog for the section dealing with data deletion"
|
||
},
|
||
"clearDataExplanation": {
|
||
"message": "This will clear all data in the application, removing all messages and saved account information.",
|
||
"description": "Text describing what the clear data button will do."
|
||
},
|
||
"clearDataButton": {
|
||
"message": "Clear data",
|
||
"description": "Button in the settings dialog starting process to delete all data"
|
||
},
|
||
"deleteAllDataHeader": {
|
||
"message": "Delete all data?",
|
||
"description": "Header of the full-screen delete data confirmation screen"
|
||
},
|
||
"deleteAllDataBody": {
|
||
"message": "You are about to delete all of this application's saved account information, including all contacts and all messages. You can always link with your mobile device again, but that will not restore deleted messages.",
|
||
"description": "Text describing what exactly will happen if the user clicks the button to delete all data"
|
||
},
|
||
"deleteAllDataButton": {
|
||
"message": "Delete all data",
|
||
"description": "Text of the button that deletes all data"
|
||
},
|
||
"deleteAllDataProgress": {
|
||
"message": "Disconnecting and deleting all data",
|
||
"description": "Message shown to user when app is disconnected and data deleted"
|
||
},
|
||
"deleteOldIndexedDBData": {
|
||
"message": "You have obsolete data from a prior installation of Signal Desktop. If you choose to continue, it will be deleted and you will start from scratch.",
|
||
"description": "Shown if user last ran Signal Desktop before October 2018"
|
||
},
|
||
"deleteOldData": {
|
||
"message": "Delete Old Data",
|
||
"description": "Button to make the delete happen"
|
||
},
|
||
"notifications": {
|
||
"message": "Notifications",
|
||
"description": "Header for notification settings"
|
||
},
|
||
"notificationSettingsDialog": {
|
||
"message": "When messages arrive, display notifications that reveal:",
|
||
"description": "Explain the purpose of the notification settings"
|
||
},
|
||
"disableNotifications": {
|
||
"message": "Disable notifications",
|
||
"description": "Label for disabling notifications"
|
||
},
|
||
"nameAndMessage": {
|
||
"message": "Name, content, and actions",
|
||
"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"
|
||
},
|
||
"notificationSenderInGroup": {
|
||
"message": "$sender$ in $group$",
|
||
"description": "Displayed in notifications for messages in a group",
|
||
"placeholders": {
|
||
"sender": {
|
||
"content": "$1",
|
||
"example": "John"
|
||
},
|
||
"group": {
|
||
"content": "$1",
|
||
"example": "NYC Rock Climbers"
|
||
}
|
||
}
|
||
},
|
||
"notificationReaction": {
|
||
"message": "$sender$ reacted $emoji$ to your message",
|
||
"placeholders": {
|
||
"sender": {
|
||
"content": "$1",
|
||
"example": "John"
|
||
},
|
||
"emoji": {
|
||
"content": "$2",
|
||
"example": "👍"
|
||
}
|
||
}
|
||
},
|
||
"notificationReactionMessage": {
|
||
"message": "$sender$ reacted $emoji$ to: $message$",
|
||
"placeholders": {
|
||
"sender": {
|
||
"content": "$1",
|
||
"example": "John"
|
||
},
|
||
"emoji": {
|
||
"content": "$2",
|
||
"example": "👍"
|
||
},
|
||
"message": {
|
||
"content": "$3",
|
||
"example": "Sounds good."
|
||
}
|
||
}
|
||
},
|
||
"sendFailed": {
|
||
"message": "Send failed",
|
||
"description": "Shown on outgoing message if it fails to send"
|
||
},
|
||
"deleteFailed": {
|
||
"message": "Delete failed",
|
||
"description": "Shown on a message which was deleted for everyone if the delete wasn't successfully sent to anyone"
|
||
},
|
||
"sendPaused": {
|
||
"message": "Send paused",
|
||
"description": "Shown on outgoing message if it cannot be sent immediately"
|
||
},
|
||
"partiallySent": {
|
||
"message": "Partially sent, click for details",
|
||
"description": "Shown on outgoing message if it is partially sent"
|
||
},
|
||
"partiallyDeleted": {
|
||
"message": "Partially deleted, click to retry",
|
||
"description": "Shown on a message which was deleted for everyone if the delete wasn't successfully sent to everyone"
|
||
},
|
||
"showMore": {
|
||
"message": "Details",
|
||
"description": "Displays the details of a key change"
|
||
},
|
||
"showLess": {
|
||
"message": "Hide details",
|
||
"description": "Hides the details of a key change"
|
||
},
|
||
"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 Signal Desktop has expired. Please upgrade to the latest version to continue messaging.",
|
||
"description": "Warning notification that this version of the app has expired"
|
||
},
|
||
"upgrade": {
|
||
"message": "Click to go to signal.org/download",
|
||
"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."
|
||
},
|
||
"unregisteredUser": {
|
||
"message": "Number is not registered",
|
||
"description": "Error message displayed when sending to an unregistered user."
|
||
},
|
||
"sync": {
|
||
"message": "Import contacts",
|
||
"description": "Label for contact and group sync settings"
|
||
},
|
||
"syncExplanation": {
|
||
"message": "Import all Signal groups and contacts from your mobile device.",
|
||
"description": "Explanatory text for sync settings"
|
||
},
|
||
"lastSynced": {
|
||
"message": "Last import at",
|
||
"description": "Label for date and time of last sync operation"
|
||
},
|
||
"syncNow": {
|
||
"message": "Import now",
|
||
"description": "Label for a button that syncs contacts and groups from your phone"
|
||
},
|
||
"syncing": {
|
||
"message": "Importing...",
|
||
"description": "Label for a disabled sync button while sync is in progress."
|
||
},
|
||
"syncFailed": {
|
||
"message": "Import failed. Make sure your computer and your phone are connected to the internet.",
|
||
"description": "Informational text displayed if a sync operation times out."
|
||
},
|
||
"timestamp_s": {
|
||
"message": "now",
|
||
"description": "Brief timestamp for messages sent less than a minute ago. Displayed in the conversation list and message bubble."
|
||
},
|
||
"timestamp_m": {
|
||
"message": "1m",
|
||
"description": "Brief timestamp for messages sent about one minute ago. Displayed in the conversation list and message bubble."
|
||
},
|
||
"timestamp_h": {
|
||
"message": "1h",
|
||
"description": "Brief timestamp for messages sent about one hour ago. Displayed in the conversation list and message bubble."
|
||
},
|
||
"hoursAgo": {
|
||
"message": "$hours$h",
|
||
"description": "Contracted form of 'X hours ago' which works both for singular and plural",
|
||
"placeholders": {
|
||
"hours": {
|
||
"content": "$1",
|
||
"example": "2"
|
||
}
|
||
}
|
||
},
|
||
"minutesAgo": {
|
||
"message": "$minutes$m",
|
||
"description": "Contracted form of 'X minutes ago' which works both for singular and plural",
|
||
"placeholders": {
|
||
"minutes": {
|
||
"content": "$1",
|
||
"example": "10"
|
||
}
|
||
}
|
||
},
|
||
"justNow": {
|
||
"message": "Now",
|
||
"description": "Shown if a message is very recent, less than 60 seconds old"
|
||
},
|
||
"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'."
|
||
},
|
||
"timestampFormat__long__today": {
|
||
"message": "[Today] LT",
|
||
"description": "Timestamp format string for displaying \"Today\" and the time"
|
||
},
|
||
"timestampFormat__long__yesterday": {
|
||
"message": "[Yesterday] LT",
|
||
"description": "Timestamp format string for displaying \"Yesterday\" and the time"
|
||
},
|
||
"messageBodyTooLong": {
|
||
"message": "Message body is too long.",
|
||
"description": "Shown if the user tries to send more than 64kb of text"
|
||
},
|
||
"unblockToSend": {
|
||
"message": "Unblock this contact to send a message.",
|
||
"description": "Brief message shown when trying to message a blocked number"
|
||
},
|
||
"unblockGroupToSend": {
|
||
"message": "Unblock this group to send a message.",
|
||
"description": "Brief message shown when trying to message a blocked group"
|
||
},
|
||
"youChangedTheTimer": {
|
||
"message": "You set the disappearing message time to $time$.",
|
||
"description": "Message displayed when you change the message expiration timer in a conversation.",
|
||
"placeholders": {
|
||
"time": {
|
||
"content": "$1",
|
||
"example": "10m"
|
||
}
|
||
}
|
||
},
|
||
"timerSetOnSync": {
|
||
"message": "Updated the disappearing message time to $time$.",
|
||
"description": "Message displayed when timer is set on initial link of desktop device.",
|
||
"placeholders": {
|
||
"time": {
|
||
"content": "$1",
|
||
"example": "10m"
|
||
}
|
||
}
|
||
},
|
||
"timerSetByMember": {
|
||
"message": "A member set the disappearing message time to $time$.",
|
||
"description": "Message displayed when timer is by an unknown group member.",
|
||
"placeholders": {
|
||
"time": {
|
||
"content": "$1",
|
||
"example": "10m"
|
||
}
|
||
}
|
||
},
|
||
"theyChangedTheTimer": {
|
||
"message": "$name$ set the disappearing message time 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"
|
||
}
|
||
}
|
||
},
|
||
"disappearingMessages__off": {
|
||
"message": "off",
|
||
"description": "Label for option to turn off message expiration in the timer menu"
|
||
},
|
||
"disappearingMessages": {
|
||
"message": "Disappearing messages",
|
||
"description": "Conversation menu option to enable disappearing messages. Title of the settings section for Disappearing Messages. Label of the disappearing timer select in group creation flow"
|
||
},
|
||
"disappearingMessagesDisabled": {
|
||
"message": "Disappearing messages disabled",
|
||
"description": "Displayed in the left pane when the timer is turned off"
|
||
},
|
||
"disappearingMessagesDisabledByMember": {
|
||
"message": "A member disabled disappearing messages.",
|
||
"description": "Displayed in the left pane when the timer is turned off"
|
||
},
|
||
"disabledDisappearingMessages": {
|
||
"message": "$name$ disabled disappearing messages.",
|
||
"description": "Displayed in the conversation list when the timer is turned off",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "John"
|
||
}
|
||
}
|
||
},
|
||
"youDisabledDisappearingMessages": {
|
||
"message": "You disabled disappearing messages.",
|
||
"description": "Displayed in the conversation list when the timer is turned off"
|
||
},
|
||
"timerSetTo": {
|
||
"message": "Timer 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"
|
||
}
|
||
}
|
||
},
|
||
"audioNotificationDescription": {
|
||
"message": "Play notification sounds",
|
||
"description": "Description for audio notification setting"
|
||
},
|
||
"callRingtoneNotificationDescription": {
|
||
"message": "Play calling sounds",
|
||
"description": "Description for call ringtone notification setting"
|
||
},
|
||
"callSystemNotificationDescription": {
|
||
"message": "Show notifications for calls",
|
||
"description": "Description for call notification setting"
|
||
},
|
||
"incomingCallNotificationDescription": {
|
||
"message": "Enable incoming calls",
|
||
"description": "Description for incoming calls setting"
|
||
},
|
||
"contactChangedProfileName": {
|
||
"message": "$sender$ changed their profile name from $oldProfile$ to $newProfile$.",
|
||
"description": "Description for incoming calls setting",
|
||
"placeholders": {
|
||
"sender": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"oldProfile": {
|
||
"content": "$2",
|
||
"example": ".x8Skillz8x."
|
||
},
|
||
"newProfile": {
|
||
"content": "$3",
|
||
"example": "Bob Smith"
|
||
}
|
||
}
|
||
},
|
||
"changedProfileName": {
|
||
"message": "$oldProfile$ changed their profile name to $newProfile$.",
|
||
"description": "Shown when a contact not in your address book changes their profile name",
|
||
"placeholders": {
|
||
"oldProfile": {
|
||
"content": "$2",
|
||
"example": ".x8Skillz8x."
|
||
},
|
||
"newProfile": {
|
||
"content": "$3",
|
||
"example": "Bob Smith"
|
||
}
|
||
}
|
||
},
|
||
"SafetyNumberModal__title": {
|
||
"message": "Verify Safety Number",
|
||
"description": "Title for the modal for safety number verification"
|
||
},
|
||
"safetyNumberChanged": {
|
||
"message": "Safety Number has changed",
|
||
"description": "A notification shown in the conversation when a contact reinstalls"
|
||
},
|
||
"safetyNumberChanges": {
|
||
"message": "Safety Number Changes",
|
||
"description": "Title for safety number changed modal"
|
||
},
|
||
"safetyNumberChangedGroup": {
|
||
"message": "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"
|
||
}
|
||
}
|
||
},
|
||
"verifyNewNumber": {
|
||
"message": "Verify Safety Number",
|
||
"description": "Label on button included with safety number change notification in the conversation"
|
||
},
|
||
"cannotGenerateSafetyNumber": {
|
||
"message": "This user can't be verified until you've exchanged messages with them.",
|
||
"description": "Shown on the safety number screen if you have never exchanged messages with that contact"
|
||
},
|
||
"yourSafetyNumberWith": {
|
||
"message": "Your safety number with $name1$:",
|
||
"description": "Heading for safety number view",
|
||
"placeholders": {
|
||
"name1": {
|
||
"content": "$1",
|
||
"example": "John"
|
||
}
|
||
}
|
||
},
|
||
"themeLight": {
|
||
"message": "Light",
|
||
"description": "Label text for light theme (normal)"
|
||
},
|
||
"themeDark": {
|
||
"message": "Dark",
|
||
"description": "Label text for dark theme"
|
||
},
|
||
"themeSystem": {
|
||
"message": "System",
|
||
"description": "Label text for system theme"
|
||
},
|
||
"noteToSelf": {
|
||
"message": "Note to Self",
|
||
"description": "Name for the conversation with your own phone number"
|
||
},
|
||
"noteToSelfHero": {
|
||
"message": "You can add notes for yourself in this conversation. If your account has any linked devices, new notes will be synced.",
|
||
"description": "Description for the Note to Self conversation"
|
||
},
|
||
"notificationDrawAttention": {
|
||
"message": "Draw attention to this window when a notification arrives",
|
||
"description": "Label text for the setting that controls whether new notifications draw attention to the window"
|
||
},
|
||
"hideMenuBar": {
|
||
"message": "Hide menu bar",
|
||
"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"
|
||
},
|
||
"newConversation": {
|
||
"message": "New conversation",
|
||
"description": "Label for header when starting a new conversation"
|
||
},
|
||
"stories": {
|
||
"message": "Stories",
|
||
"description": "Label for header to go to stories view"
|
||
},
|
||
"contactSearchPlaceholder": {
|
||
"message": "Search by name or phone number",
|
||
"description": "Placeholder to use when searching for contacts in the composer"
|
||
},
|
||
"noContactsFound": {
|
||
"message": "No contacts found",
|
||
"description": "Label shown when there are no contacts to compose to"
|
||
},
|
||
"noConversationsFound": {
|
||
"message": "No conversations found",
|
||
"description": "Label shown when there are no conversations to compose to"
|
||
},
|
||
"Toast--failed-to-fetch-username": {
|
||
"message": "Failed to fetch username. Check your connection and try again.",
|
||
"description": "Shown if request to Signal servers to find username fails"
|
||
},
|
||
"Toast--failed-to-fetch-phone-number": {
|
||
"message": "Failed to fetch phone number. Check your connection and try again.",
|
||
"description": "Shown if request to Signal servers to find phone number fails"
|
||
},
|
||
"startConversation--username-not-found": {
|
||
"message": "User not found. $atUsername$ is not a Signal user; make sure you’ve entered the complete username.",
|
||
"description": "Shown in dialog if username is not found. Note that 'username' will be the output of at-username",
|
||
"placeholders": {
|
||
"atUsername": {
|
||
"content": "$1",
|
||
"example": "@alex"
|
||
}
|
||
}
|
||
},
|
||
"startConversation--phone-number-not-found": {
|
||
"message": "User not found. \"$phoneNumber$\" is not a Signal user.",
|
||
"description": "Shown in dialog if phone number is not found.",
|
||
"placeholders": {
|
||
"phoneNumber": {
|
||
"content": "$1",
|
||
"example": "+1 203-123-4567"
|
||
}
|
||
}
|
||
},
|
||
"startConversation--phone-number-not-valid": {
|
||
"message": "User not found. \"$phoneNumber$\" is not a valid phone number.",
|
||
"description": "Shown in dialog if phone number is not valid.",
|
||
"placeholders": {
|
||
"phoneNumber": {
|
||
"content": "$1",
|
||
"example": "+1 203-123-4567"
|
||
}
|
||
}
|
||
},
|
||
"chooseGroupMembers__title": {
|
||
"message": "Choose members",
|
||
"description": "The title for the 'choose group members' left pane screen"
|
||
},
|
||
"chooseGroupMembers__back-button": {
|
||
"message": "Back",
|
||
"description": "Used as alt-text of the back button on the 'choose group members' left pane screen"
|
||
},
|
||
"chooseGroupMembers__skip": {
|
||
"message": "Skip",
|
||
"description": "The 'skip' button text in the 'choose group members' left pane screen"
|
||
},
|
||
"chooseGroupMembers__next": {
|
||
"message": "Next",
|
||
"description": "The 'next' button text in the 'choose group members' left pane screen"
|
||
},
|
||
"chooseGroupMembers__maximum-group-size__title": {
|
||
"message": "Maximum group size reached",
|
||
"description": "Shown in the alert when you add the maximum number of group members"
|
||
},
|
||
"chooseGroupMembers__maximum-group-size__body": {
|
||
"message": "Signal groups can have a maximum of $max$ members.",
|
||
"description": "Shown in the alert when you add the maximum number of group members",
|
||
"placeholders": {
|
||
"max": {
|
||
"content": "$1",
|
||
"example": "1000"
|
||
}
|
||
}
|
||
},
|
||
"chooseGroupMembers__maximum-recommended-group-size__title": {
|
||
"message": "Recommended member limit reached",
|
||
"description": "Shown in the alert when you add the maximum recommended number of group members"
|
||
},
|
||
"chooseGroupMembers__maximum-recommended-group-size__body": {
|
||
"message": "Signal groups perform best with $max$ members or less. Adding more members will cause delays sending and receiving messages.",
|
||
"description": "Shown in the alert when you add the maximum recommended number of group members",
|
||
"placeholders": {
|
||
"max": {
|
||
"content": "$1",
|
||
"example": "150"
|
||
}
|
||
}
|
||
},
|
||
"setGroupMetadata__title": {
|
||
"message": "Name this group",
|
||
"description": "The title for the 'set group metadata' left pane screen"
|
||
},
|
||
"setGroupMetadata__back-button": {
|
||
"message": "Back to member selection",
|
||
"description": "Used as alt-text of the back button on the 'set group metadata' left pane screen"
|
||
},
|
||
"setGroupMetadata__group-name-placeholder": {
|
||
"message": "Group name (required)",
|
||
"description": "The placeholder for the group name placeholder"
|
||
},
|
||
"setGroupMetadata__group-description-placeholder": {
|
||
"message": "Description",
|
||
"description": "The placeholder for the group description"
|
||
},
|
||
"setGroupMetadata__create-group": {
|
||
"message": "Create",
|
||
"description": "The 'create group' button text in the 'set group metadata' left pane screen"
|
||
},
|
||
"setGroupMetadata__members-header": {
|
||
"message": "Members",
|
||
"description": "The header for the members list in the 'set group metadata' left pane screen"
|
||
},
|
||
"setGroupMetadata__error-message": {
|
||
"message": "This group couldn’t be created. Check your connection and try again.",
|
||
"description": "Shown in the modal when we can't create a group"
|
||
},
|
||
"updateGroupAttributes__title": {
|
||
"message": "Edit group",
|
||
"description": "Shown in the modal when we want to update a group"
|
||
},
|
||
"updateGroupAttributes__error-message": {
|
||
"message": "Failed to update the group. Check your connection and try again.",
|
||
"description": "Shown in the modal when we can't update a group"
|
||
},
|
||
"notSupportedSMS": {
|
||
"message": "SMS/MMS messages are not supported.",
|
||
"description": "Label underneath number informing user that SMS is not supported on desktop"
|
||
},
|
||
"newPhoneNumber": {
|
||
"message": "Enter a phone number to add a contact.",
|
||
"description": "Placeholder for adding a new number to a contact"
|
||
},
|
||
"invalidNumberError": {
|
||
"message": "Invalid number",
|
||
"description": "When a person inputs a number that is invalid"
|
||
},
|
||
"unlinkedWarning": {
|
||
"message": "Click to relink Signal Desktop to your mobile device to continue messaging."
|
||
},
|
||
"unlinked": {
|
||
"message": "Unlinked"
|
||
},
|
||
"relink": {
|
||
"message": "Relink"
|
||
},
|
||
"autoUpdateNewVersionTitle": {
|
||
"message": "Update available"
|
||
},
|
||
"autoUpdateRetry": {
|
||
"message": "Retry update"
|
||
},
|
||
"autoUpdateContactSupport": {
|
||
"message": "contact support"
|
||
},
|
||
"autoUpdateNewVersionMessage": {
|
||
"message": "Click to restart Signal"
|
||
},
|
||
"downloadNewVersionMessage": {
|
||
"message": "Click to download update"
|
||
},
|
||
"downloadFullNewVersionMessage": {
|
||
"message": "Signal couldn’t update. Click to try again.",
|
||
"description": "Shown in update dialog when partial update fails and we have to ask user to download full update"
|
||
},
|
||
"autoUpdateNewVersionInstructions": {
|
||
"message": "Press Restart Signal to apply the updates."
|
||
},
|
||
"autoUpdateRestartButtonLabel": {
|
||
"message": "Restart Signal"
|
||
},
|
||
"autoUpdateLaterButtonLabel": {
|
||
"message": "Later"
|
||
},
|
||
"autoUpdateIgnoreButtonLabel": {
|
||
"message": "Ignore update"
|
||
},
|
||
"leftTheGroup": {
|
||
"message": "$name$ left the group.",
|
||
"description": "Shown in the conversation history when a single person leaves the group",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"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": "$name$ updated the group.",
|
||
"description": "Shown in the conversation history when someone updates the group",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"youUpdatedTheGroup": {
|
||
"message": "You updated the group.",
|
||
"description": "Shown in the conversation history when you update a group"
|
||
},
|
||
"updatedGroupAvatar": {
|
||
"message": "Group avatar was updated.",
|
||
"description": "Shown in the conversation history when someone updates the group"
|
||
},
|
||
"titleIsNow": {
|
||
"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"
|
||
}
|
||
}
|
||
},
|
||
"youJoinedTheGroup": {
|
||
"message": "You joined the group.",
|
||
"description": "Shown in the conversation history when you are added to a group."
|
||
},
|
||
"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"
|
||
}
|
||
}
|
||
},
|
||
"multipleJoinedTheGroup": {
|
||
"message": "$names$ joined the group.",
|
||
"description": "Shown in the conversation history when more than one person joins the group",
|
||
"placeholders": {
|
||
"names": {
|
||
"content": "$1",
|
||
"example": "Alice, Bob"
|
||
}
|
||
}
|
||
},
|
||
|
||
"ConversationList__aria-label": {
|
||
"message": "Conversation with $title$, $unreadCount$ new messages, last message: $lastMessage$.",
|
||
"description": "Aria label for the conversation list item",
|
||
"placeholders": {
|
||
"title": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
},
|
||
"unreadCount": {
|
||
"content": "$2",
|
||
"example": "23"
|
||
},
|
||
"lastMessage": {
|
||
"content": "$3",
|
||
"example": "How about Friday?"
|
||
}
|
||
}
|
||
},
|
||
"ConversationList__last-message-undefined": {
|
||
"message": "The last message may have been deleted.",
|
||
"description": "For aria-label within conversation list. Describes if last message is not defined."
|
||
},
|
||
"BaseConversationListItem__aria-label": {
|
||
"message": "Go to conversation with $title$",
|
||
"description": "Aria label for the conversation list item button",
|
||
"placeholders": {
|
||
"title": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"ConversationListItem--message-request": {
|
||
"message": "Message Request",
|
||
"description": "Preview shown for conversation if the user has not yet accepted an incoming message request"
|
||
},
|
||
"ConversationListItem--draft-prefix": {
|
||
"message": "Draft:",
|
||
"description": "Prefix shown in italic in conversation view when a draft is saved"
|
||
},
|
||
"message--getNotificationText--gif": {
|
||
"message": "GIF",
|
||
"description": "Shown in notifications and in the left pane when a GIF is received."
|
||
},
|
||
"message--getNotificationText--photo": {
|
||
"message": "Photo",
|
||
"description": "Shown in notifications and in the left pane when a photo is received."
|
||
},
|
||
"message--getNotificationText--video": {
|
||
"message": "Video",
|
||
"description": "Shown in notifications and in the left pane when a video is received."
|
||
},
|
||
"message--getNotificationText--voice-message": {
|
||
"message": "Voice Message",
|
||
"description": "Shown in notifications and in the left pane when a voice message is received."
|
||
},
|
||
"message--getNotificationText--audio-message": {
|
||
"message": "Audio Message",
|
||
"description": "Shown in notifications and in the left pane when an audio message is received."
|
||
},
|
||
"message--getNotificationText--file": {
|
||
"message": "File",
|
||
"description": "Shown in notifications and in the left pane when a generic file is received."
|
||
},
|
||
"message--getNotificationText--stickers": {
|
||
"message": "Sticker message",
|
||
"description": "Shown in notifications and in the left pane instead of sticker image."
|
||
},
|
||
"message--getNotificationText--text-with-emoji": {
|
||
"message": "$emoji$ $text$",
|
||
"description": "Shown in notifications and in the left pane when text has an emoji. Probably always [emoji] [text] on LTR languages and [text] [emoji] on RTL languages.",
|
||
"placeholders": {
|
||
"emoji": {
|
||
"content": "$1",
|
||
"example": "📷"
|
||
},
|
||
"text": {
|
||
"content": "$2",
|
||
"example": "Photo"
|
||
}
|
||
}
|
||
},
|
||
"message--getDescription--unsupported-message": {
|
||
"message": "Unsupported message",
|
||
"description": "Shown in notifications and in the left pane when a message has features too new for this signal install."
|
||
},
|
||
"message--getDescription--disappearing-media": {
|
||
"message": "View-once Media",
|
||
"description": "Shown in notifications and in the left pane after view-once message is deleted. Also shown when quoting a view once media."
|
||
},
|
||
"message--getDescription--disappearing-photo": {
|
||
"message": "View-once Photo",
|
||
"description": "Shown in notifications and in the left pane when a message is a view once photo. Also shown when quoting a view once photo."
|
||
},
|
||
"message--getDescription--disappearing-video": {
|
||
"message": "View-once Video",
|
||
"description": "Shown in notifications and in the left pane when a message is a view once video. Also shown when quoting a view once video."
|
||
},
|
||
"message--deletedForEveryone": {
|
||
"message": "This message was deleted.",
|
||
"description": "Shown in a message's bubble when the message has been deleted for everyone."
|
||
},
|
||
"message--giftBadge--unopened": {
|
||
"message": "View this message on mobile to open it",
|
||
"description": "Shown in a message's bubble when you've received a gift badge from a contact"
|
||
},
|
||
"message--giftBadge--unopened--label": {
|
||
"message": "Gift",
|
||
"description": "Shown in a message's bubble when you've received a gift badge from a contact"
|
||
},
|
||
"message--giftBadge--unopened--toast--incoming": {
|
||
"message": "Check your phone to open gift",
|
||
"description": "Shown when you've clicked on an incoming gift badge you haven't yet redeemed"
|
||
},
|
||
"message--giftBadge--unopened--toast--outgoing": {
|
||
"message": "Check your phone to view your gift",
|
||
"description": "Shown when you've clicked on an outgoing gift badge"
|
||
},
|
||
"message--giftBadge--preview--unopened": {
|
||
"message": "You received a gift",
|
||
"description": "Shown to label the gift badge in notifications and the left pane"
|
||
},
|
||
"message--giftBadge--preview--redeemed": {
|
||
"message": "You redeemed a gift badge",
|
||
"description": "Shown to label the redeemed gift badge in notifications and the left pane"
|
||
},
|
||
"message--giftBadge--preview--sent": {
|
||
"message": "You sent a gift badge",
|
||
"description": "Shown to label a gift badge you've sent in notifications and the left pane"
|
||
},
|
||
"message--giftBadge": {
|
||
"message": "Gift Badge",
|
||
"description": "Shown to label the gift badge you've redeemed on another device"
|
||
},
|
||
"quote--giftBadge": {
|
||
"message": "Gift",
|
||
"description": "Shown to label a gift badge you've replied to"
|
||
},
|
||
"message--giftBadge--remaining--days": {
|
||
"message": "$days$ days remaining",
|
||
"description": "Describes how long remains for the gift badge you've redeemed on another device (only rendered for days > 1)",
|
||
"placeholders": {
|
||
"days": {
|
||
"content": "$1",
|
||
"example": "58"
|
||
}
|
||
}
|
||
},
|
||
"message--giftBadge--remaining--hours": {
|
||
"message": "$hours$ hours remaining",
|
||
"description": "Describes how long remains for the gift badge you've redeemed on another device (only rendered for hours > 1)",
|
||
"placeholders": {
|
||
"hours": {
|
||
"content": "$1",
|
||
"example": "23"
|
||
}
|
||
}
|
||
},
|
||
"message--giftBadge--remaining--minutes": {
|
||
"message": "$minutes$ minutes remaining",
|
||
"description": "Describes how long remains for the gift badge you've redeemed on another device (only rendered for minutes > 1)",
|
||
"placeholders": {
|
||
"minutes": {
|
||
"content": "$1",
|
||
"example": "45"
|
||
}
|
||
}
|
||
},
|
||
"message--giftBadge--remaining--one-minute": {
|
||
"message": "1 minute remaining",
|
||
"description": "Describes how long remains for the gift badge you've redeemed on another device"
|
||
},
|
||
"message--giftBadge--expired": {
|
||
"message": "Expired",
|
||
"description": "Shows that a gift badge is expired"
|
||
},
|
||
"message--giftBadge--view": {
|
||
"message": "View",
|
||
"description": "Shown when you've sent a gift badge to someone then opened it"
|
||
},
|
||
"message--giftBadge--redeemed": {
|
||
"message": "Redeemed",
|
||
"description": "Shown when you've redeemed the gift badge on another device"
|
||
},
|
||
"modal--giftBadge--title": {
|
||
"message": "Thanks for your support!",
|
||
"description": "The title of the outgoing gift badge detail dialog"
|
||
},
|
||
"modal--giftBadge--description": {
|
||
"message": "You've gifted a badge to $name$. When they accept, they'll be given a choice to show or hide their badge.",
|
||
"description": "The description of the outgoing gift badge detail dialog",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Paige Hall"
|
||
}
|
||
}
|
||
},
|
||
"stickers--toast--InstallFailed": {
|
||
"message": "Sticker pack could not be installed",
|
||
"description": "Shown in a toast if the user attempts to install a sticker pack and it fails"
|
||
},
|
||
"stickers--StickerManager--InstalledPacks": {
|
||
"message": "Installed Stickers",
|
||
"description": "Shown in the sticker pack manager above your installed sticker packs."
|
||
},
|
||
"stickers--StickerManager--InstalledPacks--Empty": {
|
||
"message": "No stickers installed",
|
||
"description": "Shown in the sticker pack manager when you don't have any installed sticker packs."
|
||
},
|
||
"stickers--StickerManager--BlessedPacks": {
|
||
"message": "Signal Artist Series",
|
||
"description": "Shown in the sticker pack manager above the default sticker packs."
|
||
},
|
||
"stickers--StickerManager--BlessedPacks--Empty": {
|
||
"message": "No Signal Artist stickers available",
|
||
"description": "Shown in the sticker pack manager when there are no blessed sticker packs available."
|
||
},
|
||
"stickers--StickerManager--ReceivedPacks": {
|
||
"message": "Stickers You Received",
|
||
"description": "Shown in the sticker pack manager above sticker packs which you have received in messages."
|
||
},
|
||
"stickers--StickerManager--ReceivedPacks--Empty": {
|
||
"message": "Stickers from incoming messages will appear here",
|
||
"description": "Shown in the sticker pack manager when you have not received any sticker packs in messages."
|
||
},
|
||
"stickers--StickerManager--Install": {
|
||
"message": "Install",
|
||
"description": "Shown in the sticker pack manager next to sticker packs which can be installed."
|
||
},
|
||
"stickers--StickerManager--Uninstall": {
|
||
"message": "Uninstall",
|
||
"description": "Shown in the sticker pack manager next to sticker packs which are already installed."
|
||
},
|
||
"stickers--StickerManager--UninstallWarning": {
|
||
"message": "You may not be able to re-install this sticker pack if you no longer have the source message.",
|
||
"description": "Shown in the sticker pack manager next to sticker packs which are already installed."
|
||
},
|
||
"stickers--StickerManager--Introduction--Image": {
|
||
"message": "Introducing Stickers: Bandit the Cat",
|
||
"description": "Alt text on a tooltip image when the user upgrades to a version of Signal supporting stickers."
|
||
},
|
||
"stickers--StickerManager--Introduction--Title": {
|
||
"message": "Introducing Stickers",
|
||
"description": "Shown as the title on a tooltip when the user upgrades to a version of Signal supporting stickers."
|
||
},
|
||
"stickers--StickerManager--Introduction--Body": {
|
||
"message": "Why use words when you can use stickers?",
|
||
"description": "Shown as the body on a tooltip when the user upgrades to a version of Signal supporting stickers."
|
||
},
|
||
"stickers--StickerPicker--Open": {
|
||
"message": "Open the sticker picker",
|
||
"description": "Label for the open button for the sticker picker"
|
||
},
|
||
"stickers--StickerPicker--AddPack": {
|
||
"message": "Add a sticker pack",
|
||
"description": "Label for the add pack button in the sticker picker"
|
||
},
|
||
"stickers--StickerPicker--NextPage": {
|
||
"message": "Next Page",
|
||
"description": "Label for the next page button in the sticker picker"
|
||
},
|
||
"stickers--StickerPicker--PrevPage": {
|
||
"message": "Previous Page",
|
||
"description": "Label for the previous page button in the sticker picker"
|
||
},
|
||
"stickers--StickerPicker--Recents": {
|
||
"message": "Recent Sticker",
|
||
"description": "Label for the recent stickers button in the sticker picker"
|
||
},
|
||
"stickers--StickerPicker--DownloadError": {
|
||
"message": "Some stickers could not be downloaded.",
|
||
"description": "Shown in the sticker picker when one or more stickers could not be downloaded."
|
||
},
|
||
"stickers--StickerPicker--DownloadPending": {
|
||
"message": "Installing sticker pack...",
|
||
"description": "Shown in the sticker picker when one or more stickers are still downloading."
|
||
},
|
||
"stickers--StickerPicker--Empty": {
|
||
"message": "No stickers found",
|
||
"description": "Shown in the sticker picker when there are no stickers to show."
|
||
},
|
||
"stickers--StickerPicker--Hint": {
|
||
"message": "New sticker packs from your messages are available to install",
|
||
"description": "Shown in the sticker picker the first time you have received new packs you can install."
|
||
},
|
||
"stickers--StickerPicker--NoPacks": {
|
||
"message": "No sticker packs found",
|
||
"description": "Shown in the sticker picker when there are no installed sticker packs."
|
||
},
|
||
"stickers--StickerPicker--NoRecents": {
|
||
"message": "Recently used stickers will appear here.",
|
||
"description": "Shown in the sticker picker when there are no recent stickers to show."
|
||
},
|
||
"stickers--StickerPreview--Title": {
|
||
"message": "Sticker Pack",
|
||
"description": "The title that appears in the sticker pack preview modal."
|
||
},
|
||
"stickers--StickerPreview--Error": {
|
||
"message": "Error opening sticker pack. Check your internet connection and try again.",
|
||
"description": "The message that appears in the sticker preview modal when there is an error."
|
||
},
|
||
"EmojiPicker--empty": {
|
||
"message": "No emoji found",
|
||
"description": "Shown in the emoji picker when a search yields 0 results."
|
||
},
|
||
"EmojiPicker--search-placeholder": {
|
||
"message": "Search Emoji",
|
||
"description": "Shown as a placeholder inside the emoji picker search field."
|
||
},
|
||
"EmojiPicker--skin-tone": {
|
||
"message": "Skin tone $tone$",
|
||
"description": "Shown as a tooltip over the emoji tone buttons.",
|
||
"placeholders": {
|
||
"status": {
|
||
"content": "$1",
|
||
"example": "2"
|
||
}
|
||
}
|
||
},
|
||
"EmojiPicker__button--recents": {
|
||
"message": "Recents",
|
||
"description": "Label for recents emoji picker button"
|
||
},
|
||
"EmojiPicker__button--emoji": {
|
||
"message": "Emoji",
|
||
"description": "Label for emoji emoji picker button"
|
||
},
|
||
"EmojiPicker__button--animal": {
|
||
"message": "Animal",
|
||
"description": "Label for animal emoji picker button"
|
||
},
|
||
"EmojiPicker__button--food": {
|
||
"message": "Food",
|
||
"description": "Label for food emoji picker button"
|
||
},
|
||
"EmojiPicker__button--activity": {
|
||
"message": "Activity",
|
||
"description": "Label for activity emoji picker button"
|
||
},
|
||
"EmojiPicker__button--travel": {
|
||
"message": "Travel",
|
||
"description": "Label for travel emoji picker button"
|
||
},
|
||
"EmojiPicker__button--object": {
|
||
"message": "Object",
|
||
"description": "Label for object emoji picker button"
|
||
},
|
||
"EmojiPicker__button--symbol": {
|
||
"message": "Symbol",
|
||
"description": "Label for symbol emoji picker button"
|
||
},
|
||
"EmojiPicker__button--flag": {
|
||
"message": "Flag",
|
||
"description": "Label for flag emoji picker button"
|
||
},
|
||
"confirmation-dialog--Cancel": {
|
||
"message": "Cancel",
|
||
"description": "Appears on the cancel button in confirmation dialogs."
|
||
},
|
||
"MessageBody--read-more": {
|
||
"message": "Read more",
|
||
"description": "When a message is too long this is the affordance to expand the message"
|
||
},
|
||
"Message--unsupported-message": {
|
||
"message": "$contact$ sent you a message that can't be processed or displayed because it uses a new Signal feature.",
|
||
"placeholders": {
|
||
"contact": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"Message--unsupported-message-ask-to-resend": {
|
||
"message": "You can ask $contact$ to re-send this message now that you are using an up-to-date version of Signal.",
|
||
"placeholders": {
|
||
"contact": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"Message--from-me-unsupported-message": {
|
||
"message": "One of your devices sent a message that can't be processed or displayed because it uses a new Signal feature."
|
||
},
|
||
"Message--from-me-unsupported-message-ask-to-resend": {
|
||
"message": "Future messages like this will be synchronized now that you are using an up-to-date version of Signal."
|
||
},
|
||
"Message--update-signal": {
|
||
"message": "Update Signal",
|
||
"description": "Text for a button which will take user to Signal download page"
|
||
},
|
||
"Message--tap-to-view-expired": {
|
||
"message": "Viewed",
|
||
"description": "Text shown on messages with with individual timers, after user has viewed it"
|
||
},
|
||
"Message--tap-to-view--outgoing": {
|
||
"message": "Media",
|
||
"description": "Text shown on outgoing messages with with individual timers (inaccessible)"
|
||
},
|
||
"Message--tap-to-view--incoming--expired-toast": {
|
||
"message": "You already viewed this message.",
|
||
"description": "Shown when user clicks on an expired incoming view-once bubble"
|
||
},
|
||
"Message--tap-to-view--outgoing--expired-toast": {
|
||
"message": "View-once messages are not stored in your conversation history.",
|
||
"description": "Shown when user clicks on an expired outgoing view-once bubble"
|
||
},
|
||
"Message--tap-to-view--incoming": {
|
||
"message": "View Photo",
|
||
"description": "Text shown on photo messages with with individual timers, before user has viewed it"
|
||
},
|
||
"Message--tap-to-view--incoming-video": {
|
||
"message": "View Video",
|
||
"description": "Text shown on video messages with with individual timers, before user has viewed it"
|
||
},
|
||
"Conversation--getDraftPreview--attachment": {
|
||
"message": "(attachment)",
|
||
"description": "Text shown in left pane as preview for conversation with saved a saved draft message"
|
||
},
|
||
"Conversation--getDraftPreview--quote": {
|
||
"message": "(quote)",
|
||
"description": "Text shown in left pane as preview for conversation with saved a saved draft message"
|
||
},
|
||
"Conversation--getDraftPreview--draft": {
|
||
"message": "(draft)",
|
||
"description": "Text shown in left pane as preview for conversation with saved a saved draft message"
|
||
},
|
||
"Keyboard--navigate-by-section": {
|
||
"message": "Navigate by section",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--previous-conversation": {
|
||
"message": "Previous conversation",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--next-conversation": {
|
||
"message": "Next conversation",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--previous-unread-conversation": {
|
||
"message": "Previous unread conversation",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--next-unread-conversation": {
|
||
"message": "Next unread conversation",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--preferences": {
|
||
"message": "Preferences",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--open-conversation-menu": {
|
||
"message": "Open conversation menu",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--new-conversation": {
|
||
"message": "Start new conversation",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--archive-conversation": {
|
||
"message": "Archive conversation",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--unarchive-conversation": {
|
||
"message": "Unarchive conversation",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--search": {
|
||
"message": "Search",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--search-in-conversation": {
|
||
"message": "Search in conversation",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--focus-composer": {
|
||
"message": "Focus composer",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--open-all-media-view": {
|
||
"message": "Open All Media view",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--open-emoji-chooser": {
|
||
"message": "Open emoji chooser",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--open-sticker-chooser": {
|
||
"message": "Open sticker chooser",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--begin-recording-voice-note": {
|
||
"message": "Begin recording voice note",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--default-message-action": {
|
||
"message": "Default action for selected message",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--view-details-for-selected-message": {
|
||
"message": "View selected message details",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--toggle-reply": {
|
||
"message": "Toggle reply to selected message",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--toggle-reaction-picker": {
|
||
"message": "Toggle emoji-reaction picker for selected message",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--save-attachment": {
|
||
"message": "Save attachment from selected message",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--delete-message": {
|
||
"message": "Delete selected message",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--add-newline": {
|
||
"message": "Add newline to message",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--expand-composer": {
|
||
"message": "Expand composer",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--send-in-expanded-composer": {
|
||
"message": "Send (in expanded composer)",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--attach-file": {
|
||
"message": "Attach file",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--remove-draft-link-preview": {
|
||
"message": "Remove draft link preview",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--remove-draft-attachments": {
|
||
"message": "Remove all draft attachments",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--conversation-by-index": {
|
||
"message": "Jump to conversation",
|
||
"description": "A shortcut allowing direct navigation to conversations 1 to 9 in list"
|
||
},
|
||
"Keyboard--Key--ctrl": {
|
||
"message": "Ctrl",
|
||
"description": "Key shown in shortcut combination in shortcuts guide"
|
||
},
|
||
"Keyboard--Key--option": {
|
||
"message": "Option",
|
||
"description": "Key shown in shortcut combination in shortcuts guide"
|
||
},
|
||
"Keyboard--Key--alt": {
|
||
"message": "Alt",
|
||
"description": "Key shown in shortcut combination in shortcuts guide"
|
||
},
|
||
"Keyboard--Key--shift": {
|
||
"message": "Shift",
|
||
"description": "Key shown in shortcut combination in shortcuts guide"
|
||
},
|
||
"Keyboard--Key--enter": {
|
||
"message": "Enter",
|
||
"description": "Key shown in shortcut combination in shortcuts guide"
|
||
},
|
||
"Keyboard--Key--tab": {
|
||
"message": "Tab",
|
||
"description": "Key shown in shortcut combination in shortcuts guide"
|
||
},
|
||
"Keyboard--Key--one-to-nine-range": {
|
||
"message": "1 to 9",
|
||
"description": "Expresses that 1, 2, 3, up to 9 are available shortcut keys"
|
||
},
|
||
"Keyboard--header": {
|
||
"message": "Keyboard Shortcuts",
|
||
"description": "Title header of the keyboard shortcuts guide"
|
||
},
|
||
"Keyboard--navigation-header": {
|
||
"message": "Navigation",
|
||
"description": "Header of the keyboard shortcuts guide - navigation section"
|
||
},
|
||
"Keyboard--messages-header": {
|
||
"message": "Messages",
|
||
"description": "Header of the keyboard shortcuts guide - messages section"
|
||
},
|
||
"Keyboard--composer-header": {
|
||
"message": "Composer",
|
||
"description": "Header of the keyboard shortcuts guide - composer section"
|
||
},
|
||
"Keyboard--scroll-to-top": {
|
||
"message": "Scroll to top of list",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--scroll-to-bottom": {
|
||
"message": "Scroll to bottom of list",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--close-curent-conversation": {
|
||
"message": "Close current conversation",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--calling-header": {
|
||
"message": "Calling",
|
||
"description": "Header of the keyboard shortcuts guide - calling section"
|
||
},
|
||
"Keyboard--toggle-audio": {
|
||
"message": "Toggle mute on and off",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--toggle-video": {
|
||
"message": "Toggle video on and off",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--accept-video-call": {
|
||
"message": "Accept call with video",
|
||
"description": "Shown in the calling keyboard shortcuts guide"
|
||
},
|
||
"Keyboard--accept-audio-call": {
|
||
"message": "Accept call with audio",
|
||
"description": "Shown in the calling keyboard shortcuts guide"
|
||
},
|
||
"Keyboard--start-audio-call": {
|
||
"message": "Start audio call",
|
||
"description": "Shown in the calling keyboard shortcuts guide"
|
||
},
|
||
"Keyboard--start-video-call": {
|
||
"message": "Start video call",
|
||
"description": "Shown in the calling keyboard shortcuts guide"
|
||
},
|
||
"Keyboard--decline-call": {
|
||
"message": "Decline call",
|
||
"description": "Shown in the calling keyboard shortcuts guide"
|
||
},
|
||
"Keyboard--hang-up": {
|
||
"message": "End call",
|
||
"description": "Shown in the calling keyboard shortcuts guide"
|
||
},
|
||
"close-popup": {
|
||
"message": "Close Popup",
|
||
"description": "Used as alt text for any button closing a popup"
|
||
},
|
||
"add-image-attachment": {
|
||
"message": "Add image attachment",
|
||
"description": "Used in draft attachment list for the big 'add new attachment' button"
|
||
},
|
||
"remove-attachment": {
|
||
"message": "Remove attachment",
|
||
"description": "Used in draft attachment list to remove an individual attachment"
|
||
},
|
||
"backToInbox": {
|
||
"message": "Back to inbox",
|
||
"description": "Used as alt-text of button on archived conversations screen"
|
||
},
|
||
"conversationArchived": {
|
||
"message": "Conversation archived",
|
||
"description": "A toast that shows up when user archives a conversation"
|
||
},
|
||
"conversationArchivedUndo": {
|
||
"message": "Undo",
|
||
"description": "Undo button for archiving a conversation"
|
||
},
|
||
"conversationReturnedToInbox": {
|
||
"message": "Conversation returned to inbox",
|
||
"description": "A toast that shows up when the user unarchives a conversation"
|
||
},
|
||
"conversationMarkedUnread": {
|
||
"message": "Conversation marked unread",
|
||
"description": "A toast that shows up when user marks a conversation as unread"
|
||
},
|
||
"StickerCreator--title": {
|
||
"message": "Sticker pack creator",
|
||
"description": "The title of the Sticker Pack Creator window"
|
||
},
|
||
"StickerCreator--DropZone--staticText": {
|
||
"message": "Click to add or drop images here",
|
||
"description": "Text which appears on the Sticker Creator drop zone when there is no active drag"
|
||
},
|
||
"StickerCreator--DropZone--activeText": {
|
||
"message": "Drop images here",
|
||
"description": "Text which appears on the Sticker Creator drop zone when there is an active drag"
|
||
},
|
||
"StickerCreator--Preview--title": {
|
||
"message": "Sticker pack",
|
||
"description": "The 'title' of the sticker pack preview 'modal'"
|
||
},
|
||
"StickerCreator--ConfirmDialog--cancel": {
|
||
"message": "Cancel",
|
||
"description": "The default text for the confirm dialog cancel button"
|
||
},
|
||
"StickerCreator--CopyText--button": {
|
||
"message": "Copy",
|
||
"description": "The text which appears on the copy button for the sticker creator share screen"
|
||
},
|
||
"StickerCreator--ShareButtons--facebook": {
|
||
"message": "Facebook",
|
||
"description": "Title for Facebook button"
|
||
},
|
||
"StickerCreator--ShareButtons--twitter": {
|
||
"message": "Twitter",
|
||
"description": "Title for Twitter button"
|
||
},
|
||
"StickerCreator--ShareButtons--pinterest": {
|
||
"message": "Pinterest",
|
||
"description": "Title for Pinterest button"
|
||
},
|
||
"StickerCreator--ShareButtons--whatsapp": {
|
||
"message": "WhatsApp",
|
||
"description": "Title for WhatsApp button"
|
||
},
|
||
"StickerCreator--AppStage--next": {
|
||
"message": "Next",
|
||
"description": "Default text for the next button on all stages of the sticker creator"
|
||
},
|
||
"StickerCreator--AppStage--prev": {
|
||
"message": "Back",
|
||
"description": "Default text for the previous button on all stages of the sticker creator"
|
||
},
|
||
"StickerCreator--DropStage--title": {
|
||
"message": "Add your stickers",
|
||
"description": "Title for the drop stage of the sticker creator"
|
||
},
|
||
"StickerCreator--DropStage--removeSticker": {
|
||
"message": "Remove sticker",
|
||
"description": "Label for the X button used to remove a staged sticker"
|
||
},
|
||
"StickerCreator--DropStage--dragDrop": {
|
||
"message": "Click or drag/drop a file to add a sticker",
|
||
"description": "Shown on the + section of the file addition stage of sticker pack creation"
|
||
},
|
||
"StickerCreator--DropStage--help": {
|
||
"message": "Stickers must be in PNG, APNG, or WebP format with a transparent background and 512x512 pixels. Recommended margin is 16px.",
|
||
"description": "Help text for the drop stage of the sticker creator"
|
||
},
|
||
"StickerCreator--DropStage--showMargins": {
|
||
"message": "Show margins",
|
||
"description": "Text for the show margins toggle on the drop stage of the sticker creator"
|
||
},
|
||
"StickerCreator--DropStage--addMore": {
|
||
"message": "Add $count$ or more",
|
||
"description": "Text to show user how many more stickers they must add",
|
||
"placeholders": {
|
||
"hashtag": {
|
||
"content": "$1",
|
||
"example": "4"
|
||
}
|
||
}
|
||
},
|
||
"StickerCreator--EmojiStage--title": {
|
||
"message": "Add an emoji to each sticker",
|
||
"description": "Title for the drop stage of the sticker creator"
|
||
},
|
||
"StickerCreator--EmojiStage--help": {
|
||
"message": "This allows us to suggest stickers to you as you're messaging.",
|
||
"description": "Help text for the drop stage of the sticker creator"
|
||
},
|
||
"StickerCreator--MetaStage--title": {
|
||
"message": "Just a few more details...",
|
||
"description": "Title for the meta stage of the sticker creator"
|
||
},
|
||
"StickerCreator--MetaStage--Field--title": {
|
||
"message": "Title",
|
||
"description": "Label for the title input of the meta stage of the sticker creator"
|
||
},
|
||
"StickerCreator--MetaStage--Field--author": {
|
||
"message": "Author",
|
||
"description": "Label for the author input of the meta stage of the sticker creator"
|
||
},
|
||
"StickerCreator--MetaStage--Field--cover": {
|
||
"message": "Cover image",
|
||
"description": "Label for the cover image picker of the meta stage of the sticker creator"
|
||
},
|
||
"StickerCreator--MetaStage--Field--cover--help": {
|
||
"message": "This is the image that will show up when you share your sticker pack",
|
||
"description": "Help text for the cover image picker of the meta stage of the sticker creator"
|
||
},
|
||
"StickerCreator--MetaStage--ConfirmDialog--title": {
|
||
"message": "Are you sure you want to upload your sticker pack?",
|
||
"description": "Title for the confirm dialog on the meta stage of the sticker creator"
|
||
},
|
||
"StickerCreator--MetaStage--ConfirmDialog--confirm": {
|
||
"message": "Upload",
|
||
"description": "Text for the upload button in the confirmation dialog on the meta stage of the sticker creator"
|
||
},
|
||
"StickerCreator--MetaStage--ConfirmDialog--text": {
|
||
"message": "You will no longer be able to make edits or delete after creating a sticker pack.",
|
||
"description": "The text inside the confirmation dialog on the meta stage of the sticker creator"
|
||
},
|
||
"StickerCreator--UploadStage--title": {
|
||
"message": "Creating your sticker pack",
|
||
"description": "Title for the upload stage of the sticker creator"
|
||
},
|
||
"StickerCreator--UploadStage-uploaded": {
|
||
"message": "$count$ of $total$ uploaded",
|
||
"description": "Title for the upload stage of the sticker creator",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "3"
|
||
},
|
||
"total": {
|
||
"content": "$2",
|
||
"example": "20"
|
||
}
|
||
}
|
||
},
|
||
"StickerCreator--ShareStage--title": {
|
||
"message": "Congratulations! You created a sticker pack.",
|
||
"description": "Title for the share stage of the sticker creator"
|
||
},
|
||
"StickerCreator--ShareStage--help": {
|
||
"message": "Access your new stickers through the sticker icon, or share with your friends using the link below.",
|
||
"description": "Help text for the share stage of the sticker creator"
|
||
},
|
||
"StickerCreator--ShareStage--callToAction": {
|
||
"message": "Use the hashtag $hashtag$ to help other people find the URLs for any custom sticker packs that you would like to make publicly accessible.",
|
||
"description": "Call to action text for the share stage of the sticker creator",
|
||
"placeholders": {
|
||
"hashtag": {
|
||
"content": "$1",
|
||
"example": "<strong>#makeprivacystick</strong>"
|
||
}
|
||
}
|
||
},
|
||
"StickerCreator--ShareStage--copyTitle": {
|
||
"message": "Sticker Pack URL",
|
||
"description": "Title for the copy button on the share stage of the sticker creator"
|
||
},
|
||
"StickerCreator--ShareStage--close": {
|
||
"message": "Close",
|
||
"description": "Text for the close button on the share stage of the sticker creator"
|
||
},
|
||
"StickerCreator--ShareStage--createAnother": {
|
||
"message": "Create another sticker pack",
|
||
"description": "Text for the create another sticker pack button on the share stage of the sticker creator"
|
||
},
|
||
"StickerCreator--ShareStage--socialMessage": {
|
||
"message": "Check out this new sticker pack I created for Signal. #makeprivacystick",
|
||
"description": "Text which is shared to social media platforms for sticker packs"
|
||
},
|
||
"StickerCreator--Toasts--imagesAdded": {
|
||
"message": "$count$ image(s) added",
|
||
"description": "Text for the toast when images are added to the sticker creator",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "3"
|
||
}
|
||
}
|
||
},
|
||
"StickerCreator--Toasts--animated": {
|
||
"message": "Animated stickers are not currently supported",
|
||
"description": "Text for the toast when an image that is animated was dropped on the sticker creator"
|
||
},
|
||
"StickerCreator--Toasts--tooLarge": {
|
||
"message": "Dropped image is too large",
|
||
"description": "Text for the toast when an image that is too large was dropped on the sticker creator"
|
||
},
|
||
"StickerCreator--Toasts--errorProcessing": {
|
||
"message": "Error processing image",
|
||
"description": "Text for the toast when an image cannot be processed was dropped on the sticker creator with a generic error"
|
||
},
|
||
"StickerCreator--Toasts--APNG--notSquare": {
|
||
"message": "Animated PNG stickers must be square",
|
||
"description": "Text for the toast when someone tries to upload a non-square APNG"
|
||
},
|
||
"StickerCreator--Toasts--mustLoopForever": {
|
||
"message": "Animated stickers must loop forever",
|
||
"description": "Text for the toast when an image in the sticker creator does not animate forever"
|
||
},
|
||
"StickerCreator--Toasts--APNG--dimensionsTooLarge": {
|
||
"message": "Animated PNG sticker dimensions are too large",
|
||
"description": "Text for the toast when an APNG image in the sticker creator is too large"
|
||
},
|
||
"StickerCreator--Toasts--APNG--dimensionsTooSmall": {
|
||
"message": "Animated PNG sticker dimensions are too small",
|
||
"description": "Text for the toast when an APNG image in the sticker creator is too small"
|
||
},
|
||
"StickerCreator--Toasts--errorUploading": {
|
||
"message": "Error uploading stickers: $message$",
|
||
"description": "Text for the toast when a sticker pack cannot be uploaded",
|
||
"placeholders": {
|
||
"message": {
|
||
"content": "$1",
|
||
"example": "Not connected"
|
||
}
|
||
}
|
||
},
|
||
"StickerCreator--Toasts--linkedCopied": {
|
||
"message": "Link copied",
|
||
"description": "Text for the toast when a link for sharing is copied from the Sticker Creator"
|
||
},
|
||
"StickerCreator--StickerPreview--light": {
|
||
"message": "My sticker in light theme",
|
||
"description": "Text for the sticker preview for the light theme"
|
||
},
|
||
"StickerCreator--StickerPreview--dark": {
|
||
"message": "My sticker in dark theme",
|
||
"description": "Text for the sticker preview for the dark theme"
|
||
},
|
||
"StickerCreator--Authentication--error": {
|
||
"message": "Please set up Signal on your phone and desktop to use the Sticker Pack Creator",
|
||
"description": "The error message which appears when the user has not linked their account and attempts to use the Sticker Creator"
|
||
},
|
||
"Reactions--remove": {
|
||
"message": "Remove reaction",
|
||
"describe": "Shown when you want to remove a reaction you've made"
|
||
},
|
||
"Reactions--error": {
|
||
"message": "Failed to send reaction. Please try again.",
|
||
"description": "Shown when a reaction fails to send"
|
||
},
|
||
"Reactions--more": {
|
||
"message": "More",
|
||
"description": "Use in the reaction picker as the alt text for the 'more' button"
|
||
},
|
||
"ReactionsViewer--all": {
|
||
"message": "All",
|
||
"description": "Shown in reaction viewer as the title for the 'all' category"
|
||
},
|
||
"MessageRequests--message-direct": {
|
||
"message": "Let $name$ message you and share your name and photo with them? They won’t know you’ve seen their messages until you accept.",
|
||
"description": "Shown as the message for a message request in a direct message",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Cayce"
|
||
}
|
||
}
|
||
},
|
||
"MessageRequests--message-direct-blocked": {
|
||
"message": "Let $name$ message you and share your name and photo with them? You won't receive any messages until you unblock them.",
|
||
"description": "Shown as the message for a message request in a direct message with a blocked account",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Cayce"
|
||
}
|
||
}
|
||
},
|
||
"MessageRequests--message-group": {
|
||
"message": "Join this group and share your name and photo with its members? They won’t know you’ve seen their messages until you accept.",
|
||
"description": "Shown as the message for a message request in a group"
|
||
},
|
||
"MessageRequests--message-group-blocked": {
|
||
"message": "Unblock this group and share your name and photo with its members? You won't receive any messages until you unblock them.",
|
||
"description": "Shown as the message for a message request in a blocked group"
|
||
},
|
||
"MessageRequests--block": {
|
||
"message": "Block",
|
||
"description": "Shown as a button to let the user block a message request"
|
||
},
|
||
"MessageRequests--unblock": {
|
||
"message": "Unblock",
|
||
"description": "Shown as a button to let the user unblock a message request"
|
||
},
|
||
"MessageRequests--unblock-direct-confirm-title": {
|
||
"message": "Unblock $name$?",
|
||
"description": "Shown as a button to let the user unblock a message request",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Cayce Pollard"
|
||
}
|
||
}
|
||
},
|
||
"MessageRequests--unblock-direct-confirm-body": {
|
||
"message": "You will be able to message and call each other.",
|
||
"description": "Shown as the body in the confirmation modal for unblocking a private message request"
|
||
},
|
||
"MessageRequests--unblock-group-confirm-body": {
|
||
"message": "Group members will be able to add you to this group again.",
|
||
"description": "Shown as the body in the confirmation modal for unblocking a group message request"
|
||
},
|
||
"MessageRequests--block-and-report-spam": {
|
||
"message": "Report Spam and Block",
|
||
"description": "Shown as a button to let the user block a message request and report spam"
|
||
},
|
||
"MessageRequests--block-and-report-spam-success-toast": {
|
||
"message": "Reported as spam and blocked.",
|
||
"description": "Shown in a toast when you successfully block a user and report them as spam"
|
||
},
|
||
"MessageRequests--block-direct-confirm-title": {
|
||
"message": "Block $name$?",
|
||
"description": "Shown as the title in the confirmation modal for blocking a private message request",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Cayce Pollard"
|
||
}
|
||
}
|
||
},
|
||
"MessageRequests--block-direct-confirm-body": {
|
||
"message": "Blocked people won't be able to call you or send you messages.",
|
||
"description": "Shown as the body in the confirmation modal for blocking a private message request"
|
||
},
|
||
"MessageRequests--block-group-confirm-title": {
|
||
"message": "Block and Leave $group$?",
|
||
"description": "Shown as the title in the confirmation modal for blocking a group message request",
|
||
"placeholders": {
|
||
"group": {
|
||
"content": "$1",
|
||
"example": "Friends 🌿"
|
||
}
|
||
}
|
||
},
|
||
"MessageRequests--block-group-confirm-body": {
|
||
"message": "You will no longer receive messages or updates from this group and members won't be able to add you to this group again.",
|
||
"description": "Shown as the body in the confirmation modal for blocking a group message request"
|
||
},
|
||
"MessageRequests--delete": {
|
||
"message": "Delete",
|
||
"description": "Shown as a button to let the user delete any message request"
|
||
},
|
||
"MessageRequests--delete-direct-confirm-title": {
|
||
"message": "Delete conversation?",
|
||
"description": "Shown as the title in the confirmation modal for deleting a private message request"
|
||
},
|
||
"MessageRequests--delete-direct-confirm-body": {
|
||
"message": "This conversation will be deleted from all of your devices.",
|
||
"description": "Shown as the body in the confirmation modal for deleting a private message request"
|
||
},
|
||
"MessageRequests--delete-group-confirm-title": {
|
||
"message": "Delete and Leave $group$?",
|
||
"description": "Shown as the title in the confirmation modal for deleting a group message request",
|
||
"placeholders": {
|
||
"group": {
|
||
"content": "$1",
|
||
"example": "Friends 🌿"
|
||
}
|
||
}
|
||
},
|
||
"MessageRequests--delete-direct": {
|
||
"message": "Delete",
|
||
"description": "Shown as a button to let the user delete a direct message request"
|
||
},
|
||
"MessageRequests--delete-group": {
|
||
"message": "Delete and Leave",
|
||
"description": "Shown as a button to let the user delete a group message request"
|
||
},
|
||
"MessageRequests--delete-group-confirm-body": {
|
||
"message": "You will leave this group, and it will be deleted from all your devices.",
|
||
"description": "Shown as the body in the confirmation modal for deleting a group message request"
|
||
},
|
||
"MessageRequests--accept": {
|
||
"message": "Accept",
|
||
"description": "Shown as a button to let the user accept a message request"
|
||
},
|
||
"MessageRequests--continue": {
|
||
"message": "Continue",
|
||
"description": "Shown as a button to share your profile, necessary to continue messaging in a conversation"
|
||
},
|
||
"MessageRequests--profile-sharing--group": {
|
||
"message": "Continue your conversation with this group and share your name and photo with its members? $learnMore$",
|
||
"description": "Shown when user hasn't shared their profile in a group yet",
|
||
"placeholders": {
|
||
"learnMore": {
|
||
"content": "$1",
|
||
"example": "Learn More."
|
||
}
|
||
}
|
||
},
|
||
"MessageRequests--profile-sharing--direct": {
|
||
"message": "Continue this conversation with $firstName$ and share your name and photo with them? $learnMore$",
|
||
"description": "Shown when user hasn't shared their profile in a 1:1 conversation yet",
|
||
"placeholders": {
|
||
"firstName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
},
|
||
"learnMore": {
|
||
"content": "$2",
|
||
"example": "Learn More."
|
||
}
|
||
}
|
||
},
|
||
"MessageRequests--learn-more": {
|
||
"message": "Learn more.",
|
||
"description": "Shown at the end of profile sharing messages as a link."
|
||
},
|
||
"ConversationHero--members": {
|
||
"message": "$count$ members",
|
||
"description": "Specifies the number of members in a group conversation",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "22"
|
||
}
|
||
}
|
||
},
|
||
"ConversationHero--members-1": {
|
||
"message": "1 member",
|
||
"description": "Specifies the number of members in a group conversation when there is one member",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "22"
|
||
}
|
||
}
|
||
},
|
||
"member-of-1-group": {
|
||
"message": "Member of $group$",
|
||
"description": "Shown in the conversation hero to indicate this user is a member of a mutual group",
|
||
"placeholders": {
|
||
"group": {
|
||
"content": "$1",
|
||
"example": "NYC Rock Climbers"
|
||
}
|
||
}
|
||
},
|
||
"member-of-2-groups": {
|
||
"message": "Member of $group1$ and $group2$",
|
||
"description": "Shown in the conversation hero to indicate this user is a member of two mutual groups",
|
||
"placeholders": {
|
||
"group1": {
|
||
"content": "$1",
|
||
"example": "NYC Rock Climbers"
|
||
},
|
||
"group2": {
|
||
"content": "$2",
|
||
"example": "Dinner Party"
|
||
}
|
||
}
|
||
},
|
||
"member-of-3-groups": {
|
||
"message": "Member of $group1$, $group2$, and $group3$",
|
||
"description": "Shown in the conversation hero to indicate this user is a member of three mutual groups",
|
||
"placeholders": {
|
||
"group1": {
|
||
"content": "$1",
|
||
"example": "NYC Rock Climbers"
|
||
},
|
||
"group2": {
|
||
"content": "$2",
|
||
"example": "Dinner Party"
|
||
},
|
||
"group3": {
|
||
"content": "$3",
|
||
"example": "Friends 🌿"
|
||
}
|
||
}
|
||
},
|
||
"member-of-more-than-3-groups--one-more": {
|
||
"message": "Member of $group1$, $group2$, $group3$ and one more",
|
||
"description": "Shown in the conversation hero to indicate this user is a member of four mutual groups",
|
||
"placeholders": {
|
||
"group1": {
|
||
"content": "$1",
|
||
"example": "NYC Rock Climbers"
|
||
},
|
||
"group2": {
|
||
"content": "$2",
|
||
"example": "Dinner Party"
|
||
},
|
||
"group3": {
|
||
"content": "$3",
|
||
"example": "Friends 🌿"
|
||
}
|
||
}
|
||
},
|
||
"member-of-more-than-3-groups--multiple-more": {
|
||
"message": "Member of $group1$, $group2$, $group3$ and $remainingCount$ more",
|
||
"description": "Shown in the conversation hero to indicate this user is a member of 5+ mutual groups.",
|
||
"placeholders": {
|
||
"group1": {
|
||
"content": "$1",
|
||
"example": "NYC Rock Climbers"
|
||
},
|
||
"group2": {
|
||
"content": "$2",
|
||
"example": "Dinner Party"
|
||
},
|
||
"group3": {
|
||
"content": "$3",
|
||
"example": "Friends 🌿"
|
||
},
|
||
"remainingCount": {
|
||
"content": "$4",
|
||
"example": "3"
|
||
}
|
||
}
|
||
},
|
||
"ConversationHero--membership-added": {
|
||
"message": "$name$ added you to the group.",
|
||
"description": "Shown Indicates that you were added to a group by a given individual.",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Jeff Smith"
|
||
}
|
||
}
|
||
},
|
||
"no-groups-in-common": {
|
||
"message": "No groups in common",
|
||
"description": "Shown to indicate this user is not a member of any groups"
|
||
},
|
||
"no-groups-in-common-warning": {
|
||
"message": "No groups in common. Review requests carefully.",
|
||
"description": "When a user has no common groups, show this warning"
|
||
},
|
||
"acceptCall": {
|
||
"message": "Answer",
|
||
"description": "Shown in tooltip for the button to accept a call (audio or video)"
|
||
},
|
||
"acceptCallWithoutVideo": {
|
||
"message": "Answer without video",
|
||
"description": "Shown in tooltip for the button to accept a video call without video"
|
||
},
|
||
"declineCall": {
|
||
"message": "Decline",
|
||
"description": "Shown in tooltip for the button to decline a call (audio or video)"
|
||
},
|
||
"declinedIncomingAudioCall": {
|
||
"message": "You declined an audio call",
|
||
"description": "Shown in conversation history when you declined an incoming audio call"
|
||
},
|
||
"declinedIncomingVideoCall": {
|
||
"message": "You declined a video call",
|
||
"description": "Shown in conversation history when you declined an incoming video call"
|
||
},
|
||
"acceptedIncomingAudioCall": {
|
||
"message": "Incoming audio call",
|
||
"description": "Shown in conversation history when you accepted an incoming audio call"
|
||
},
|
||
"acceptedIncomingVideoCall": {
|
||
"message": "Incoming video call",
|
||
"description": "Shown in conversation history when you accepted an incoming video call"
|
||
},
|
||
"missedIncomingAudioCall": {
|
||
"message": "Missed audio call",
|
||
"description": "Shown in conversation history when you missed an incoming audio call"
|
||
},
|
||
"missedIncomingVideoCall": {
|
||
"message": "Missed video call",
|
||
"description": "Shown in conversation history when you missed an incoming video call"
|
||
},
|
||
"acceptedOutgoingAudioCall": {
|
||
"message": "Outgoing audio call",
|
||
"description": "Shown in conversation history when you made an outgoing audio call"
|
||
},
|
||
"acceptedOutgoingVideoCall": {
|
||
"message": "Outgoing video call",
|
||
"description": "Shown in conversation history when you made an outgoing video call"
|
||
},
|
||
"missedOrDeclinedOutgoingAudioCall": {
|
||
"message": "Unanswered audio call",
|
||
"description": "Shown in conversation history when your audio call is missed or declined"
|
||
},
|
||
"missedOrDeclinedOutgoingVideoCall": {
|
||
"message": "Unanswered video call",
|
||
"description": "Shown in conversation history when your video call is missed or declined"
|
||
},
|
||
"incomingAudioCall": {
|
||
"message": "Incoming audio call...",
|
||
"description": "Shown in both the incoming call bar and notification for an incoming audio call"
|
||
},
|
||
"incomingVideoCall": {
|
||
"message": "Incoming video call...",
|
||
"description": "Shown in both the incoming call bar and notification for an incoming video call"
|
||
},
|
||
"incomingGroupCall__ringing-you": {
|
||
"message": "$ringer$ is calling you",
|
||
"description": "Shown in the incoming call bar when someone is ringing you for a group call",
|
||
"placeholders": {
|
||
"ringer": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"incomingGroupCall__ringing-1-other": {
|
||
"message": "$ringer$ is calling you and $otherMember$",
|
||
"description": "Shown in the incoming call bar when someone is ringing you for a group call",
|
||
"placeholders": {
|
||
"ringer": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
},
|
||
"otherMember": {
|
||
"content": "$2",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"incomingGroupCall__ringing-2-others": {
|
||
"message": "$ringer$ is calling you, $first$, and $second$",
|
||
"description": "Shown in the incoming call bar when someone is ringing you for a group call",
|
||
"placeholders": {
|
||
"ringer": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
},
|
||
"first": {
|
||
"content": "$2",
|
||
"example": "Bob"
|
||
},
|
||
"second": {
|
||
"content": "$3",
|
||
"example": "Charlie"
|
||
}
|
||
}
|
||
},
|
||
"incomingGroupCall__ringing-3-others": {
|
||
"message": "$ringer$ is calling you, $first$, $second$, and 1 other",
|
||
"description": "Shown in the incoming call bar when someone is ringing you for a group call",
|
||
"placeholders": {
|
||
"ringer": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
},
|
||
"first": {
|
||
"content": "$2",
|
||
"example": "Bob"
|
||
},
|
||
"second": {
|
||
"content": "$3",
|
||
"example": "Charlie"
|
||
}
|
||
}
|
||
},
|
||
"incomingGroupCall__ringing-many": {
|
||
"message": "$ringer$ is calling you, $first$, $second$, and $remaining$ others",
|
||
"description": "Shown in the incoming call bar when someone is ringing you for a group call",
|
||
"placeholders": {
|
||
"ringer": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
},
|
||
"first": {
|
||
"content": "$2",
|
||
"example": "Bob"
|
||
},
|
||
"second": {
|
||
"content": "$3",
|
||
"example": "Charlie"
|
||
},
|
||
"remaining": {
|
||
"content": "$4",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"outgoingCallRinging": {
|
||
"message": "Ringing...",
|
||
"description": "Shown in the call screen when placing an outgoing call that is now ringing"
|
||
},
|
||
"makeOutgoingCall": {
|
||
"message": "Start a call",
|
||
"description": "Title for the call button in a conversation"
|
||
},
|
||
"makeOutgoingVideoCall": {
|
||
"message": "Start a video call",
|
||
"description": "Title for the video call button in a conversation"
|
||
},
|
||
"joinOngoingCall": {
|
||
"message": "Join",
|
||
"description": "Text that appears in a group when a call is active"
|
||
},
|
||
"callNeedPermission": {
|
||
"message": "$title$ will get a message request from you. You can call once your message request has been accepted.",
|
||
"description": "Shown when a call is rejected because the other party hasn't approved the message/call request",
|
||
"placeholders": {
|
||
"title": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"callReconnecting": {
|
||
"message": "Reconnecting...",
|
||
"description": "Shown in the call screen when the call is reconnecting due to network issues"
|
||
},
|
||
"callDuration": {
|
||
"message": "Signal $duration$",
|
||
"description": "Shown in the call screen to indicate how long the call has been connected",
|
||
"placeholders": {
|
||
"duration": {
|
||
"content": "$1",
|
||
"example": "00:01"
|
||
}
|
||
}
|
||
},
|
||
"callingDeviceSelection__settings": {
|
||
"message": "Settings",
|
||
"description": "Title for device selection settings"
|
||
},
|
||
"calling__participants": {
|
||
"message": "$people$ in call",
|
||
"description": "Title for participants list toggle",
|
||
"placeholders": {
|
||
"people": {
|
||
"content": "$1",
|
||
"example": "16"
|
||
}
|
||
}
|
||
},
|
||
"calling__call-notification__ended": {
|
||
"message": "The group call has ended",
|
||
"description": "Notification message when a group call has ended"
|
||
},
|
||
"calling__call-notification__started-by-someone": {
|
||
"message": "A group call was started",
|
||
"description": "Notification message when a group call has started, but we don't know who started it"
|
||
},
|
||
"calling__call-notification__started-by-you": {
|
||
"message": "You started a group call",
|
||
"description": "Notification message when a group call has started by you"
|
||
},
|
||
"calling__call-notification__started": {
|
||
"message": "$name$ started a group call",
|
||
"description": "Notification message when a group call has started",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"calling__in-another-call-tooltip": {
|
||
"message": "You are already in a call",
|
||
"description": "Tooltip in disabled notification button when you're on another call"
|
||
},
|
||
"calling__call-notification__button__call-full-tooltip": {
|
||
"message": "Call has reached capacity of $max$ participants",
|
||
"description": "Tooltip in disabled notification button when the call is full",
|
||
"placeholders": {
|
||
"max": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"calling__pip--on": {
|
||
"message": "Minimize call",
|
||
"description": "Title for picture-in-picture toggle"
|
||
},
|
||
"calling__pip--off": {
|
||
"message": "Fullscreen call",
|
||
"description": "Title for picture-in-picture toggle"
|
||
},
|
||
"calling__switch-view--to-grid": {
|
||
"message": "Switch to grid view",
|
||
"description": "Title for grid/speaker view toggle when on a call"
|
||
},
|
||
"calling__switch-view--to-speaker": {
|
||
"message": "Switch to speaker view",
|
||
"description": "Title for grid/speaker view toggle when on a call"
|
||
},
|
||
"calling__hangup": {
|
||
"message": "Leave call",
|
||
"description": "Title for hang up button"
|
||
},
|
||
"calling__SelectPresentingSourcesModal--title": {
|
||
"message": "Share your screen",
|
||
"description": "Title for the select your screen sharing sources modal"
|
||
},
|
||
"calling__SelectPresentingSourcesModal--confirm": {
|
||
"message": "Start sharing",
|
||
"description": "Confirm button for sharing screen modal"
|
||
},
|
||
"calling__SelectPresentingSourcesModal--entireScreen": {
|
||
"message": "Entire screen",
|
||
"description": "Title for the select your screen sharing sources modal and 'Entire Screen' source"
|
||
},
|
||
"calling__SelectPresentingSourcesModal--screen": {
|
||
"message": "Screen $id$",
|
||
"description": "Title for `Screen #N` source in screen sharing sources modal and overlay",
|
||
"placeholders": {
|
||
"id": {
|
||
"content": "$1",
|
||
"example": "1"
|
||
}
|
||
}
|
||
},
|
||
"calling__SelectPresentingSourcesModal--window": {
|
||
"message": "A window",
|
||
"description": "Title for the select your screen sharing sources modal"
|
||
},
|
||
"callingDeviceSelection__label--video": {
|
||
"message": "Video",
|
||
"description": "Label for video input selector"
|
||
},
|
||
"callingDeviceSelection__label--audio-input": {
|
||
"message": "Microphone",
|
||
"description": "Label for audio input selector"
|
||
},
|
||
"callingDeviceSelection__label--audio-output": {
|
||
"message": "Speakers",
|
||
"description": "Label for audio output selector"
|
||
},
|
||
"callingDeviceSelection__select--no-device": {
|
||
"message": "No devices available",
|
||
"description": "Message for when there are no available devices to select for input/output audio or video"
|
||
},
|
||
"callingDeviceSelection__select--default": {
|
||
"message": "Default",
|
||
"description": "Shown when the device is the default device"
|
||
},
|
||
"muteNotificationsTitle": {
|
||
"message": "Mute notifications",
|
||
"description": "Label for the mute notifications drop-down selector"
|
||
},
|
||
"notMuted": {
|
||
"message": "Not muted",
|
||
"description": "Label when the conversation is not muted"
|
||
},
|
||
"muteHour": {
|
||
"message": "Mute for one hour",
|
||
"description": "Label for muting the conversation"
|
||
},
|
||
"muteEightHours": {
|
||
"message": "Mute for eight hours",
|
||
"description": "Label for muting the conversation"
|
||
},
|
||
"muteDay": {
|
||
"message": "Mute for one day",
|
||
"description": "Label for muting the conversation"
|
||
},
|
||
"muteWeek": {
|
||
"message": "Mute for one week",
|
||
"description": "Label for muting the conversation"
|
||
},
|
||
"muteAlways": {
|
||
"message": "Mute always",
|
||
"description": "Label for muting the conversation"
|
||
},
|
||
"unmute": {
|
||
"message": "Unmute",
|
||
"description": "Label for unmuting the conversation"
|
||
},
|
||
"muteExpirationLabelAlways": {
|
||
"message": "Muted always",
|
||
"description": "Shown in the mute notifications submenu whenever a conversation has been muted"
|
||
},
|
||
"muteExpirationLabel": {
|
||
"message": "Muted until $duration$",
|
||
"description": "Shown in the mute notifications submenu whenever a conversation has been muted",
|
||
"placeholders": {
|
||
"duration": {
|
||
"content": "$1",
|
||
"example": "10/23/2023, 7:10 PM"
|
||
}
|
||
}
|
||
},
|
||
"EmojiButton__label": {
|
||
"message": "Emoji",
|
||
"description": "Label for emoji button"
|
||
},
|
||
|
||
"ErrorModal--title": {
|
||
"message": "Something went wrong!",
|
||
"description": "Title of popup dialog when user-initiated task has gone wrong"
|
||
},
|
||
"ErrorModal--description": {
|
||
"message": "Please try again or contact support.",
|
||
"description": "Description text in popup dialog when user-initiated task has gone wrong"
|
||
},
|
||
"Confirmation--confirm": {
|
||
"message": "Okay",
|
||
"description": "Button to dismiss popup dialog when user-initiated task has gone wrong"
|
||
},
|
||
|
||
"unknown-sgnl-link": {
|
||
"message": "Sorry, that sgnl:// link didn't make sense!",
|
||
"description": "Shown if you click on a sgnl:// link not currently supported by Desktop"
|
||
},
|
||
|
||
"GroupV2--cannot-send": {
|
||
"message": "You cannot send messages to that group.",
|
||
"description": "Shown in toast when you attempt to forward a message to an announcement only group"
|
||
},
|
||
"GroupV2--cannot-start-group-call": {
|
||
"message": "Only admins of the group can start a call.",
|
||
"description": "Shown in toast when a non-admin starts a group call in an announcements only group"
|
||
},
|
||
"GroupV2--join--invalid-link--title": {
|
||
"message": "Invalid Link",
|
||
"description": "Shown if we are unable to parse a group link"
|
||
},
|
||
"GroupV2--join--invalid-link": {
|
||
"message": "This is not a valid group link. Make sure the entire link is intact and correct before attempting to join.",
|
||
"description": "Shown if we are unable to parse a group link"
|
||
},
|
||
"GroupV2--join--prompt": {
|
||
"message": "Do you want to join this group and share your name and photo with its members?",
|
||
"description": "Shown when you click on a group link to confirm"
|
||
},
|
||
"GroupV2--join--already-in-group": {
|
||
"message": "You're already in this group.",
|
||
"description": "Shown if you click a group link for a group where you're already a member"
|
||
},
|
||
"GroupV2--join--already-awaiting-approval": {
|
||
"message": "You have already requested approval to join this group.",
|
||
"description": "Shown if you click a group link for a group where you've already requested approval'"
|
||
},
|
||
|
||
"GroupV2--join--unknown-link-version--title": {
|
||
"message": "Unknown link version",
|
||
"description": "This group link is no longer valid."
|
||
},
|
||
"GroupV2--join--unknown-link-version": {
|
||
"message": "This link is not supported by this version of Signal Desktop.",
|
||
"description": "Shown if you click a group link and we can't get information about it"
|
||
},
|
||
"GroupV2--join--link-revoked--title": {
|
||
"message": "Can’t Join Group",
|
||
"description": "Shown if you click a group link and we can't get information about it"
|
||
},
|
||
"GroupV2--join--link-revoked": {
|
||
"message": "This group link is no longer valid.",
|
||
"description": "Shown if you click a group link and we can't get information about it"
|
||
},
|
||
"GroupV2--join--link-forbidden--title": {
|
||
"message": "Can’t Join Group",
|
||
"description": "Shown if you click a group link and you have been forbidden from joining via the link"
|
||
},
|
||
"GroupV2--join--link-forbidden": {
|
||
"message": "You can't join this group via the group link because an admin removed you.",
|
||
"description": "Shown if you click a group link and you have been forbidden from joining via the link"
|
||
},
|
||
"GroupV2--join--prompt-with-approval": {
|
||
"message": "An admin of this group must approve your request before you can join this group. If approved, your name and photo will be shared with its members.",
|
||
"description": "Shown when you click on a group link to confirm, if it requires admin approval"
|
||
},
|
||
"GroupV2--join--join-button": {
|
||
"message": "Join",
|
||
"description": "The button to join the group"
|
||
},
|
||
"GroupV2--join--request-to-join-button": {
|
||
"message": "Request to Join",
|
||
"description": "The button to join the group, if approval is required"
|
||
},
|
||
"GroupV2--join--cancel-request-to-join": {
|
||
"message": "Cancel Request",
|
||
"description": "The button to cancel request to join the group"
|
||
},
|
||
"GroupV2--join--cancel-request-to-join--confirmation": {
|
||
"message": "Cancel your request to join this group?",
|
||
"description": "A confirmation message that shows after you click the button"
|
||
},
|
||
"GroupV2--join--cancel-request-to-join--yes": {
|
||
"message": "Yes",
|
||
"description": "Choosing to continue in the cancel join confirmation dialog"
|
||
},
|
||
"GroupV2--join--cancel-request-to-join--no": {
|
||
"message": "No",
|
||
"description": "Choosing not to continue in the cancel join confirmation dialog"
|
||
},
|
||
"GroupV2--join--member-count--single": {
|
||
"message": "1 member",
|
||
"description": "Shown in the metadata section if group has just one member"
|
||
},
|
||
"GroupV2--join--member-count--multiple": {
|
||
"message": "$count$ members",
|
||
"description": "Shown in the metadata section if group has more than one member",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "12"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--join--group-metadata": {
|
||
"message": "Group · $memberCount$",
|
||
"description": "A holder for two pieces of information - the type of conversation, and the member count",
|
||
"placeholders": {
|
||
"memberCount": {
|
||
"content": "$1",
|
||
"example": "12 members"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--join--requested": {
|
||
"message": "Your request to join has been sent to the group admin. You’ll be notified when they take action.",
|
||
"description": "Shown in composition area when you've requested to join a group"
|
||
},
|
||
|
||
"GroupV2--join--general-join-failure--title": {
|
||
"message": "Link Error",
|
||
"description": "Shown if something went wrong when you try to join via a group link"
|
||
},
|
||
"GroupV2--join--general-join-failure": {
|
||
"message": "Couldn't join group. Try again later.",
|
||
"description": "Shown if something went wrong when you try to join via a group link"
|
||
},
|
||
|
||
"GroupV2--admin": {
|
||
"message": "Admin",
|
||
"description": "Label for a group administrator"
|
||
},
|
||
"GroupV2--only-admins": {
|
||
"message": "Only Admins",
|
||
"description": "Label for group administrators -- used in drop-downs to select permissions that apply to admins"
|
||
},
|
||
"GroupV2--all-members": {
|
||
"message": "All members",
|
||
"description": "Label for describing the general non-privileged members of a group"
|
||
},
|
||
"updating": {
|
||
"message": "Updating...",
|
||
"description": "Shown along with a spinner when an update operation takes longer than one second"
|
||
},
|
||
|
||
"GroupV2--create--you": {
|
||
"message": "You created the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--create--other": {
|
||
"message": "$memberName$ created the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--create--unknown": {
|
||
"message": "The group was created.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--title--change--other": {
|
||
"message": "$memberName$ changed the group name to \"$newTitle$\".",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"newTitle": {
|
||
"content": "$2",
|
||
"example": "Saturday Hiking"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--title--change--you": {
|
||
"message": "You changed the group name to \"$newTitle$\".",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"newTitle": {
|
||
"content": "$1",
|
||
"example": "Saturday Hiking"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--title--change--unknown": {
|
||
"message": "A member changed the group name to \"$newTitle$\".",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"newTitle": {
|
||
"content": "$1",
|
||
"example": "Saturday Hiking"
|
||
}
|
||
}
|
||
},
|
||
|
||
"GroupV2--title--remove--other": {
|
||
"message": "$memberName$ removed the group name.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--title--remove--you": {
|
||
"message": "You removed the group name.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--title--remove--unknown": {
|
||
"message": "A member removed the group name.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
|
||
"GroupV2--avatar--change--other": {
|
||
"message": "$memberName$ changed the group avatar.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--avatar--change--you": {
|
||
"message": "You changed the group avatar.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--avatar--change--unknown": {
|
||
"message": "A member changed the group avatar.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--avatar--remove--other": {
|
||
"message": "$memberName$ removed the group avatar.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--avatar--remove--you": {
|
||
"message": "You removed the group avatar.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--avatar--remove--unknown": {
|
||
"message": "A member removed the group avatar.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
|
||
"GroupV2--access-attributes--admins--other": {
|
||
"message": "$adminName$ changed who can edit group info to \"Only admins.\"",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--access-attributes--admins--you": {
|
||
"message": "You changed who can edit group info to \"Only admins.\"",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--access-attributes--admins--unknown": {
|
||
"message": "An admin changed who can edit group info to \"Only admins.\"",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--access-attributes--all--other": {
|
||
"message": "$adminName$ changed who can edit group info to \"All members.\"",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--access-attributes--all--you": {
|
||
"message": "You changed who can edit group info to \"All members.\"",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--access-attributes--all--unknown": {
|
||
"message": "An admin changed who can edit group info to \"All members.\"",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--access-members--admins--other": {
|
||
"message": "$adminName$ changed who can edit group membership to \"Only admins.\"",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--access-members--admins--you": {
|
||
"message": "You changed who can edit group membership to \"Only admins.\"",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--access-members--admins--unknown": {
|
||
"message": "An admin changed who can edit group membership to \"Only admins.\"",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--access-members--all--other": {
|
||
"message": "$adminName$ changed who can edit group membership to \"All members.\"",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--access-members--all--you": {
|
||
"message": "You changed who can edit group membership to \"All members.\"",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--access-members--all--unknown": {
|
||
"message": "An admin changed who can edit group membership to \"All members.\"",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--access-invite-link--disabled--you": {
|
||
"message": "You disabled admin approval for the group link.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--access-invite-link--disabled--other": {
|
||
"message": "$adminName$ disabled admin approval for the group link.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--access-invite-link--disabled--unknown": {
|
||
"message": "Admin approval for the group link has been disabled.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--access-invite-link--enabled--you": {
|
||
"message": "You enabled admin approval for the group link.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--access-invite-link--enabled--other": {
|
||
"message": "$adminName$ enabled admin approval for the group link.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--access-invite-link--enabled--unknown": {
|
||
"message": "Admin approval for the group link has been enabled.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--member-add--invited--you": {
|
||
"message": "You added invited member $inviteeName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add--invited--other": {
|
||
"message": "$memberName$ added invited member $inviteeName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
},
|
||
"inviteeName": {
|
||
"content": "$2",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add--invited--unknown": {
|
||
"message": "A member added invited member $inviteeName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add--from-invite--other": {
|
||
"message": "$inviteeName$ accepted an invitation to the group from $inviterName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
},
|
||
"inviterName": {
|
||
"content": "$2",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add--from-invite--other-no-from": {
|
||
"message": "$inviteeName$ accepted an invitation to the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add--from-invite--you": {
|
||
"message": "You accepted an invitation to the group from $inviterName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviterName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add--from-invite--you-no-from": {
|
||
"message": "You accepted an invitation to the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--member-add--from-invite--from-you": {
|
||
"message": "$inviteeName$ accepted your invitation to the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add--other--other": {
|
||
"message": "$adderName$ added $addeeName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adderName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"addeeName": {
|
||
"content": "$2",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add--other--you": {
|
||
"message": "You added $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add--other--unknown": {
|
||
"message": "A member added $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add--you--other": {
|
||
"message": "$memberName$ added you to the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add--you--you": {
|
||
"message": "You joined the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--member-add--you--unknown": {
|
||
"message": "You were added to the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
|
||
"GroupV2--member-add-from-link--you--you": {
|
||
"message": "You joined the group via the group link.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--member-add-from-link--other": {
|
||
"message": "$memberName$ joined the group via the group link.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
|
||
"GroupV2--member-add-from-admin-approval--you--other": {
|
||
"message": "$adminName$ approved your request to join the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add-from-admin-approval--you--unknown": {
|
||
"message": "Your request to join the group has been approved.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
|
||
"GroupV2--member-add-from-admin-approval--other--you": {
|
||
"message": "You approved a request to join the group from $joinerName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"joinerName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add-from-admin-approval--other--other": {
|
||
"message": "$adminName$ approved a request to join the group from $joinerName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"joinerName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add-from-admin-approval--other--unknown": {
|
||
"message": "A request to join the group from $joinerName$ has been approved.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"joinerName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
|
||
"GroupV2--member-remove--other--other": {
|
||
"message": "$adminName$ removed $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"memberName": {
|
||
"content": "$2",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-remove--other--self": {
|
||
"message": "$memberName$ left the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-remove--other--you": {
|
||
"message": "You removed $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-remove--other--unknown": {
|
||
"message": "A member removed $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-remove--you--other": {
|
||
"message": "$adminName$ removed you.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-remove--you--you": {
|
||
"message": "You left the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--member-remove--you--unknown": {
|
||
"message": "You were removed from the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
|
||
"GroupV2--member-privilege--promote--other--other": {
|
||
"message": "$adminName$ made $memberName$ an admin.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"memberName": {
|
||
"content": "$2",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-privilege--promote--other--you": {
|
||
"message": "You made $memberName$ an admin.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-privilege--promote--other--unknown": {
|
||
"message": "An admin made $memberName$ an admin.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-privilege--promote--you--other": {
|
||
"message": "$adminName$ made you an admin.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-privilege--promote--you--unknown": {
|
||
"message": "An admin made you an admin.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--member-privilege--demote--other--other": {
|
||
"message": "$adminName$ revoked admin privileges from $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"memberName": {
|
||
"content": "$2",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-privilege--demote--other--you": {
|
||
"message": "You revoked admin privileges from $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-privilege--demote--other--unknown": {
|
||
"message": "An admin revoked admin privileges from $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-privilege--demote--you--other": {
|
||
"message": "$adminName$ revoked your admin privileges.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-privilege--demote--you--unknown": {
|
||
"message": "An admin revoked your admin privileges.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
|
||
"GroupV2--pending-add--one--other--other": {
|
||
"message": "$memberName$ invited 1 person to the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-add--one--other--you": {
|
||
"message": "You invited $inviteeName$ to the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-add--one--other--unknown": {
|
||
"message": "One person was invited to the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-add--one--you--other": {
|
||
"message": "$memberName$ invited you to the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-add--one--you--unknown": {
|
||
"message": "You were invited to the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--pending-add--many--other": {
|
||
"message": "$memberName$ invited $count$ people to the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"count": {
|
||
"content": "$2",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-add--many--you": {
|
||
"message": "You invited $count$ people to the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-add--many--unknown": {
|
||
"message": "$count$ people were invited to the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
|
||
"GroupV2--pending-remove--decline--other": {
|
||
"message": "1 person invited by $memberName$ declined the invitation to the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--decline--you": {
|
||
"message": "$inviteeName$ declined your invitation to the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--decline--from-you": {
|
||
"message": "You declined the invitation to the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--pending-remove--decline--unknown": {
|
||
"message": "1 person declined their invitation to the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--pending-remove--revoke--one--other": {
|
||
"message": "$memberName$ revoked an invitation to the group for 1 person.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke--one--you": {
|
||
"message": "You revoked an invitation to the group for 1 person.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-own--to-you": {
|
||
"message": "$inviterName$ revoked their invitation to you.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviterName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-own--unknown": {
|
||
"message": "$inviterName$ revoked their invitation to 1 person.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviterName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke--one--unknown": {
|
||
"message": "An admin revoked an invitation to the group for 1 person.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke--many--other": {
|
||
"message": "$memberName$ revoked invitations to the group for $count$ people.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"count": {
|
||
"content": "$2",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke--many--you": {
|
||
"message": "You revoked invitations to the group for $count$ people.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke--many--unknown": {
|
||
"message": "An admin revoked invitations to the group for $count$ people.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-invite-from--one--other": {
|
||
"message": "$adminName$ revoked an invitation to the group for 1 person invited by $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"memberName": {
|
||
"content": "$2",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-invite-from--one--you": {
|
||
"message": "You revoked an invitation to the group for 1 person invited by $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-invite-from--one--unknown": {
|
||
"message": "An admin revoked an invitation to the group for 1 person invited by $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-invite-from-you--one--other": {
|
||
"message": "$adminName$ revoked the invitation to the group you sent to $inviteeName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-invite-from-you--one--you": {
|
||
"message": "You rescinded your invitation to $inviteeName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-invite-from-you--one--unknown": {
|
||
"message": "An admin revoked the invitation to the group you sent to $inviteeName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-invite-from--many--other": {
|
||
"message": "$adminName$ revoked invitations to the group for $count$ people invited by $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"memberName": {
|
||
"content": "$2",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-invite-from--many--you": {
|
||
"message": "You revoked invitations to the group for $count$ people invited by $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
},
|
||
"memberName": {
|
||
"content": "$2",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-invite-from--many--unknown": {
|
||
"message": "An admin revoked invitations to the group for $count$ people invited by $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
},
|
||
"memberName": {
|
||
"content": "$2",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-invite-from-you--many--other": {
|
||
"message": "$adminName$ revoked the invitations to the group you sent to $count$ people.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"count": {
|
||
"content": "$2",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-invite-from-you--many--you": {
|
||
"message": "You rescinded your invitation to $count$ people.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-invite-from-you--many--unknown": {
|
||
"message": "An admin revoked the invitations to the group you sent to $count$ people.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--admin-approval-add-one--you": {
|
||
"message": "You sent a request to join the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--admin-approval-add-one--other": {
|
||
"message": "$joinerName$ requested to join via the group link.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"joinerName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
|
||
"GroupV2--admin-approval-remove-one--you--you": {
|
||
"message": "You canceled your request to join the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--admin-approval-remove-one--you--unknown": {
|
||
"message": "Your request to join the group has been denied by an admin.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
|
||
"GroupV2--admin-approval-remove-one--other--you": {
|
||
"message": "You denied a request to join the group from $joinerName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"joinerName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--admin-approval-remove-one--other--own": {
|
||
"message": "$joinerName$ canceled their request to join the group.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"joinerName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--admin-approval-remove-one--other--other": {
|
||
"message": "$adminName$ denied a request to join the group from $joinerName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"joinerName": {
|
||
"content": "$2",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--admin-approval-bounce--one": {
|
||
"message": "$joinerName$ requested and cancelled their request to join via the group link",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"joinerName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--admin-approval-bounce": {
|
||
"message": "$joinerName$ requested and cancelled $numberOfRequests$ requests to join via the group link",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"joinerName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
},
|
||
"numberOfRequests": {
|
||
"content": "$1",
|
||
"example": "3"
|
||
}
|
||
}
|
||
},
|
||
|
||
"GroupV2--group-link-add--disabled--you": {
|
||
"message": "You turned on the group link with admin approval disabled.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--group-link-add--disabled--other": {
|
||
"message": "$adminName$ turned on the group link with admin approval disabled.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--group-link-add--disabled--unknown": {
|
||
"message": "The group link has been turned on with admin approval disabled.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--group-link-add--enabled--you": {
|
||
"message": "You turned on the group link with admin approval enabled.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--group-link-add--enabled--other": {
|
||
"message": "$adminName$ turned on the group link with admin approval enabled.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--group-link-add--enabled--unknown": {
|
||
"message": "The group link has been turned on with admin approval enabled.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--group-link-remove--you": {
|
||
"message": "You turned off the group link.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--group-link-remove--other": {
|
||
"message": "$adminName$ turned off the group link.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--group-link-remove--unknown": {
|
||
"message": "The group link has been turned off.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--group-link-reset--you": {
|
||
"message": "You reset the group link.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--group-link-reset--other": {
|
||
"message": "$adminName$ reset the group link.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--group-link-reset--unknown": {
|
||
"message": "The group link has been reset.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
|
||
"GroupV2--description--remove--you": {
|
||
"message": "You removed the group description.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--description--remove--other": {
|
||
"message": "$memberName$ removed the group description.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--description--remove--unknown": {
|
||
"message": "The group description was removed.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--description--change--you": {
|
||
"message": "You changed the group description.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--description--change--other": {
|
||
"message": "$memberName$ changed the group description.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--description--change--unknown": {
|
||
"message": "The group description was changed.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
|
||
"GroupV2--announcements--admin--you": {
|
||
"message": "You changed the group settings to only allow admins to send messages.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--announcements--admin--other": {
|
||
"message": "$memberName$ changed the group settings to only allow admins to send messages.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--announcements--admin--unknown": {
|
||
"message": "The group was changed to only allow admins to send messages.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--announcements--member--you": {
|
||
"message": "You changed the group settings to allow all members to send messages.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--announcements--member--other": {
|
||
"message": "$memberName$ changed the group settings to allow all members to send messages.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--announcements--member--unknown": {
|
||
"message": "The group was changed to allow all members to send messages.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
|
||
"GroupV1--Migration--disabled": {
|
||
"message": "Upgrade this group to activate new features like @mentions and admins. Members who have not shared their name or photo in this group will be invited to join. $learnMore$",
|
||
"description": "Shown instead of composition area when user is forced to migrate a legacy group (GV1).",
|
||
"placeholders": {
|
||
"learnMore": {
|
||
"content": "$1",
|
||
"example": "Learn more."
|
||
}
|
||
}
|
||
},
|
||
"GroupV1--Migration--was-upgraded": {
|
||
"message": "This group was upgraded to a New Group.",
|
||
"description": "Shown in timeline when a legacy group (GV1) is upgraded to a new group (GV2)"
|
||
},
|
||
"GroupV1--Migration--learn-more": {
|
||
"message": "Learn More",
|
||
"description": "Shown on a bubble below a 'group was migrated' timeline notification, or as button on Migrate dialog"
|
||
},
|
||
"GroupV1--Migration--migrate": {
|
||
"message": "Upgrade",
|
||
"description": "Shown on Migrate dialog to kick off the process"
|
||
},
|
||
"GroupV1--Migration--info--title": {
|
||
"message": "What are New Groups?",
|
||
"description": "Shown on Learn More popup after GV1 migration"
|
||
},
|
||
"GroupV1--Migration--migrate--title": {
|
||
"message": "Upgrade to New Group",
|
||
"description": "Shown on Migration popup after choosing to migrate group"
|
||
},
|
||
"GroupV1--Migration--info--summary": {
|
||
"message": "New Groups have features like @mentions and group admins, and will support more features in the future.",
|
||
"description": "Shown on Learn More popup after or Migration popup before GV1 migration"
|
||
},
|
||
"GroupV1--Migration--info--keep-history": {
|
||
"message": "All message history and media has been kept from before the upgrade.",
|
||
"description": "Shown on Learn More popup after GV1 migration"
|
||
},
|
||
"GroupV1--Migration--migrate--keep-history": {
|
||
"message": "All message history and media will be kept from before the upgrade.",
|
||
"description": "Shown on Migration popup before GV1 migration"
|
||
},
|
||
"GroupV1--Migration--info--invited--you": {
|
||
"message": "You will need to accept an invite to join this group again, and will not receive group messages until you accept.",
|
||
"description": "Shown on Learn More popup after GV1 migration"
|
||
},
|
||
"GroupV1--Migration--info--invited--many": {
|
||
"message": "These members will need to accept an invite to join this group again, and will not receive group messages until they accept:",
|
||
"description": "Shown on Learn More popup after or Migration popup before GV1 migration"
|
||
},
|
||
"GroupV1--Migration--info--invited--one": {
|
||
"message": "This member will need to accept an invite to join this group again, and will not receive group messages until they accept:",
|
||
"description": "Shown on Learn More popup after or Migration popup before GV1 migration"
|
||
},
|
||
"GroupV1--Migration--info--removed--before--many": {
|
||
"message": "These members are not capable of joining New Groups, and will be removed from the group:",
|
||
"description": "Shown on Learn More popup after or Migration popup before GV1 migration"
|
||
},
|
||
"GroupV1--Migration--info--removed--before--one": {
|
||
"message": "This member is not capable of joining New Groups, and will be removed from the group:",
|
||
"description": "Shown on Learn More popup after or Migration popup before GV1 migration"
|
||
},
|
||
"GroupV1--Migration--info--removed--after--many": {
|
||
"message": "These members were not capable of joining New Groups, and were removed from the group:",
|
||
"description": "Shown on Learn More popup after or Migration popup before GV1 migration"
|
||
},
|
||
"GroupV1--Migration--info--removed--after--one": {
|
||
"message": "This member was not capable of joining New Groups, and was removed from the group:",
|
||
"description": "Shown on Learn More popup after or Migration popup before GV1 migration"
|
||
},
|
||
"GroupV1--Migration--invited--you": {
|
||
"message": "You couldn't be added to the New Group and have been invited to join.",
|
||
"description": "Shown in timeline when a group is upgraded and you were invited instead of added"
|
||
},
|
||
"GroupV1--Migration--invited--one": {
|
||
"message": "$contact$ couldn’t be added to the New Group and has been invited to join.",
|
||
"description": "Shown in timeline when a group is upgraded and one person was invited, instead of added",
|
||
"placeholders": {
|
||
"contact": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"GroupV1--Migration--invited--many": {
|
||
"message": "$count$ members couldn’t be added to the New Group and have been invited to join.",
|
||
"description": "Shown in timeline when a group is upgraded and some people were invited, instead of added",
|
||
"placeholders": {
|
||
"contact": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"GroupV1--Migration--removed--one": {
|
||
"message": "$contact$ was removed from the group.",
|
||
"description": "Shown in timeline when a group is upgraded and one person was removed entirely during the upgrade",
|
||
"placeholders": {
|
||
"contact": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"GroupV1--Migration--removed--many": {
|
||
"message": "$count$ members were removed from the group.",
|
||
"description": "Shown in timeline when a group is upgraded and some people were removed entirely during the upgrade",
|
||
"placeholders": {
|
||
"contact": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"close": {
|
||
"message": "Close",
|
||
"description": "Generic close label"
|
||
},
|
||
"previous": {
|
||
"message": "previous",
|
||
"description": "Generic previous label"
|
||
},
|
||
"next": {
|
||
"message": "next",
|
||
"description": "Generic next label"
|
||
},
|
||
"BadgeDialog__become-a-sustainer-button": {
|
||
"message": "Become a Sustainer",
|
||
"description": "In the badge dialog. This button is shown under sustainer badges, taking users to some instructions"
|
||
},
|
||
"BadgeSustainerInstructions__header": {
|
||
"message": "Become a Sustainer",
|
||
"description": "In the instructions for becoming a sustainer. The heading."
|
||
},
|
||
"BadgeSustainerInstructions__subheader": {
|
||
"message": "Signal is powered by people like you. Contribute and receive a badge.",
|
||
"description": "In the instructions for becoming a sustainer. The subheading."
|
||
},
|
||
"BadgeSustainerInstructions__instructions__1": {
|
||
"message": "Open Signal on your phone",
|
||
"description": "In the instructions for becoming a sustainer. First instruction."
|
||
},
|
||
"BadgeSustainerInstructions__instructions__2": {
|
||
"message": "Tap on your profile photo in the top left to open Settings",
|
||
"description": "In the instructions for becoming a sustainer. Second instruction."
|
||
},
|
||
"BadgeSustainerInstructions__instructions__3": {
|
||
"message": "Tap on \"Become a Sustainer\" and subscribe",
|
||
"description": "In the instructions for becoming a sustainer. Third instruction."
|
||
},
|
||
"CompositionArea--expand": {
|
||
"message": "Expand",
|
||
"description": "Aria label for expanding composition area"
|
||
},
|
||
"CompositionArea--attach-file": {
|
||
"message": "Attach file",
|
||
"description": "Aria label for file attachment button in composition area"
|
||
},
|
||
"CompositionArea--sms-only__title": {
|
||
"message": "This person isn’t using Signal",
|
||
"description": "Title for the composition area for the SMS-only contact"
|
||
},
|
||
"CompositionArea--sms-only__body": {
|
||
"message": "Signal Desktop does not support messaging non-Signal contacts. Ask this person to install Signal for a more secure messaging experience.",
|
||
"description": "Body for the composition area for the SMS-only contact"
|
||
},
|
||
"CompositionArea--sms-only__spinner-label": {
|
||
"message": "Checking contact's registration status",
|
||
"description": "Displayed while checking if the contact is SMS-only"
|
||
},
|
||
"countMutedConversationsDescription": {
|
||
"message": "Include muted conversations in badge count",
|
||
"description": "Description for counting muted conversations in badge setting"
|
||
},
|
||
"ContactModal--message": {
|
||
"message": "Message",
|
||
"description": "Button text for send message button in Group Contact Details modal"
|
||
},
|
||
"ContactModal--rm-admin": {
|
||
"message": "Remove as admin",
|
||
"description": "Button text for removing as admin button in Group Contact Details modal"
|
||
},
|
||
"ContactModal--make-admin": {
|
||
"message": "Make admin",
|
||
"description": "Button text for make admin button in Group Contact Details modal"
|
||
},
|
||
"ContactModal--make-admin-info": {
|
||
"message": "$contact$ will be able to edit this group and its members.",
|
||
"description": "Shown in a confirmation dialog when you are about to grant admin privileges to someone",
|
||
"placeholders": {
|
||
"contact": {
|
||
"content": "$1",
|
||
"example": "Homer"
|
||
}
|
||
}
|
||
},
|
||
"ContactModal--rm-admin-info": {
|
||
"message": "Remove $contact$ as group admin?",
|
||
"description": "Shown in a confirmation dialog when you are about to remove admin privileges from someone",
|
||
"placeholders": {
|
||
"contact": {
|
||
"content": "$1",
|
||
"example": "Homer"
|
||
}
|
||
}
|
||
},
|
||
"ContactModal--remove-from-group": {
|
||
"message": "Remove from group",
|
||
"description": "Button text for remove from group button in Group Contact Details modal"
|
||
},
|
||
"showChatColorEditor": {
|
||
"message": "Chat color",
|
||
"description": "This is a button in the conversation context menu to show the chat color editor"
|
||
},
|
||
"showConversationDetails": {
|
||
"message": "Group settings",
|
||
"description": "This is a button in the conversation context menu to show group settings"
|
||
},
|
||
"showConversationDetails--direct": {
|
||
"message": "Chat settings",
|
||
"description": "This is a button in the conversation context menu to show chat settings"
|
||
},
|
||
"ConversationDetails__unmute--title": {
|
||
"message": "Unmute this chat?",
|
||
"description": "Title for the modal to unmute a chat"
|
||
},
|
||
"ConversationDetails--group-link": {
|
||
"message": "Group link",
|
||
"description": "This is the label for the group link management panel"
|
||
},
|
||
"ConversationDetails--disappearing-messages-label": {
|
||
"message": "Disappearing messages",
|
||
"description": "This is the label for the disappearing messages setting panel"
|
||
},
|
||
"ConversationDetails--disappearing-messages-info--group": {
|
||
"message": "When enabled, messages sent and received in this group will disappear after they've been seen.",
|
||
"description": "This is the info about the disappearing messages setting, in groups"
|
||
},
|
||
"ConversationDetails--disappearing-messages-info--direct": {
|
||
"message": "When enabled, messages sent and received in this 1:1 chat will disappear after they've been seen.",
|
||
"description": "This is the info about the disappearing messages setting, for direct conversations"
|
||
},
|
||
"ConversationDetails--notifications": {
|
||
"message": "Notifications",
|
||
"description": "This is the label for notifications in the conversation details screen"
|
||
},
|
||
"ConversationDetails--group-info-label": {
|
||
"message": "Who can edit group info",
|
||
"description": "This is the label for the 'who can edit the group' panel"
|
||
},
|
||
"ConversationDetails--group-info-info": {
|
||
"message": "Choose who can edit group name, photo, description, and disappearing messages timer.",
|
||
"description": "This is the additional info for the 'who can edit the group' panel"
|
||
},
|
||
"ConversationDetails--add-members-label": {
|
||
"message": "Who can add members",
|
||
"description": "This is the label for the 'who can add members' panel"
|
||
},
|
||
"ConversationDetails--add-members-info": {
|
||
"message": "Choose who can add members to this group.",
|
||
"description": "This is the additional info for the 'who can add members' panel"
|
||
},
|
||
"ConversationDetails--announcement-label": {
|
||
"message": "Who can send messages",
|
||
"description": "This is the additional info for the 'who can send messages' panel"
|
||
},
|
||
"ConversationDetails--announcement-info": {
|
||
"message": "Choose who can send messages to the group.",
|
||
"description": "This is the additional info for the 'who can send messages' panel"
|
||
},
|
||
"ConversationDetails--requests-and-invites": {
|
||
"message": "Requests & Invites",
|
||
"description": "This is a button to display which members have been invited but have not joined yet"
|
||
},
|
||
"ConversationDetailsActions--leave-group": {
|
||
"message": "Leave group",
|
||
"description": "This is a button to leave a group"
|
||
},
|
||
"ConversationDetailsActions--block-group": {
|
||
"message": "Block group",
|
||
"description": "This is a button to block a group"
|
||
},
|
||
"ConversationDetailsActions--unblock-group": {
|
||
"message": "Unblock group",
|
||
"description": "This is a button to unblock a group"
|
||
},
|
||
"ConversationDetailsActions--leave-group-must-choose-new-admin": {
|
||
"message": "Before you leave, you must choose at least one new admin for this group.",
|
||
"description": "Shown if, before leaving a group, you need to choose an admin"
|
||
},
|
||
"ConversationDetailsActions--leave-group-modal-title": {
|
||
"message": "Do you really want to leave?",
|
||
"description": "This is the modal title for confirming leaving a group"
|
||
},
|
||
"ConversationDetailsActions--leave-group-modal-content": {
|
||
"message": "You will no longer be able to send or receive messages in this group.",
|
||
"description": "This is the modal content for confirming leaving a group"
|
||
},
|
||
"ConversationDetailsActions--leave-group-modal-confirm": {
|
||
"message": "Leave",
|
||
"description": "This is the modal button to confirm leaving a group"
|
||
},
|
||
"ConversationDetailsActions--unblock-group-modal-title": {
|
||
"message": "Unblock the \"$groupName$\" Group?",
|
||
"description": "This is the modal title for confirming unblock of a group",
|
||
"placeholders": {
|
||
"groupName": {
|
||
"content": "$1",
|
||
"example": "Our Conversation"
|
||
}
|
||
}
|
||
},
|
||
"ConversationDetailsActions--block-group-modal-title": {
|
||
"message": "Block and Leave the \"$groupName$\" Group?",
|
||
"description": "This is the modal title for confirming blocking a group",
|
||
"placeholders": {
|
||
"groupName": {
|
||
"content": "$1",
|
||
"example": "Our Conversation"
|
||
}
|
||
}
|
||
},
|
||
"ConversationDetailsActions--block-group-modal-content": {
|
||
"message": "You will no longer receive messages or updates from this group.",
|
||
"description": "This is the modal content for confirming blocking a group"
|
||
},
|
||
"ConversationDetailsActions--block-group-modal-confirm": {
|
||
"message": "Block",
|
||
"description": "This is the modal button to confirm blocking a group"
|
||
},
|
||
"ConversationDetailsActions--unblock-group-modal-content": {
|
||
"message": "Your contacts will be able add you to this group.",
|
||
"description": "This is the modal content for confirming unblock of a group"
|
||
},
|
||
"ConversationDetailsActions--unblock-group-modal-confirm": {
|
||
"message": "Unblock",
|
||
"description": "This is the modal button to confirm unblock of a group"
|
||
},
|
||
"ConversationDetailsHeader--members": {
|
||
"message": "$number$ members",
|
||
"description": "This is the number of members in a group",
|
||
"placeholders": {
|
||
"number": {
|
||
"content": "$1",
|
||
"example": "10"
|
||
}
|
||
}
|
||
},
|
||
"ConversationDetailsMediaList--shared-media": {
|
||
"message": "Shared media",
|
||
"description": "Title for the media thumbnails in the conversation details screen"
|
||
},
|
||
"ConversationDetailsMediaList--show-all": {
|
||
"message": "See all",
|
||
"description": "This is a button on the conversation details to show all media"
|
||
},
|
||
"ConversationDetailsMembershipList--title": {
|
||
"message": "$number$ members",
|
||
"description": "The title of the membership list panel",
|
||
"placeholders": {
|
||
"number": {
|
||
"content": "$1",
|
||
"example": "10"
|
||
}
|
||
}
|
||
},
|
||
"ConversationDetailsMembershipList--add-members": {
|
||
"message": "Add members",
|
||
"description": "The button that you can click to add new members"
|
||
},
|
||
"ConversationDetailsMembershipList--show-all": {
|
||
"message": "See all",
|
||
"description": "This is a button on the conversation details to show all members"
|
||
},
|
||
"ConversationNotificationsSettings__mentions__label": {
|
||
"message": "Mentions",
|
||
"description": "In the conversation notifications settings, this is the label for the mentions option"
|
||
},
|
||
"ConversationNotificationsSettings__mentions__info": {
|
||
"message": "Receive notifications when you're mentioned in muted chats",
|
||
"description": "In the conversation notifications settings, this is the sub-label for the mentions option"
|
||
},
|
||
"ConversationNotificationsSettings__mentions__select__always-notify": {
|
||
"message": "Always notify",
|
||
"description": "In the conversation notifications settings, this is the option that always notifies you for @mentions"
|
||
},
|
||
"ConversationNotificationsSettings__mentions__select__dont-notify-for-mentions-if-muted": {
|
||
"message": "Don't notify if muted",
|
||
"description": "In the conversation notifications settings, this is the option that doesn't notify you for @mentions if the conversation is muted"
|
||
},
|
||
"GroupLinkManagement--clipboard": {
|
||
"message": "Group link copied.",
|
||
"description": "Shown in a toast when a user selects to copy group link"
|
||
},
|
||
"GroupLinkManagement--share": {
|
||
"message": "Copy link",
|
||
"description": "This lets users share their group link"
|
||
},
|
||
"GroupLinkManagement--confirm-reset": {
|
||
"message": "Are you sure you want to reset the group link? People will no longer be able to join the group using the current link.",
|
||
"description": "Shown in the confirmation dialog when an admin is about to reset the group link"
|
||
},
|
||
"GroupLinkManagement--reset": {
|
||
"message": "Reset link",
|
||
"description": "This lets users generate a new group link"
|
||
},
|
||
"GroupLinkManagement--approve-label": {
|
||
"message": "Approve new members",
|
||
"description": "Title for the approve new members select area"
|
||
},
|
||
"GroupLinkManagement--approve-info": {
|
||
"message": "Require an admin to approve new members joining via the group link",
|
||
"description": "Description for the approve new members select area"
|
||
},
|
||
"PendingInvites--tab-requests": {
|
||
"message": "Requests ($count$)",
|
||
"description": "Label for the tab to view pending requests",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "4"
|
||
}
|
||
}
|
||
},
|
||
"PendingInvites--tab-invites": {
|
||
"message": "Invites ($count$)",
|
||
"description": "Label for the tab to view pending invites",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "2"
|
||
}
|
||
}
|
||
},
|
||
"PendingRequests--approve-for": {
|
||
"message": "Approve request from \"$name$\"?",
|
||
"description": "This is the modal content when confirming approving a group request to join",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Meowsy Purrington"
|
||
}
|
||
}
|
||
},
|
||
"PendingRequests--deny-for": {
|
||
"message": "Deny request from \"$name$\"?",
|
||
"description": "This is the modal content when confirming denying a group request to join",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Meowsy Purrington"
|
||
}
|
||
}
|
||
},
|
||
"PendingRequests--deny-for--with-link": {
|
||
"message": "Deny request from \"$name$\"? They will not be able to request to join via the group link again.",
|
||
"description": "This is the modal content when confirming denying a group request to join",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Meowsy Purrington"
|
||
}
|
||
}
|
||
},
|
||
"PendingInvites--invites": {
|
||
"message": "Invited by you",
|
||
"description": "This is the title list of all invites"
|
||
},
|
||
"PendingInvites--invited-by-you": {
|
||
"message": "Invited by you",
|
||
"description": "This is the title for the list of members you have invited"
|
||
},
|
||
"PendingInvites--invited-by-others": {
|
||
"message": "Invited by others",
|
||
"description": "This is the title for the list of members who have invited other people"
|
||
},
|
||
"PendingInvites--invited-count": {
|
||
"message": "Invited $number$",
|
||
"description": "This is the label for the number of members someone has invited",
|
||
"placeholders": {
|
||
"number": {
|
||
"content": "$1",
|
||
"example": "3"
|
||
}
|
||
}
|
||
},
|
||
"PendingInvites--revoke-for-label": {
|
||
"message": "Revoke group invite",
|
||
"description": "This is aria label for revoking a group invite icon"
|
||
},
|
||
"PendingInvites--revoke-for": {
|
||
"message": "Revoke group invite for \"$name$\"?",
|
||
"description": "This is the modal content when confirming revoking a single invite",
|
||
"placeholders": {
|
||
"number": {
|
||
"content": "$1",
|
||
"example": "3"
|
||
},
|
||
"name": {
|
||
"content": "$2",
|
||
"example": "Fred Riley III"
|
||
}
|
||
}
|
||
},
|
||
"PendingInvites--revoke-from-singular": {
|
||
"message": "Revoke 1 invite sent by \"$name$\"?",
|
||
"description": "This is the modal content when confirming revoking a single invite",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$2",
|
||
"example": "Fred Riley III"
|
||
}
|
||
}
|
||
},
|
||
"PendingInvites--revoke-from-plural": {
|
||
"message": "Revoke $number$ invites sent by \"$name$\"?",
|
||
"description": "This is the modal content when confirming revoking multiple invites",
|
||
"placeholders": {
|
||
"number": {
|
||
"content": "$1",
|
||
"example": "3"
|
||
},
|
||
"name": {
|
||
"content": "$2",
|
||
"example": "Fred Riley III"
|
||
}
|
||
}
|
||
},
|
||
"PendingInvites--revoke": {
|
||
"message": "Revoke",
|
||
"description": "This is the modal button to confirm revoking invites"
|
||
},
|
||
"PendingRequests--approve": {
|
||
"message": "Approve Request",
|
||
"description": "This is the modal button to approve group request to join"
|
||
},
|
||
"PendingRequests--deny": {
|
||
"message": "Deny Request",
|
||
"description": "This is the modal button to deny group request to join"
|
||
},
|
||
"PendingRequests--info": {
|
||
"message": "People on this list are attempting to join \"$name$\" via the group link.",
|
||
"description": "Information shown below the pending admin approval list",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Tahoe List"
|
||
}
|
||
}
|
||
},
|
||
"PendingInvites--info": {
|
||
"message": "Details about people invited to this group aren’t shown until they join. Invitees will only see messages after they join the group.",
|
||
"description": "Information shown below the invite list"
|
||
},
|
||
|
||
"PendingRequests--block--button": {
|
||
"message": "Block request",
|
||
"description": "Shown in timeline if users cancel their request to join a group via a group link"
|
||
},
|
||
"PendingRequests--block--title": {
|
||
"message": "Block request?",
|
||
"description": "Title of dialog to block a user from requesting to join via the link again"
|
||
},
|
||
"PendingRequests--block--contents": {
|
||
"message": "$name$ will not be able to join or request to join this group via the group link. They can still be added to the group manually.",
|
||
"description": "Details of dialog to block a user from requesting to join via the link again",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Annoying Person"
|
||
}
|
||
}
|
||
},
|
||
"PendingRequests--block--confirm": {
|
||
"message": "Block Request",
|
||
"description": "Confirmation button of dialog to block a user from requesting to join via the link again"
|
||
},
|
||
|
||
"AvatarInput--no-photo-label--group": {
|
||
"message": "Add a group photo",
|
||
"description": "The label for the avatar uploader when no group photo is selected"
|
||
},
|
||
"AvatarInput--no-photo-label--profile": {
|
||
"message": "Add a photo",
|
||
"description": "The label for the avatar uploader when no profile photo is selected"
|
||
},
|
||
"AvatarInput--change-photo-label": {
|
||
"message": "Change photo",
|
||
"description": "The label for the avatar uploader when a photo is selected"
|
||
},
|
||
"AvatarInput--upload-photo-choice": {
|
||
"message": "Upload photo",
|
||
"description": "The button text when you click on an uploaded avatar and want to upload a new one"
|
||
},
|
||
"AvatarInput--remove-photo-choice": {
|
||
"message": "Remove photo",
|
||
"description": "The button text when you click on an uploaded avatar and want to remove it"
|
||
},
|
||
"ContactPill--remove": {
|
||
"message": "Remove contact",
|
||
"description": "The label for the 'remove' button on the contact pill"
|
||
},
|
||
"ComposeErrorDialog--close": {
|
||
"message": "Okay",
|
||
"description": "The text on the button when there's an error in the composer"
|
||
},
|
||
"NewlyCreatedGroupInvitedContactsDialog--title--one": {
|
||
"message": "Invitation sent",
|
||
"description": "When creating a new group and inviting users, this is shown in the dialog"
|
||
},
|
||
"NewlyCreatedGroupInvitedContactsDialog--title--many": {
|
||
"message": "$count$ invitations sent",
|
||
"description": "When creating a new group and inviting users, this is shown in the dialog",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "3"
|
||
}
|
||
}
|
||
},
|
||
"NewlyCreatedGroupInvitedContactsDialog--body--user-paragraph--one": {
|
||
"message": "$name$ can’t be automatically added to this group by you.",
|
||
"description": "When creating a new group and inviting users, this is shown in the dialog",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Jane Doe"
|
||
}
|
||
}
|
||
},
|
||
"NewlyCreatedGroupInvitedContactsDialog--body--user-paragraph--many": {
|
||
"message": "These users can’t be automatically added to this group by you.",
|
||
"description": "When creating a new group and inviting users, this is shown in the dialog"
|
||
},
|
||
"NewlyCreatedGroupInvitedContactsDialog--body--info-paragraph": {
|
||
"message": "They’ve been invited to join, and won’t see any group messages until they accept.",
|
||
"description": "When creating a new group and inviting users, this is shown in the dialog"
|
||
},
|
||
"NewlyCreatedGroupInvitedContactsDialog--body--learn-more": {
|
||
"message": "Learn more",
|
||
"description": "When creating a new group and inviting users, this is shown in the dialog"
|
||
},
|
||
"AddGroupMembersModal--title": {
|
||
"message": "Add members",
|
||
"description": "When adding new members to an existing group, this is shown in the dialog"
|
||
},
|
||
"AddGroupMembersModal--continue-to-confirm": {
|
||
"message": "Update",
|
||
"description": "When adding new members to an existing group, this is shown in the dialog"
|
||
},
|
||
"AddGroupMembersModal--confirm-title--one": {
|
||
"message": "Add $person$ to \"$group$\"?",
|
||
"description": "When adding new members to an existing group, this is shown in the confirmation dialog",
|
||
"placeholders": {
|
||
"person": {
|
||
"content": "$1",
|
||
"example": "Jane Doe"
|
||
},
|
||
"group": {
|
||
"content": "$2",
|
||
"example": "Tahoe Trip"
|
||
}
|
||
}
|
||
},
|
||
"AddGroupMembersModal--confirm-title--many": {
|
||
"message": "Add $count$ members to \"$group$\"?",
|
||
"description": "When adding new members to an existing group, this is shown in the confirmation dialog",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
},
|
||
"group": {
|
||
"content": "$2",
|
||
"example": "Tahoe Trip"
|
||
}
|
||
}
|
||
},
|
||
"AddGroupMembersModal--confirm-button--one": {
|
||
"message": "Add member",
|
||
"description": "When adding new members to an existing group, this is shown on the confirmation dialog button"
|
||
},
|
||
"AddGroupMembersModal--confirm-button--many": {
|
||
"message": "Add members",
|
||
"description": "When adding new members to an existing group, this is shown on the confirmation dialog button"
|
||
},
|
||
"createNewGroupButton": {
|
||
"message": "New group",
|
||
"description": "The text of the button to create new groups"
|
||
},
|
||
"selectContact": {
|
||
"message": "Select contact $name$",
|
||
"description": "The label for contact checkboxes that are non-selected (clicking them should select the contact)",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "John"
|
||
}
|
||
}
|
||
},
|
||
"deselectContact": {
|
||
"message": "De-select contact $name$",
|
||
"description": "The label for contact checkboxes that are selected (clicking them should de-select the contact)",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "John"
|
||
}
|
||
}
|
||
},
|
||
"cannotSelectContact": {
|
||
"message": "Cannot select contact $name$",
|
||
"description": "The label for contact checkboxes that are disabled",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "John"
|
||
}
|
||
}
|
||
},
|
||
"alreadyAMember": {
|
||
"message": "Already a member",
|
||
"description": "The label for contact checkboxes that are disabled because they're already a member"
|
||
},
|
||
"MessageAudio--play": {
|
||
"message": "Play audio attachment",
|
||
"description": "Aria label for audio attachment's Play button"
|
||
},
|
||
"MessageAudio--pause": {
|
||
"message": "Pause audio attachment",
|
||
"description": "Aria label for audio attachment's Pause button"
|
||
},
|
||
"MessageAudio--download": {
|
||
"message": "Download audio attachment",
|
||
"description": "Aria label for audio attachment's Download button"
|
||
},
|
||
"MessageAudio--pending": {
|
||
"message": "Downloading audio attachment...",
|
||
"description": "Aria label for pending audio attachment spinner"
|
||
},
|
||
"MessageAudio--slider": {
|
||
"message": "Playback time of audio attachment",
|
||
"description": "Aria label for audio attachment's playback time slider"
|
||
},
|
||
"emptyInboxMessage": {
|
||
"message": "Click the $composeIcon$ above and search for your contacts or groups to message.",
|
||
"description": "Shown in the left-pane when the inbox is empty",
|
||
"placeholders": {
|
||
"composeIcon": {
|
||
"content": "$1",
|
||
"example": "compose button"
|
||
}
|
||
}
|
||
},
|
||
"composeIcon": {
|
||
"message": "compose button",
|
||
"description": "Shown in the left-pane when the inbox is empty. Describes the button that composes a new message."
|
||
},
|
||
"ForwardMessageModal--continue": {
|
||
"message": "Continue",
|
||
"description": "aria-label for the 'next' button in the forward a message modal dialog"
|
||
},
|
||
"TimelineDateHeader--date-in-last-6-months": {
|
||
"message": "ddd, MMM D",
|
||
"description": "Moment.js format for date headers in the message timeline, for dates <6 months old. See https://momentjs.com/docs/#/displaying/format/."
|
||
},
|
||
"TimelineDateHeader--date-older-than-6-months": {
|
||
"message": "MMM D, YYYY",
|
||
"description": "Moment.js format for date headers in the message timeline, for dates >=6 months old. See https://momentjs.com/docs/#/displaying/format/."
|
||
},
|
||
"MessageRequestWarning__learn-more": {
|
||
"message": "Learn more",
|
||
"description": "Shown on the message request warning. Clicking this button will open a dialog with more information"
|
||
},
|
||
"MessageRequestWarning__dialog__details": {
|
||
"message": "You have no groups in common with this person. Review requests carefully before accepting to avoid unwanted messages.",
|
||
"description": "Shown in the message request warning dialog. Gives more information about message requests"
|
||
},
|
||
"MessageRequestWarning__dialog__learn-even-more": {
|
||
"message": "About Message Requests",
|
||
"description": "Shown in the message request warning dialog. Clicking this button will open a page on Signal's support site"
|
||
},
|
||
"ContactSpoofing__same-name": {
|
||
"message": "Review requests carefully. Signal found another contact with the same name. $link$",
|
||
"description": "Shown in the timeline warning when you have a message request from someone with the same name as someone else",
|
||
"placeholders": {
|
||
"link": {
|
||
"content": "$1",
|
||
"example": "Review request"
|
||
}
|
||
}
|
||
},
|
||
"ContactSpoofing__same-name-in-group": {
|
||
"message": "$count$ group members have the same name. $link$",
|
||
"description": "Shown in the timeline warning when you multiple group members have the same name",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "3"
|
||
},
|
||
"link": {
|
||
"content": "$2",
|
||
"example": "Tap to review"
|
||
}
|
||
}
|
||
},
|
||
"ContactSpoofing__same-name__link": {
|
||
"message": "Review request",
|
||
"description": "Shown in the timeline warning when you have a message request from someone with the same name as someone else"
|
||
},
|
||
"ContactSpoofing__same-name-in-group__link": {
|
||
"message": "Click to review",
|
||
"description": "Shown in the timeline warning when you multiple group members have the same name"
|
||
},
|
||
"ContactSpoofingReviewDialog__title": {
|
||
"message": "Review request",
|
||
"description": "Title for the contact name spoofing review dialog"
|
||
},
|
||
"ContactSpoofingReviewDialog__description": {
|
||
"message": "If you're not sure who the request is from, review the contacts below and take action.",
|
||
"description": "Description for the contact spoofing review dialog"
|
||
},
|
||
"ContactSpoofingReviewDialog__possibly-unsafe-title": {
|
||
"message": "Request",
|
||
"description": "Header in the contact spoofing review dialog, shown above the potentially-unsafe user"
|
||
},
|
||
"ContactSpoofingReviewDialog__safe-title": {
|
||
"message": "Your contact",
|
||
"description": "Header in the contact spoofing review dialog, shown above the \"safe\" user"
|
||
},
|
||
"ContactSpoofingReviewDialog__group__title": {
|
||
"message": "Review members",
|
||
"description": "Title for the contact name spoofing review dialog in groups"
|
||
},
|
||
"ContactSpoofingReviewDialog__group__description": {
|
||
"message": "$count$ group members have similar names. Review the members below or choose to take action.",
|
||
"description": "Description for the group contact spoofing review dialog"
|
||
},
|
||
"ContactSpoofingReviewDialog__group__members-header": {
|
||
"message": "Members",
|
||
"description": "Header in the group contact spoofing review dialog. After this header, there will be a list of members"
|
||
},
|
||
"ContactSpoofingReviewDialog__group__name-change-info": {
|
||
"message": "Recently changed their profile name from $oldName$ to $newName$",
|
||
"description": "In the group contact spoofing review dialog, this text is shown when someone has changed their name recently",
|
||
"placeholders": {
|
||
"oldName": {
|
||
"content": "$1",
|
||
"example": "Jane Doe"
|
||
},
|
||
"newName": {
|
||
"content": "$2",
|
||
"example": "Doe Jane"
|
||
}
|
||
}
|
||
},
|
||
"RemoveGroupMemberConfirmation__remove-button": {
|
||
"message": "Remove from group",
|
||
"description": "When confirming the removal of a group member, show this text in the button"
|
||
},
|
||
"RemoveGroupMemberConfirmation__description": {
|
||
"message": "Remove \"$name$\" from the group?",
|
||
"description": "When confirming the removal of a group member, show this text in the dialog",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Jane Doe"
|
||
}
|
||
}
|
||
},
|
||
"RemoveGroupMemberConfirmation__description__with-link": {
|
||
"message": "Remove \"$name$\" from the group? They will not be able to rejoin via the group link.",
|
||
"description": "When confirming the removal of a group member, show this text in the dialog",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Jane Doe"
|
||
}
|
||
}
|
||
},
|
||
"CaptchaDialog__title": {
|
||
"message": "Verify to continue messaging",
|
||
"description": "Header in the captcha dialog"
|
||
},
|
||
"CaptchaDialog__first-paragraph": {
|
||
"message": "To help prevent spam on Signal, please complete verification.",
|
||
"description": "First paragraph in the captcha dialog"
|
||
},
|
||
"CaptchaDialog__second-paragraph": {
|
||
"message": "After verifying, you can continue messaging. Any paused messages will automatically be sent.",
|
||
"description": "First paragraph in the captcha dialog"
|
||
},
|
||
"CaptchaDialog--can-close__title": {
|
||
"message": "Continue without verifying?",
|
||
"description": "Header in the captcha dialog that can be closed"
|
||
},
|
||
"CaptchaDialog--can-close__body": {
|
||
"message": "If you choose to skip verification, you may miss messages from other people and your messages may fail to send.",
|
||
"description": "Body of the captcha dialog that can be closed"
|
||
},
|
||
"CaptchaDialog--can_close__skip-verification": {
|
||
"message": "Skip verification",
|
||
"description": "Skip button of the captcha dialog that can be closed"
|
||
},
|
||
"verificationComplete": {
|
||
"message": "Verification complete.",
|
||
"description": "Displayed after successful captcha"
|
||
},
|
||
"verificationFailed": {
|
||
"message": "Verification failed. Please retry later.",
|
||
"description": "Displayed after unsuccessful captcha"
|
||
},
|
||
"deleteForEveryoneFailed": {
|
||
"message": "Failed to delete message for everyone. Please retry later.",
|
||
"description": "Displayed when delete-for-everyone has failed to send to all recipients"
|
||
},
|
||
"ChatColorPicker__delete--title": {
|
||
"message": "Delete color",
|
||
"description": "Confirm title for deleting custom color"
|
||
},
|
||
"ChatColorPicker__delete--message": {
|
||
"message": "This custom color is used in $num$ chats. Do you want to delete it for all chats?",
|
||
"description": "Confirm message for deleting custom color",
|
||
"placeholders": {
|
||
"num": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"ChatColorPicker__global-chat-color": {
|
||
"message": "Global Chat Color",
|
||
"description": "Modal title for the chat color picker and editor for all conversations"
|
||
},
|
||
"ChatColorPicker__menu-title": {
|
||
"message": "Chat Color",
|
||
"description": "View title for the chat color picker and editor"
|
||
},
|
||
"ChatColorPicker__reset": {
|
||
"message": "Reset chat color",
|
||
"description": "Button label for resetting chat colors"
|
||
},
|
||
"ChatColorPicker__resetDefault": {
|
||
"message": "Reset Chat Colors",
|
||
"description": "Confirmation dialog title for resetting all chat colors or only the global default one"
|
||
},
|
||
"ChatColorPicker__resetAll": {
|
||
"message": "Reset all chat colors",
|
||
"description": "Button label for resetting all chat colors"
|
||
},
|
||
"ChatColorPicker__confirm-reset-default": {
|
||
"message": "Reset default",
|
||
"description": "Button label for resetting only global chat color"
|
||
},
|
||
"ChatColorPicker__confirm-reset": {
|
||
"message": "Reset",
|
||
"description": "Confirm button label for resetting chat colors"
|
||
},
|
||
"ChatColorPicker__confirm-reset-message": {
|
||
"message": "Would you like to override all chat colors?",
|
||
"description": "Modal message text for confirming resetting of chat colors"
|
||
},
|
||
"ChatColorPicker__custom-color--label": {
|
||
"message": "Show custom color editor",
|
||
"description": "aria-label for custom color editor button"
|
||
},
|
||
"ChatColorPicker__sampleBubble1": {
|
||
"message": "Here's a preview of the chat color.",
|
||
"description": "An example message bubble for selecting the chat color"
|
||
},
|
||
"ChatColorPicker__sampleBubble2": {
|
||
"message": "Another bubble.",
|
||
"description": "An example message bubble for selecting the chat color"
|
||
},
|
||
"ChatColorPicker__sampleBubble3": {
|
||
"message": "The color is visible to only you.",
|
||
"description": "An example message bubble for selecting the chat color"
|
||
},
|
||
"ChatColorPicker__context--edit": {
|
||
"message": "Edit color",
|
||
"description": "Option in the custom color bubble context menu"
|
||
},
|
||
"ChatColorPicker__context--duplicate": {
|
||
"message": "Duplicate",
|
||
"description": "Option in the custom color bubble context menu"
|
||
},
|
||
"ChatColorPicker__context--delete": {
|
||
"message": "Delete",
|
||
"description": "Option in the custom color bubble context menu"
|
||
},
|
||
"CustomColorEditor__solid": {
|
||
"message": "Solid",
|
||
"description": "Tab label for selecting solid colors"
|
||
},
|
||
"CustomColorEditor__gradient": {
|
||
"message": "Gradient",
|
||
"description": "Tab label for selecting a gradient"
|
||
},
|
||
"CustomColorEditor__hue": {
|
||
"message": "Hue",
|
||
"description": "Label for the hue slider"
|
||
},
|
||
"CustomColorEditor__saturation": {
|
||
"message": "Saturation",
|
||
"description": "Label for the saturation slider"
|
||
},
|
||
"CustomColorEditor__title": {
|
||
"message": "Custom Color",
|
||
"description": "Modal title for the custom color editor"
|
||
},
|
||
"customDisappearingTimeOption": {
|
||
"message": "Custom time...",
|
||
"description": "Text for an option in Disappearing Messages menu and Conversation Details Disappearing Messages setting when no user value is available"
|
||
},
|
||
"selectedCustomDisappearingTimeOption": {
|
||
"message": "Custom time",
|
||
"description": "Text for an option in Conversation Details Disappearing Messages setting when user previously selected custom time"
|
||
},
|
||
"DisappearingTimeDialog__label--value": {
|
||
"message": "Number",
|
||
"description": "aria-label for the number select box"
|
||
},
|
||
"DisappearingTimeDialog__label--units": {
|
||
"message": "Unit of time",
|
||
"description": "aria-label for the units of time select box"
|
||
},
|
||
"DisappearingTimeDialog__title": {
|
||
"message": "Custom Time",
|
||
"description": "Title for the custom disappearing message timeout dialog"
|
||
},
|
||
"DisappearingTimeDialog__body": {
|
||
"message": "Choose a custom time for disappearing messages.",
|
||
"description": "Body for the custom disappearing message timeout dialog"
|
||
},
|
||
"DisappearingTimeDialog__set": {
|
||
"message": "Set",
|
||
"description": "Text for the dialog button confirming the custom disappearing message timeout"
|
||
},
|
||
"DisappearingTimeDialog__seconds": {
|
||
"message": "Seconds",
|
||
"description": "Name of the 'seconds' unit select for the custom disappearing message timeout dialog"
|
||
},
|
||
"DisappearingTimeDialog__minutes": {
|
||
"message": "Minutes",
|
||
"description": "Name of the 'minutes' unit select for the custom disappearing message timeout dialog"
|
||
},
|
||
"DisappearingTimeDialog__hours": {
|
||
"message": "Hours",
|
||
"description": "Name of the 'hours' unit select for the custom disappearing message timeout dialog"
|
||
},
|
||
"DisappearingTimeDialog__days": {
|
||
"message": "Days",
|
||
"description": "Name of the 'days' unit select for the custom disappearing message timeout dialog"
|
||
},
|
||
"DisappearingTimeDialog__weeks": {
|
||
"message": "Weeks",
|
||
"description": "Name of the 'weeks' unit select for the custom disappearing message timeout dialog"
|
||
},
|
||
"settings__DisappearingMessages__footer": {
|
||
"message": "Set a default disappearing message timer for all new chats started by you.",
|
||
"description": "Footer for the Disappearing Messages settings section"
|
||
},
|
||
"settings__DisappearingMessages__timer__label": {
|
||
"message": "Default timer for new chats",
|
||
"description": "Label for the Disappearing Messages default timer setting"
|
||
},
|
||
"UniversalTimerNotification__text": {
|
||
"message": "The disappearing message time will be set to $timeValue$ when you message them.",
|
||
"description": "A message displayed when default disappearing message timeout is about to be applied",
|
||
"placeholders": {
|
||
"timeValue": {
|
||
"content": "$1",
|
||
"example": "1 week"
|
||
}
|
||
}
|
||
},
|
||
"ErrorBoundaryNotification__text": {
|
||
"message": "Couldn't display this message. Click to submit a debug log.",
|
||
"description": "An error notification displayed when message fails to render due to an internal error"
|
||
},
|
||
"GroupDescription__read-more": {
|
||
"message": "read more",
|
||
"description": "Button text when the group description is too long"
|
||
},
|
||
"EditConversationAttributesModal__description-warning": {
|
||
"message": "Group descriptions will be visible to members of this group and people who have been invited.",
|
||
"description": "Label text shown when editing group description"
|
||
},
|
||
"ConversationDetailsHeader--add-group-description": {
|
||
"message": "Add group description...",
|
||
"description": "Placeholder text in the details header for those that can edit the group description"
|
||
},
|
||
"MediaQualitySelector--button": {
|
||
"message": "Select media quality",
|
||
"description": "aria-label for the media quality selector button"
|
||
},
|
||
"MediaQualitySelector--title": {
|
||
"message": "Media Quality",
|
||
"description": "Popup selector title"
|
||
},
|
||
"MediaQualitySelector--standard-quality-title": {
|
||
"message": "Standard",
|
||
"description": "Title for option for standard quality"
|
||
},
|
||
"MediaQualitySelector--standard-quality-description": {
|
||
"message": "Faster, less data",
|
||
"description": "Description of standard quality selector"
|
||
},
|
||
"MediaQualitySelector--high-quality-title": {
|
||
"message": "High",
|
||
"description": "Title for option for high quality"
|
||
},
|
||
"MediaQualitySelector--high-quality-description": {
|
||
"message": "Slower, more data",
|
||
"description": "Description of high quality selector"
|
||
},
|
||
"MessageDetailsHeader--Failed": {
|
||
"message": "Not sent",
|
||
"description": "In the message details screen, shown above contacts where the message failed to deliver"
|
||
},
|
||
"MessageDetailsHeader--Pending": {
|
||
"message": "Pending",
|
||
"description": "In the message details screen, shown above contacts where the message is still sending"
|
||
},
|
||
"MessageDetailsHeader--Sent": {
|
||
"message": "Sent to",
|
||
"description": "In the message details screen, shown above contacts where the message has been sent (but not delivered, read, or viewed)"
|
||
},
|
||
"MessageDetailsHeader--Delivered": {
|
||
"message": "Delivered to",
|
||
"description": "In the message details screen, shown above contacts who have received your message"
|
||
},
|
||
"MessageDetailsHeader--Read": {
|
||
"message": "Read by",
|
||
"description": "In the message details screen, shown above contacts who have read this message"
|
||
},
|
||
"MessageDetailsHeader--Viewed": {
|
||
"message": "Viewed by",
|
||
"description": "In the message details screen, shown above contacts who have viewed this message"
|
||
},
|
||
"ProfileEditor--about": {
|
||
"message": "About",
|
||
"description": "Default text for about field"
|
||
},
|
||
"ProfileEditor--username": {
|
||
"message": "Username",
|
||
"description": "Default text for username field"
|
||
},
|
||
"ProfileEditor--username--placeholder": {
|
||
"message": "Enter a username",
|
||
"description": "Placeholder for the username field"
|
||
},
|
||
"ProfileEditor--username--helper": {
|
||
"message": "Usernames on Signal are optional. If you choose to create a username other Signal users will be able to find you by this username and contact you without knowing your phone number.",
|
||
"description": "Shown on the edit username screen"
|
||
},
|
||
"ProfileEditor--username--check-characters": {
|
||
"message": "Usernames may only contain a-z, 0-9 and _",
|
||
"description": "Shown if user has attempted to use forbidden characters"
|
||
},
|
||
"ProfileEditor--username--check-starting-character": {
|
||
"message": "Usernames may not begin with a number.",
|
||
"description": "Shown if user has attempted to begin their username with a number"
|
||
},
|
||
"ProfileEditor--username--check-character-min": {
|
||
"message": "Usernames must have a least $min$ characters.",
|
||
"description": "Shown if user has attempted to enter a username with too few characters - currently min is 3",
|
||
"placeholders": {
|
||
"min": {
|
||
"content": "$1",
|
||
"example": "3"
|
||
}
|
||
}
|
||
},
|
||
"ProfileEditor--username--check-character-max": {
|
||
"message": "Usernames must have at most $max$ characters.",
|
||
"description": "Shown if user has attempted to enter a username with too many characters - currently min is 25",
|
||
"placeholders": {
|
||
"max": {
|
||
"content": "$1",
|
||
"example": "25"
|
||
}
|
||
}
|
||
},
|
||
"ProfileEditor--username--check-username-taken": {
|
||
"message": "This username is taken.",
|
||
"description": "Shown if user has attempted to save a username which is not available"
|
||
},
|
||
"ProfileEditor--username--general-error": {
|
||
"message": "Your username couldn’t be saved. Check your connection and try again.",
|
||
"description": "Shown if something unknown has gone wrong with username save."
|
||
},
|
||
"ProfileEditor--username--delete-general-error": {
|
||
"message": "Your username couldn’t be removed. Check your connection and try again.",
|
||
"description": "Shown if something unknown has gone wrong with username delete."
|
||
},
|
||
"ProfileEditor--username--delete-username": {
|
||
"message": "Delete username",
|
||
"description": "Shown as aria label for trash icon next to username"
|
||
},
|
||
"ProfileEditor--username--confirm-delete-body": {
|
||
"message": "This will remove your username, allowing other users to claim it. Are you sure?",
|
||
"description": "Shown in dialog body if user has saved an empty string to delete their username"
|
||
},
|
||
"ProfileEditor--username--confirm-delete-button": {
|
||
"message": "Delete",
|
||
"description": "Shown in dialog button if user has saved an empty string to delete their username"
|
||
},
|
||
"ProfileEditor--about-placeholder": {
|
||
"message": "Write something about yourself...",
|
||
"description": "Placeholder text for about input field"
|
||
},
|
||
"ProfileEditor--first-name": {
|
||
"message": "First Name (Required)",
|
||
"description": "Placeholder text for first name field"
|
||
},
|
||
"ProfileEditor--last-name": {
|
||
"message": "Last Name (Optional)",
|
||
"description": "Placeholder text for last name field"
|
||
},
|
||
"ConfirmDiscardDialog--discard": {
|
||
"message": "Would you like to discard these changes?",
|
||
"description": "ConfirmationDialog text for discarding changes"
|
||
},
|
||
"ProfileEditor--info": {
|
||
"message": "Your profile is encrypted. Your profile and changes to it will be visible to your contacts and when you start or accept new chats. $learnMore$",
|
||
"description": "Information shown at the bottom of the profile editor section",
|
||
"placeholders": {
|
||
"learnMore": {
|
||
"content": "$1",
|
||
"example": "Learn More."
|
||
}
|
||
}
|
||
},
|
||
"ProfileEditor--learnMore": {
|
||
"message": "Learn More",
|
||
"description": "Text that links to a support article"
|
||
},
|
||
"Bio--speak-freely": {
|
||
"message": "Speak Freely",
|
||
"description": "A default bio option"
|
||
},
|
||
"Bio--encrypted": {
|
||
"message": "Encrypted",
|
||
"description": "A default bio option"
|
||
},
|
||
"Bio--free-to-chat": {
|
||
"message": "Free to chat",
|
||
"description": "A default bio option"
|
||
},
|
||
"Bio--coffee-lover": {
|
||
"message": "Coffee lover",
|
||
"description": "A default bio option"
|
||
},
|
||
"Bio--taking-break": {
|
||
"message": "Taking a break",
|
||
"description": "A default bio option"
|
||
},
|
||
"ProfileEditorModal--profile": {
|
||
"message": "Profile",
|
||
"description": "Title for profile editing"
|
||
},
|
||
"ProfileEditorModal--name": {
|
||
"message": "Your Name",
|
||
"description": "Title for editing your name"
|
||
},
|
||
"ProfileEditorModal--about": {
|
||
"message": "About",
|
||
"description": "Title for about editing"
|
||
},
|
||
"ProfileEditorModal--avatar": {
|
||
"message": "Your Avatar",
|
||
"description": "Title for profile avatar editing"
|
||
},
|
||
"ProfileEditorModal--username": {
|
||
"message": "Username",
|
||
"description": "Title for username editing"
|
||
},
|
||
"ProfileEditorModal--error": {
|
||
"message": "Your profile could not be updated. Please try again.",
|
||
"description": "Error message when something goes wrong updating your profile."
|
||
},
|
||
"AnnouncementsOnlyGroupBanner--modal": {
|
||
"message": "Message an admin",
|
||
"description": "Modal title for the list of admins in a group"
|
||
},
|
||
"AnnouncementsOnlyGroupBanner--announcements-only": {
|
||
"message": "Only $admins$ can send messages",
|
||
"description": "Displayed if sending of messages is disabled to non-admins",
|
||
"placeholders": {
|
||
"admins": {
|
||
"content": "$1",
|
||
"example": "admins"
|
||
}
|
||
}
|
||
},
|
||
"AnnouncementsOnlyGroupBanner--admins": {
|
||
"message": "admins",
|
||
"description": "Clickable text describing administrators of a group, used in the message an admin label"
|
||
},
|
||
"AvatarEditor--choose": {
|
||
"message": "Select an avatar",
|
||
"description": "Label for the avatar selector"
|
||
},
|
||
"AvatarColorPicker--choose": {
|
||
"message": "Choose a color",
|
||
"description": "Label for when you need to choose your fighter, err color"
|
||
},
|
||
"LeftPaneSetGroupMetadataHelper__avatar-modal-title": {
|
||
"message": "Group Avatar",
|
||
"description": "Title for the avatar picker in the group creation flow"
|
||
},
|
||
"Preferences__button--general": {
|
||
"message": "General",
|
||
"description": "Button to switch the settings view"
|
||
},
|
||
"Preferences__button--appearance": {
|
||
"message": "Appearance",
|
||
"description": "Button to switch the settings view"
|
||
},
|
||
"Preferences__button--chats": {
|
||
"message": "Chats",
|
||
"description": "Button to switch the settings view (and a title of pane)"
|
||
},
|
||
"Preferences__button--calls": {
|
||
"message": "Calls",
|
||
"description": "Button to switch the settings view"
|
||
},
|
||
"Preferences__button--notifications": {
|
||
"message": "Notifications",
|
||
"description": "Button to switch the settings view"
|
||
},
|
||
"Preferences__button--privacy": {
|
||
"message": "Privacy",
|
||
"description": "Button to switch the settings view"
|
||
},
|
||
"Preferences--lastSynced": {
|
||
"message": "Last import at $date$ $time$",
|
||
"description": "Label for date and time of last sync operation",
|
||
"placeholders": {
|
||
"date": {
|
||
"content": "$1",
|
||
"example": "6/9/2020"
|
||
},
|
||
"time": {
|
||
"content": "$2",
|
||
"example": "7:37:25 PM"
|
||
}
|
||
}
|
||
},
|
||
"Preferences--system": {
|
||
"message": "System",
|
||
"description": "Title for system type settings"
|
||
},
|
||
"Preferences--zoom": {
|
||
"message": "Zoom level",
|
||
"description": "Label for changing the zoom level"
|
||
},
|
||
"Preferences__link-previews--title": {
|
||
"message": "Generate link previews",
|
||
"description": "Title for the generate link previews setting"
|
||
},
|
||
"Preferences__link-previews--description": {
|
||
"message": "To change this setting, open the Signal app on your mobile device and navigate to Settings > Chats",
|
||
"description": "Description for the generate link previews setting"
|
||
},
|
||
"Preferences--advanced": {
|
||
"message": "Advanced",
|
||
"description": "Title for advanced settings"
|
||
},
|
||
"Preferences--notification-content": {
|
||
"message": "Notification content",
|
||
"description": "Label for the notification content setting select box"
|
||
},
|
||
"Preferences--blocked": {
|
||
"message": "Blocked",
|
||
"description": "Label for blocked contacts setting"
|
||
},
|
||
"Preferences--blocked-count-singular": {
|
||
"message": "$num$ contact",
|
||
"description": "Number of contacts blocked singular",
|
||
"placeholders": {
|
||
"num": {
|
||
"content": "$1",
|
||
"example": "1"
|
||
}
|
||
}
|
||
},
|
||
"Preferences--blocked-count-plural": {
|
||
"message": "$num$ contacts",
|
||
"description": "Number of contacts blocked plural",
|
||
"placeholders": {
|
||
"num": {
|
||
"content": "$1",
|
||
"example": "20"
|
||
}
|
||
}
|
||
},
|
||
"Preferences__who-can--title": {
|
||
"message": "Who can...",
|
||
"description": "Title for the 'who can do X' setting"
|
||
},
|
||
"Preferences__privacy--description": {
|
||
"message": "To change these settings, open the Signal app on your mobile device and navigate to Settings > Privacy",
|
||
"description": "Description for the 'who can do X' setting"
|
||
},
|
||
"Preferences__who-can--everybody": {
|
||
"message": "Everybody",
|
||
"description": "Option for who can see my X select"
|
||
},
|
||
"Preferences__who-can--contacts": {
|
||
"message": "My Contacts",
|
||
"description": "Option for who can see my X select"
|
||
},
|
||
"Preferences__who-can--nobody": {
|
||
"message": "Nobody",
|
||
"description": "Option for who can see my X select"
|
||
},
|
||
"Preferences--messaging": {
|
||
"message": "Messaging",
|
||
"description": "Title for the messaging settings"
|
||
},
|
||
"Preferences--see-me": {
|
||
"message": "See my phone number",
|
||
"description": "Label for the see my phone number setting"
|
||
},
|
||
"Preferences--find-me": {
|
||
"message": "Find me by my phone number",
|
||
"description": "Label for the find me by my phone number setting"
|
||
},
|
||
"Preferences--read-receipts": {
|
||
"message": "Read receipts",
|
||
"description": "Label for the read receipts setting"
|
||
},
|
||
"Preferences--typing-indicators": {
|
||
"message": "Typing indicators",
|
||
"description": "Label for the typing indicators setting"
|
||
},
|
||
"Preferences--updates": {
|
||
"message": "Updates",
|
||
"description": "Header for settings having to do with updates"
|
||
},
|
||
"Preferences__download-update": {
|
||
"message": "Automatically download updates",
|
||
"description": "Label for checkbox for the auto download updates setting"
|
||
},
|
||
"Preferences__enable-notifications": {
|
||
"message": "Enable notifications",
|
||
"description": "Label for checkbox for the notifications setting"
|
||
},
|
||
"Preferences__devices": {
|
||
"message": "Devices",
|
||
"description": "Label for Device list in call settings pane"
|
||
},
|
||
"DialogUpdate--version-available": {
|
||
"message": "Update to version $version$ available",
|
||
"description": "Tooltip for new update available",
|
||
"placeholders": {
|
||
"status": {
|
||
"content": "$1",
|
||
"example": "v7.7.7"
|
||
}
|
||
}
|
||
},
|
||
"NSIS__retry-dialog--first-line": {
|
||
"message": "Signal cannot be closed.",
|
||
"description": "First line of the dialog displayed when Windows installer can't close application automatically and needs user intervention to complete the installation."
|
||
},
|
||
"NSIS__retry-dialog--second-line": {
|
||
"message": "Please close it manually and click Retry to continue.",
|
||
"description": "Second line of the dialog displayed when Windows installer can't close application automatically and needs user intervention to complete the installation."
|
||
},
|
||
"NSIS__appRunning": {
|
||
"message": "$appName$ is running.\nClick OK to close it.\nIf it doesn't close, try closing it manually.",
|
||
"description": "The contents of a dialog displayed when Windows installer detect that the application is running and asks user to close it. Note: please keep the line breaks so that the text occupies three separate lines",
|
||
"placeholders": {
|
||
"appName": {
|
||
"content": "$1",
|
||
"example": "Signal"
|
||
}
|
||
}
|
||
},
|
||
"NSIS__decompressionFailed": {
|
||
"message": "Failed to decompress files. Please try running the installer again.",
|
||
"description": "Displayed when Windows installer cannot decompress application files"
|
||
},
|
||
"NSIS__uninstallFailed": {
|
||
"message": "Failed to uninstall old application files. Please try running the installer again.",
|
||
"description": "Displayed when Windows installer cannot uninstall the old application"
|
||
},
|
||
"CrashReportDialog__title": {
|
||
"message": "Application crashed",
|
||
"description": "A title of the dialog displayed when starting an application after a recent crash"
|
||
},
|
||
"CrashReportDialog__body": {
|
||
"message": "Signal restarted after a crash. You can submit a crash report to help Signal investigate the issue.",
|
||
"description": "The body of the dialog displayed when starting an application after a recent crash"
|
||
},
|
||
"CrashReportDialog__submit": {
|
||
"message": "Send",
|
||
"description": "A button label for submission of the crash reporter data after a recent crash"
|
||
},
|
||
"CrashReportDialog__erase": {
|
||
"message": "Don't Send",
|
||
"description": "A button label for erasure of the crash reporter data after a recent crash and continuing to start the app"
|
||
},
|
||
"CustomizingPreferredReactions__title": {
|
||
"message": "Customize reactions",
|
||
"description": "Shown in the header of the modal for customizing the preferred reactions. Also shown in the tooltip for the button that opens this modal."
|
||
},
|
||
"CustomizingPreferredReactions__subtitle": {
|
||
"message": "Click to replace an emoji",
|
||
"description": "Instructions in the modal for customizing the preferred reactions."
|
||
},
|
||
"CustomizingPreferredReactions__had-save-error": {
|
||
"message": "There was an error when saving your settings. Please try again.",
|
||
"description": "Shown if there is an error when saving your preferred reaction settings. Should be very rare to see this message."
|
||
},
|
||
"MediaEditor__control--draw": {
|
||
"message": "Draw",
|
||
"description": "Label for the draw button in the media editor"
|
||
},
|
||
"MediaEditor__control--text": {
|
||
"message": "Add text",
|
||
"description": "Label for the text button in the media editor"
|
||
},
|
||
"MediaEditor__control--sticker": {
|
||
"message": "Stickers",
|
||
"description": "Label for the sticker button in the media editor"
|
||
},
|
||
"MediaEditor__control--crop": {
|
||
"message": "Crop and rotate",
|
||
"description": "Label for the crop & rotate button in the media editor"
|
||
},
|
||
"MediaEditor__control--undo": {
|
||
"message": "Undo",
|
||
"description": "Label for the undo button in the media editor"
|
||
},
|
||
"MediaEditor__control--redo": {
|
||
"message": "Redo",
|
||
"description": "Label for the redo button in the media editor"
|
||
},
|
||
"MediaEditor__text--regular": {
|
||
"message": "Regular",
|
||
"description": "Describes what attribute the color picker will change on the text"
|
||
},
|
||
"MediaEditor__text--highlight": {
|
||
"message": "Highlight",
|
||
"description": "Describes what attribute the color picker will change on the text"
|
||
},
|
||
"MediaEditor__text--outline": {
|
||
"message": "Outline",
|
||
"description": "Describes what attribute the color picker will change on the text"
|
||
},
|
||
"MediaEditor__text--underline": {
|
||
"message": "Underline",
|
||
"description": "Describes what attribute the color picker will change on the text"
|
||
},
|
||
"MediaEditor__draw--pen": {
|
||
"message": "Pen",
|
||
"description": "Type of brush to free draw"
|
||
},
|
||
"MediaEditor__draw--highlighter": {
|
||
"message": "Highlighter",
|
||
"description": "Type of brush to free draw"
|
||
},
|
||
"MediaEditor__draw--thin": {
|
||
"message": "Thin",
|
||
"description": "Tip width of the brush"
|
||
},
|
||
"MediaEditor__draw--regular": {
|
||
"message": "Regular",
|
||
"description": "Tip width of the brush"
|
||
},
|
||
"MediaEditor__draw--medium": {
|
||
"message": "Medium",
|
||
"description": "Tip width of the brush"
|
||
},
|
||
"MediaEditor__draw--heavy": {
|
||
"message": "Heavy",
|
||
"description": "Tip width of the brush"
|
||
},
|
||
"MediaEditor__crop--reset": {
|
||
"message": "Reset",
|
||
"description": "Reset the crop state"
|
||
},
|
||
"MediaEditor__crop--rotate": {
|
||
"message": "Rotate",
|
||
"description": "Rotate the canvas"
|
||
},
|
||
"MediaEditor__crop--flip": {
|
||
"message": "Flip",
|
||
"description": "Flip/mirror the canvas"
|
||
},
|
||
"MediaEditor__crop--lock": {
|
||
"message": "Lock",
|
||
"description": "Lock the aspect ratio"
|
||
},
|
||
"MediaEditor__crop--crop": {
|
||
"message": "Crop",
|
||
"description": "Performs the crop"
|
||
},
|
||
"MyStories__title": {
|
||
"message": "My Stories",
|
||
"description": "Title for the my stories list"
|
||
},
|
||
"MyStories__story": {
|
||
"message": "Your story",
|
||
"description": "aria-label for each one of your stories"
|
||
},
|
||
"MyStories__download": {
|
||
"message": "Download story",
|
||
"description": "aria-label for the download button"
|
||
},
|
||
"MyStories__more": {
|
||
"message": "More options",
|
||
"description": "aria-label for the more button"
|
||
},
|
||
"MyStories__views--singular": {
|
||
"message": "$num$ view",
|
||
"description": "Number of views your story has",
|
||
"placeholders": {
|
||
"num": {
|
||
"content": "$1",
|
||
"example": "1"
|
||
}
|
||
}
|
||
},
|
||
"MyStories__views--plural": {
|
||
"message": "$num$ views",
|
||
"description": "Number of views your story has",
|
||
"placeholders": {
|
||
"num": {
|
||
"content": "$1",
|
||
"example": "16"
|
||
}
|
||
}
|
||
},
|
||
"MyStories__replies--singular": {
|
||
"message": "$num$ reply",
|
||
"description": "Number of replies your story has",
|
||
"placeholders": {
|
||
"num": {
|
||
"content": "$1",
|
||
"example": "1"
|
||
}
|
||
}
|
||
},
|
||
"MyStories__replies--plural": {
|
||
"message": "$num$ replies",
|
||
"description": "Number of replies your story has",
|
||
"placeholders": {
|
||
"num": {
|
||
"content": "$1",
|
||
"example": "3"
|
||
}
|
||
}
|
||
},
|
||
"MyStories__delete": {
|
||
"message": "Delete this story? It will also be deleted for everyone who received it.",
|
||
"description": "Confirmation dialog description text for deleting a story"
|
||
},
|
||
"Stories__title": {
|
||
"message": "Stories",
|
||
"description": "Title for the stories list"
|
||
},
|
||
"Stories__mine": {
|
||
"message": "My Stories",
|
||
"description": "Label for your stories"
|
||
},
|
||
"Stories__add": {
|
||
"message": "Add a story",
|
||
"description": "Description hint to add a story"
|
||
},
|
||
"Stories__hidden-stories": {
|
||
"message": "Hidden stories",
|
||
"description": "Button label to go to hidden stories pane"
|
||
},
|
||
"Stories__list-empty": {
|
||
"message": "No recent stories to show right now",
|
||
"description": "Description for when there are no stories to show"
|
||
},
|
||
"Stories__placeholder--text": {
|
||
"message": "Click to view a story",
|
||
"description": "Placeholder label for the story view"
|
||
},
|
||
"Stories__from-to-group": {
|
||
"message": "$name$ to $group$",
|
||
"description": "Title for someone sending a story to a group",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Elle"
|
||
},
|
||
"group": {
|
||
"content": "$2",
|
||
"example": "Family"
|
||
}
|
||
}
|
||
},
|
||
"StoryViewer__pause": {
|
||
"message": "Pause",
|
||
"description": "Aria label for pausing a story"
|
||
},
|
||
"StoryViewer__play": {
|
||
"message": "Play",
|
||
"description": "Aria label for playing a story"
|
||
},
|
||
"StoryViewer__reply": {
|
||
"message": "Reply",
|
||
"description": "Button label to reply to a story"
|
||
},
|
||
"StoryViewer__reply-group": {
|
||
"message": "Reply to Group",
|
||
"description": "Button label to reply to a group story"
|
||
},
|
||
"StoryViewer__mute": {
|
||
"message": "Mute",
|
||
"description": "Aria label for muting stories"
|
||
},
|
||
"StoryViewer__unmute": {
|
||
"message": "Unmute",
|
||
"description": "Aria label for unmuting stories"
|
||
},
|
||
"StoryViewsNRepliesModal__no-replies": {
|
||
"message": "No replies yet",
|
||
"description": "Placeholder text for when there are no replies"
|
||
},
|
||
"StoryViewsNRepliesModal__tab--views": {
|
||
"message": "Views",
|
||
"description": "Title for views tab"
|
||
},
|
||
"StoryViewsNRepliesModal__tab--replies": {
|
||
"message": "Replies",
|
||
"description": "Title for replies tab"
|
||
},
|
||
"StoryViewsNRepliesModal__react": {
|
||
"message": "React to story",
|
||
"description": "aria-label for reaction button"
|
||
},
|
||
"StoryViewsNRepliesModal__reacted": {
|
||
"message": "Reacted to the story",
|
||
"description": "Description of someone reacting to a story"
|
||
},
|
||
"StoryListItem__label": {
|
||
"message": "Story",
|
||
"description": "aria-label for the story list button"
|
||
},
|
||
"StoryListItem__unhide": {
|
||
"message": "Show stories",
|
||
"description": "Label for menu item to un-hide the story"
|
||
},
|
||
"StoryListItem__hide": {
|
||
"message": "Hide story",
|
||
"description": "Label for menu item to hide the story"
|
||
},
|
||
"StoryListItem__go-to-chat": {
|
||
"message": "Go to chat",
|
||
"description": "Label for menu item to go to conversation"
|
||
},
|
||
"StoryListItem__hide-modal--body": {
|
||
"message": "Hide story? New story updates from $name$ won’t appear at the top of the stories list anymore.",
|
||
"description": "Body for the confirmation dialog for hiding a story"
|
||
},
|
||
"StoryListItem__hide-modal--confirm": {
|
||
"message": "Hide",
|
||
"description": "Action button for the confirmation dialog to hide a story"
|
||
},
|
||
"StoryImage__error": {
|
||
"message": "Error displaying image",
|
||
"description": "aria-label for image errors"
|
||
},
|
||
"TextAttachment__preview__link": {
|
||
"message": "Visit link",
|
||
"description": "Title for the link preview tooltip"
|
||
},
|
||
"Quote__story": {
|
||
"message": "Story",
|
||
"description": "Title for replies to stories"
|
||
},
|
||
"Quote__story-reaction": {
|
||
"message": "Reacted to a story from $name$",
|
||
"description": "Label for when a person reacts to a story",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Charlie"
|
||
}
|
||
}
|
||
},
|
||
"Quote__story-reaction--yours": {
|
||
"message": "Reacted to your story",
|
||
"description": "Label for when a person reacts to your story"
|
||
},
|
||
"Quote__story-reaction--single": {
|
||
"message": "Reacted to a story",
|
||
"description": "Used whenever we can't find a user's first name"
|
||
},
|
||
"Quote__story-unavailable": {
|
||
"message": "No longer available",
|
||
"description": "Label for when a story is not found"
|
||
},
|
||
"WhatsNew__modal-title": {
|
||
"message": "What's New",
|
||
"description": "Title for the whats new modal"
|
||
},
|
||
"WhatsNew__bugfixes": {
|
||
"message": "This version contains a number of small tweaks and bug fixes to keep Signal running smoothly.",
|
||
"description": "Release notes for releases that only include bug fixes"
|
||
},
|
||
"WhatsNew__v5.45--1": {
|
||
"message": "Dynamic audio indicators in group calls help you see if you're whispering, yelling, or just right.",
|
||
"description": "Release notes for v5.45"
|
||
},
|
||
"WhatsNew__v5.45--2": {
|
||
"message": "Groups you’ve requested to join from your phone (via an invite link) will now show up on Desktop.",
|
||
"description": "Release notes for v5.45"
|
||
},
|
||
"WhatsNew__v5.45--3": {
|
||
"message": "Got a spotty Wi-Fi connection? Not a problem, you can now retry downloading attachments.",
|
||
"description": "Release notes for v5.45"
|
||
}
|
||
}
|