forked from signalapp/Signal-Desktop
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmessages.json
3921 lines (3911 loc) · 140 KB
/
messages.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
{
"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."
},
"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"
},
"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"
},
"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",
"descriptin": "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"
},
"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."
},
"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": "This log will be posted publicly online for contributors to view. You may examine and edit it before submitting."
},
"debugLogError": {
"message": "Something went wrong with the upload! Please consider manually adding your log to the bug you file."
},
"debugLogCopy": {
"message": "Copy",
"description": "Shown as the text for the copy button on the debug log screen"
},
"debugLogCopyAlt": {
"message": "Copy link to your clipboard",
"description": "Shown as the alt text for the copy 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": "Report an issue",
"description": "Link to open the issue tracker"
},
"gotIt": {
"message": "Got it!",
"description": "Label for a button that dismisses a dialog. The user clicks it to confirm that they understand the message in the dialog."
},
"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)"
},
"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": "Section header in the media gallery"
},
"yesterday": {
"message": "Yesterday",
"description": "Section header in the media gallery"
},
"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": {
"path": {
"content": "$1",
"example": "instagram.com"
}
}
},
"stagedImageAttachment": {
"message": "Draft image attachment: $path$",
"description": "Alt text for staged attachments",
"placeholders": {
"path": {
"content": "$1",
"example": "dog.jpg"
}
}
},
"oneNonImageAtATimeToast": {
"message": "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": "Connect",
"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)"
},
"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"
},
"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 in $conversationName$",
"description": "Shown in the search box before text is entered when searching in a specific conversation",
"placeholders": {
"conversationName": {
"content": "$1",
"example": "Friends"
}
}
},
"noSearchResults": {
"message": "No results for \"$searchTerm$\"",
"description": "Shown in the search left pane when no results were found",
"placeholders": {
"searchTerm": {
"content": "$1",
"example": "dog"
}
}
},
"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"
},
"messagesHeader": {
"message": "Messages",
"description": "Shown to separate the types of search results"
},
"welcomeToSignal": {
"message": "Welcome to Signal"
},
"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 aa 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"
},
"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"
},
"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 five minutes. 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"
},
"attachmentSaved": {
"message": "Attachment saved. Click to show in folder.",
"description": "Shown after user selects to save to downloads",
"placeholders": {
"name": {
"content": "$1",
"example": "proof.jpg"
}
}
},
"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"
},
"cannotUpdate": {
"message": "Cannot Update",
"description": "Shown as the title of our update error dialogs on windows"
},
"cannotUpdateDetail": {
"message": "Signal Desktop failed to update, but there is a new version available. Please go to $url$ and install the new version manually, then either contact support or file a bug about this problem.",
"description": "Shown if a general error happened while trying to install update package",
"placeholders": {
"url": {
"content": "$1",
"example": "https://signal.org/download"
}
}
},
"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"
},
"deleteWarning": {
"message": "Clicking 'delete' will permanently remove this message from your devices only.",
"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"
},
"deleteThisMessage": {
"message": "Delete this message"
},
"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": "Send a message",
"description": "Placeholder text in the message entry field"
},
"groupMembers": {