messages.json 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530
  1. {
  2. "timerOption_10_seconds": {
  3. "message": "10 seconds",
  4. "description": "Label for a selectable option in the message expiration timer menu"
  5. },
  6. "lastSynced": {
  7. "message": "Last import at",
  8. "description": "Label for date and time of last sync operation"
  9. },
  10. "unsupportedAttachment": {
  11. "message": "Unsupported attachment type. Click to save.",
  12. "description": "Displayed for incoming unsupported attachment"
  13. },
  14. "verifySafetyNumbers": {
  15. "message": "Verify safety number",
  16. "description": ""
  17. },
  18. "youChangedTheTimer": {
  19. "message": "You set the timer to $time$.",
  20. "description": "Message displayed when you change the message expiration timer in a conversation.",
  21. "placeholders": {
  22. "time": {
  23. "content": "$1",
  24. "example": "10m"
  25. }
  26. }
  27. },
  28. "settings": {
  29. "message": "Settings",
  30. "description": "Menu item and header for global settings"
  31. },
  32. "incomingKeyConflict": {
  33. "message": "Received message with a new safety number. Click to process and display.",
  34. "description": ""
  35. },
  36. "timerOption_5_seconds_abbreviated": {
  37. "message": "5s",
  38. "description": "Very short format indicating current timer setting in the conversation header"
  39. },
  40. "installComputerName": {
  41. "message": "This computer's name will be",
  42. "description": "Text displayed before the input where the user can enter the name for this device."
  43. },
  44. "timestamp_m": {
  45. "message": "1 minute",
  46. "description": "Brief timestamp for messages sent about one minute ago. Displayed in the conversation list and message bubble."
  47. },
  48. "gotIt": {
  49. "message": "Got it!",
  50. "description": "Label for a button that dismisses a dialog. The user clicks it to confirm that they understand the message in the dialog."
  51. },
  52. "disappearingMessages": {
  53. "message": "Disappearing messages",
  54. "description": "Conversation menu option to enable disappearing messages"
  55. },
  56. "showMore": {
  57. "message": "Details",
  58. "description": "Displays the details of a key change"
  59. },
  60. "timerOption_5_minutes_abbreviated": {
  61. "message": "5m",
  62. "description": "Very short format indicating current timer setting in the conversation header"
  63. },
  64. "unsupportedFileType": {
  65. "message": "Unsupported file type",
  66. "description": "Displayed for outgoing unsupported attachment"
  67. },
  68. "installGeneratingKeys": {
  69. "message": "Generating Keys",
  70. "description": ""
  71. },
  72. "resetSession": {
  73. "message": "Reset session",
  74. "description": "This is a menu item for resetting the session, using the imperative case, as in a command."
  75. },
  76. "welcomeToSignal": {
  77. "message": "Welcome to Cable",
  78. "description": ""
  79. },
  80. "notificationSettingsDialog": {
  81. "message": "When messages arrive, display notifications that reveal:",
  82. "description": "Explain the purpose of the notification settings"
  83. },
  84. "members": {
  85. "message": "Members",
  86. "description": ""
  87. },
  88. "timestamp_h": {
  89. "message": "1 hour",
  90. "description": "Brief timestamp for messages sent about one minute ago. Displayed in the conversation list and message bubble."
  91. },
  92. "timerOption_0_seconds_abbreviated": {
  93. "message": "off",
  94. "description": "Short format indicating current timer setting in the conversation list snippet"
  95. },
  96. "syncExplanation": {
  97. "message": "Import all Cable groups and contacts from your mobile device.",
  98. "description": "Explanatory text for sync settings"
  99. },
  100. "restartSignal": {
  101. "message": "Restart Cable",
  102. "description": "Menu item for restarting the program."
  103. },
  104. "deleteMessages": {
  105. "message": "Delete messages",
  106. "description": "Menu item for deleting messages, title case."
  107. },
  108. "incomingError": {
  109. "message": "Error handling incoming message.",
  110. "description": ""
  111. },
  112. "selectAContact": {
  113. "message": "Select a contact or group to start chatting.",
  114. "description": ""
  115. },
  116. "installConnecting": {
  117. "message": "Connecting...",
  118. "description": "Displayed when waiting for the QR Code"
  119. },
  120. "verifyContact": {
  121. "message": "You may wish to $tag_start$ verify $tag_end$ your safety number with this contact.",
  122. "description": "Use $tag_start$ and $tag_end$ to wrap the word or phrase in this sentence that the user should click on in order to navigate to the verification screen. These placeholders will be replaced with appropriate HTML code.",
  123. "placeholders": {
  124. "tag_start": {
  125. "content": "<a class='verify' href='#'>"
  126. },
  127. "tag_end": {
  128. "content": "</a>"
  129. }
  130. }
  131. },
  132. "sent": {
  133. "message": "Sent",
  134. "description": "Label for the time a message was sent"
  135. },
  136. "theyChangedTheTimer": {
  137. "message": "$name$ set the timer to $time$.",
  138. "description": "Message displayed when someone else changes the message expiration timer in a conversation.",
  139. "placeholders": {
  140. "name": {
  141. "content": "$1",
  142. "example": "Bob"
  143. },
  144. "time": {
  145. "content": "$2",
  146. "example": "10m"
  147. }
  148. }
  149. },
  150. "timestamp_s": {
  151. "message": "now",
  152. "description": "Brief timestamp for messages sent less than a minute ago. Displayed in the conversation list and message bubble."
  153. },
  154. "timerOption_1_day": {
  155. "message": "1 day",
  156. "description": "Label for a selectable option in the message expiration timer menu"
  157. },
  158. "reportIssue": {
  159. "message": "Report an issue",
  160. "description": "Link to open the issue tracker"
  161. },
  162. "newMessage": {
  163. "message": "New Message",
  164. "description": "Displayed in notifications for only 1 message"
  165. },
  166. "nameOnly": {
  167. "message": "Only sender name",
  168. "description": "Label for setting notifications to display sender name only"
  169. },
  170. "from": {
  171. "message": "From",
  172. "description": "Label for the sender of a message"
  173. },
  174. "deleteConversationConfirmation": {
  175. "message": "Permanently delete this conversation?",
  176. "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."
  177. },
  178. "debugLogExplanation": {
  179. "message": "This log will be posted publicly online for contributors to view. You may examine and edit it before submitting.",
  180. "description": ""
  181. },
  182. "newPhoneNumber": {
  183. "message": "Enter a phone number to add a contact.",
  184. "description": "Placeholder for adding a new number to a contact"
  185. },
  186. "searchForPeopleOrGroups": {
  187. "message": "Search...",
  188. "description": "Placeholder text in the search input"
  189. },
  190. "noNameOrMessage": {
  191. "message": "Neither name nor message",
  192. "description": "Label for setting notifications to display no name and no message text"
  193. },
  194. "syncNow": {
  195. "message": "Import now",
  196. "description": "Label for a button that syncs contacts and groups from your phone"
  197. },
  198. "syncFailed": {
  199. "message": "Import failed. Make sure your computer and your phone are connected to the internet.",
  200. "description": "Informational text displayed if a sync operation times out."
  201. },
  202. "installFollowUs": {
  203. "message": "<a $a_params$>Follow us</a> for updates about multi-device support for iOS.",
  204. "description": "",
  205. "placeholders": {
  206. "a_params": {
  207. "content": "$1",
  208. "example": "href='http://example.com'"
  209. }
  210. }
  211. },
  212. "learnMore": {
  213. "message": "Learn more about verifying safety numbers",
  214. "description": "Text that links to a support article on verifying safety numbers"
  215. },
  216. "safetyNumbersSettingHeader": {
  217. "message": "Safety numbers approval",
  218. "description": "Header for safety numbers setting"
  219. },
  220. "installTooManyDevices": {
  221. "message": "Sorry, you have too many devices linked already. Try removing some.",
  222. "description": ""
  223. },
  224. "installSignalLinks": {
  225. "message": "First, install Cable on your <a $play_store$>Android</a> or <a $app_store$>iPhone</a>.<br /> We'll link your devices and keep your messages in sync.",
  226. "description": "Prompt the user to install Cable on their phone before linking",
  227. "placeholders": {
  228. "play_store": {
  229. "content": "$1",
  230. "example": "href='http://example.com'"
  231. },
  232. "app_store": {
  233. "content": "$2",
  234. "example": "href='http://example.com'"
  235. }
  236. }
  237. },
  238. "installSyncingGroupsAndContacts": {
  239. "message": "Syncing groups and contacts",
  240. "description": ""
  241. },
  242. "timerOption_30_minutes_abbreviated": {
  243. "message": "30m",
  244. "description": "Very short format indicating current timer setting in the conversation header"
  245. },
  246. "themeAndroidDark": {
  247. "message": "Android (dark)",
  248. "description": "Label text for dark Android theme"
  249. },
  250. "timerOption_1_minute_abbreviated": {
  251. "message": "1m",
  252. "description": "Very short format indicating current timer setting in the conversation header"
  253. },
  254. "upgrade": {
  255. "message": "Upgrade",
  256. "description": "Label text for button to upgrade the app to the latest version"
  257. },
  258. "yourSafetyNumberWith": {
  259. "message": "Your safety number with $name$",
  260. "description": "Heading for safety number view",
  261. "placeholders": {
  262. "name": {
  263. "content": "$1",
  264. "example": "John"
  265. }
  266. }
  267. },
  268. "showLess": {
  269. "message": "Hide details",
  270. "description": "Hides the details of a key change"
  271. },
  272. "theme": {
  273. "message": "Theme",
  274. "description": "Header for theme settings"
  275. },
  276. "newIdentity": {
  277. "message": "New safety number",
  278. "description": "Header for a key change dialog"
  279. },
  280. "installTagline": {
  281. "message": "Privacy is possible. Cable makes it easy.",
  282. "description": "Tagline displayed under installWelcome on the install page"
  283. },
  284. "audioNotificationDescription": {
  285. "message": "Play audio notification",
  286. "description": "Description for audio notification setting"
  287. },
  288. "disconnected": {
  289. "message": "Disconnected",
  290. "description": ""
  291. },
  292. "syncing": {
  293. "message": "Importing...",
  294. "description": "Label for a disabled sync button while sync is in progress."
  295. },
  296. "acceptNewKey": {
  297. "message": "Accept",
  298. "description": "Label for a button to accept a new safety number"
  299. },
  300. "timerOption_12_hours_abbreviated": {
  301. "message": "12h",
  302. "description": "Very short format indicating current timer setting in the conversation header"
  303. },
  304. "timestampFormat_M": {
  305. "message": "MMM D",
  306. "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'."
  307. },
  308. "timerOption_6_hours_abbreviated": {
  309. "message": "6h",
  310. "description": "Very short format indicating current timer setting in the conversation header"
  311. },
  312. "unregisteredUser": {
  313. "message": "Number is not registered",
  314. "description": "Error message displayed when sending to an unregistered user."
  315. },
  316. "timerOption_1_day_abbreviated": {
  317. "message": "1d",
  318. "description": "Very short format indicating current timer setting in the conversation header"
  319. },
  320. "sync": {
  321. "message": "Contacts",
  322. "description": "Label for contact and group sync settings"
  323. },
  324. "timerOption_1_week": {
  325. "message": "1 week",
  326. "description": "Label for a selectable option in the message expiration timer menu"
  327. },
  328. "installGotIt": {
  329. "message": "Got it",
  330. "description": "Button for the user to confirm that they have Cable installed."
  331. },
  332. "received": {
  333. "message": "Received",
  334. "description": "Label for the time a message was received"
  335. },
  336. "timerOption_30_seconds": {
  337. "message": "30 seconds",
  338. "description": "Label for a selectable option in the message expiration timer menu"
  339. },
  340. "sendMessage": {
  341. "message": "Send a message",
  342. "description": "Placeholder text in the message entry field"
  343. },
  344. "mediaMessage": {
  345. "message": "Media message",
  346. "description": "Description of a message that has an attachment and no text, displayed in the conversation list as a preview."
  347. },
  348. "expiredWarning": {
  349. "message": "This version of Cable Desktop has expired. Please upgrade to the latest version to continue messaging.",
  350. "description": "Warning notification that this version of the app has expired"
  351. },
  352. "outgoingKeyConflict": {
  353. "message": "Your safety number with this contact has changed. Click to process and display.",
  354. "description": ""
  355. },
  356. "fileSizeWarning": {
  357. "message": "Sorry, the selected file exceeds message size restrictions.",
  358. "description": ""
  359. },
  360. "timerOption_0_seconds": {
  361. "message": "off",
  362. "description": "Label for option to turn off message expiration in the timer menu"
  363. },
  364. "installAndroidInstructions": {
  365. "message": "Open Cable on your phone and navigate to Settings > Linked devices. Tap the button to add a new device, then scan the code above.",
  366. "description": ""
  367. },
  368. "invalidNumberError": {
  369. "message": "Invalid number",
  370. "description": "When a person inputs a number that is invalid"
  371. },
  372. "installWelcome": {
  373. "message": "Welcome to Cable Desktop",
  374. "description": "Welcome title on the install page"
  375. },
  376. "installConnectionFailed": {
  377. "message": "Failed to connect to server.",
  378. "description": "Displayed when we can't connect to the server."
  379. },
  380. "messageNotSent": {
  381. "message": "Message not sent.",
  382. "description": "Informational label, appears on messages that failed to send"
  383. },
  384. "disableNotifications": {
  385. "message": "Disable notifications",
  386. "description": "Label for disabling notifications"
  387. },
  388. "cancel": {
  389. "message": "Cancel",
  390. "description": ""
  391. },
  392. "unblockToSend": {
  393. "message": "Unblock this contact to send a message.",
  394. "description": "Brief message shown when trying to message a blocked number"
  395. },
  396. "installIHaveSignalButton": {
  397. "message": "I have Cable for Android",
  398. "description": "Button for the user to confirm that they have Cable for Android"
  399. },
  400. "sessionEnded": {
  401. "message": "Secure session reset",
  402. "description": "This is a past tense, informational message. In other words, your secure session has been reset."
  403. },
  404. "installGetStartedButton": {
  405. "message": "Get started",
  406. "description": ""
  407. },
  408. "timerOption_1_week_abbreviated": {
  409. "message": "1w",
  410. "description": "Very short format indicating current timer setting in the conversation header"
  411. },
  412. "timerOption_5_seconds": {
  413. "message": "5 seconds",
  414. "description": "Label for a selectable option in the message expiration timer menu"
  415. },
  416. "installSignalLink": {
  417. "message": "First, install <a $a_params$>Signal</a> on your Android phone.<br /> We'll link your devices and keep your messages in sync.",
  418. "description": "Prompt the user to install Cable on Android before linking",
  419. "placeholders": {
  420. "a_params": {
  421. "content": "$1",
  422. "example": "href='http://example.com'"
  423. }
  424. }
  425. },
  426. "installLinkingWithNumber": {
  427. "message": "Linking with",
  428. "description": "Text displayed before the phone number that the user is in the process of linking with"
  429. },
  430. "newMessages": {
  431. "message": "New Messages",
  432. "description": "Displayed in notifications for multiple messages"
  433. },
  434. "newContact": {
  435. "message": "Click to create new contact",
  436. "description": ""
  437. },
  438. "theirIdentityUnknown": {
  439. "message": "You haven't exchanged any messages with this contact yet. Your safety number with them will be available after the first message.",
  440. "description": ""
  441. },
  442. "submit": {
  443. "message": "Submit",
  444. "description": ""
  445. },
  446. "keychanged": {
  447. "message": "Your safety number with $name$ has changed.",
  448. "description": "",
  449. "placeholders": {
  450. "name": {
  451. "content": "$1",
  452. "example": "John"
  453. }
  454. }
  455. },
  456. "safetyNumbersSettingDescription": {
  457. "message": "Require approval of new safety numbers when they change",
  458. "description": "Description for safety numbers setting"
  459. },
  460. "to": {
  461. "message": "To",
  462. "description": "Label for the receiver of a message"
  463. },
  464. "timerOption_1_hour_abbreviated": {
  465. "message": "1h",
  466. "description": "Very short format indicating current timer setting in the conversation header"
  467. },
  468. "installFinalButton": {
  469. "message": "Looking good",
  470. "description": "The final button for the install process, after the user has entered a name for their device"
  471. },
  472. "messageDetail": {
  473. "message": "Message Detail",
  474. "description": ""
  475. },
  476. "verify": {
  477. "message": "Verify",
  478. "description": ""
  479. },
  480. "timerOption_10_seconds_abbreviated": {
  481. "message": "10s",
  482. "description": "Very short format indicating current timer setting in the conversation header"
  483. },
  484. "nameAndMessage": {
  485. "message": "Both sender name and message",
  486. "description": "Label for setting notifications to display name and message text"
  487. },
  488. "failedToSend": {
  489. "message": "Failed to send to some recipients. Check your network connection.",
  490. "description": ""
  491. },
  492. "ok": {
  493. "message": "OK",
  494. "description": ""
  495. },
  496. "identityChanged": {
  497. "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 Cable. You may wish to verify the new safety number below.",
  498. "description": ""
  499. },
  500. "submitDebugLog": {
  501. "message": "Submit debug log",
  502. "description": "Menu item and header text for debug log modal, title case."
  503. },
  504. "error": {
  505. "message": "Error",
  506. "description": ""
  507. },
  508. "timerSetTo": {
  509. "message": "Timer set to $time$",
  510. "description": "Displayed in the conversation list when the timer is updated.",
  511. "placeholders": {
  512. "time": {
  513. "content": "$1",
  514. "example": "1w"
  515. }
  516. }
  517. },
  518. "timerOption_30_seconds_abbreviated": {
  519. "message": "30s",
  520. "description": "Very short format indicating current timer setting in the conversation header"
  521. },
  522. "notifications": {
  523. "message": "Notifications",
  524. "description": "Header for notification settings"
  525. },
  526. "resend": {
  527. "message": "Resend",
  528. "description": ""
  529. }
  530. }