Skip to content

Commit f042fe4

Browse files
committed
compose: Translations
1 parent f180881 commit f042fe4

File tree

2 files changed

+218
-51
lines changed

2 files changed

+218
-51
lines changed

assets/l10n/app_en.arb

Lines changed: 156 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,26 @@
3131
"@profileButtonSendDirectMessage": {
3232
"description": "Label for button in profile screen to navigate to DMs with the shown user."
3333
},
34-
"cameraAccessDeniedTitle": "Permissions needed",
35-
"@cameraAccessDeniedTitle": {
36-
"description": "Title for dialog when the user needs to grant permissions for camera access."
34+
"permissionsNeededError": "Error",
35+
"@permissionsNeededError": {
36+
"description": "General title for access dialog when we encounter an unknown error."
3737
},
38-
"cameraAccessDeniedMessage": "To upload an image, please grant Zulip additional permissions in Settings.",
39-
"@cameraAccessDeniedMessage": {
40-
"description": "Message for dialog when the user needs to grant permissions for camera access."
38+
"permissionsNeededTitle": "Permissions needed",
39+
"@permissionsNeededTitle": {
40+
"description": "Title for dialog when the user needs to grant additional permissions."
41+
},
42+
"permissionsNeededOpenSettings": "Open settings",
43+
"@permissionsNeededOpenSettings": {
44+
"description": "Button label for permissions dialog button that opens the system settings screen."
4145
},
42-
"cameraAccessDeniedButtonText": "Open settings",
43-
"@cameraAccessDeniedButtonText": {
46+
"permissionsNeededCameraAccessDenied": "To upload an image, please grant Zulip additional permissions in Settings.",
47+
"@permissionsNeededCameraAccessDenied": {
4448
"description": "Message for dialog when the user needs to grant permissions for camera access."
4549
},
50+
"permissionsReadExternalStorageDenied": "To upload files, please grant Zulip additional permissions in Settings.",
51+
"@permissionsReadExternalStorageDenied": {
52+
"description": "Message for dialog when the user needs to grant permissions for external storage read access."
53+
},
4654
"actionSheetOptionCopy": "Copy message text",
4755
"@actionSheetOptionCopy": {
4856
"description": "Label for copy message text button on action sheet."
@@ -63,6 +71,44 @@
6371
"@errorCopyingFailed": {
6472
"description": "Dialog message when copying the text of a message to the users system clipboard failed."
6573
},
74+
"errorFailedToUploadFile": "Failed to upload file: {filename}",
75+
"@errorFailedToUploadFile": {
76+
"description": "Label in compose box showing the specified file failed to upload.",
77+
"placeholders": {
78+
"filename": {
79+
"type": "String",
80+
"example": "file.txt"
81+
}
82+
}
83+
},
84+
"errorFilesTooLarge": "{num, plural, =1{File is} other{{num} files are}} larger than the server's limit of {maxFileUploadSizeMib} MiB and will not be uploaded:\n\n{listMessage}",
85+
"@errorFilesTooLarge": {
86+
"description": "Error message when attached files are too large in size.",
87+
"placeholders": {
88+
"num": {
89+
"type": "int",
90+
"example": "4"
91+
},
92+
"maxFileUploadSizeMib": {
93+
"type": "int",
94+
"example": "15"
95+
},
96+
"listMessage": {
97+
"type": "String",
98+
"example": "foo.txt\nbar.txt"
99+
}
100+
}
101+
},
102+
"errorFilesTooLargeTitle": "{num, plural, =1{File} other{Files}} too large",
103+
"@errorFilesTooLargeTitle": {
104+
"description": "Error title when attached files are too large in size.",
105+
"placeholders": {
106+
"num": {
107+
"type": "int",
108+
"example": "4"
109+
}
110+
}
111+
},
66112
"errorLoginInvalidInputTitle": "Invalid input",
67113
"@errorLoginInvalidInputTitle": {
68114
"description": "Error dialog title for login dialog when input is invalid."
@@ -71,6 +117,10 @@
71117
"@errorLoginFailed": {
72118
"description": "Error dialog title when login for a Zulip server fails."
73119
},
120+
"errorMessageNotSent": "Message not sent",
121+
"@errorMessageNotSent": {
122+
"description": "Message for compose box when a message could not be sent."
123+
},
74124
"errorMessageDoesNotSeemToExist": "That message does not seem to exist.",
75125
"@errorMessageDoesNotSeemToExist": {
76126
"description": "Error message when loading a message that does not exist."
@@ -111,6 +161,92 @@
111161
"@successMessageCopied": {
112162
"description": "Dialog message when content of a message was copied to the users system clipboard."
113163
},
164+
"composeBoxAttachFilesTooltip": "Attach files",
165+
"@composeBoxAttachFilesTooltip": {
166+
"description": "Tooltip for compose box icon to attach a file to the message."
167+
},
168+
"composeBoxAttachMediaTooltip": "Attach images or videos",
169+
"@composeBoxAttachMediaTooltip": {
170+
"description": "Tooltip for compose box icon to attach media to the message."
171+
},
172+
"composeBoxAttachFromCameraTooltip": "Take a photo",
173+
"@composeBoxAttachFromCameraTooltip": {
174+
"description": "Tooltip for compose box icon to attach an image from the camera to the message."
175+
},
176+
"composeBoxSelfDMHint": "Jot down something",
177+
"@composeBoxSelfDMHint": {
178+
"description": "Hint text for content input when sending a message to yourself."
179+
},
180+
"composeBoxDMHintNoName": "Type a message",
181+
"@composeBoxDMHintNoName": {
182+
"description": "Hint text for content input when sending a message to one other person but we cannot determine their name."
183+
},
184+
"composeBoxDMHint": "Message @{user}",
185+
"@composeBoxDMHint": {
186+
"description": "Hint text for content input when sending a message to one other person.",
187+
"placeholders": {
188+
"user": {
189+
"type": "String",
190+
"example": "stream name"
191+
}
192+
}
193+
},
194+
"composeBoxGroupDMHint": "Message group",
195+
"@composeBoxGroupDMHint": {
196+
"description": "Hint text for content input when sending a message to a group."
197+
},
198+
"composeBoxStreamContentHint": "Message #{stream} > ${topic}",
199+
"@composeBoxStreamContentHint": {
200+
"description": "Hint text for content input when sending a message to a stream",
201+
"placeholders": {
202+
"stream": {
203+
"type": "String",
204+
"example": "stream name"
205+
},
206+
"topic": {
207+
"type": "String",
208+
"example": "topic name"
209+
}
210+
}
211+
},
212+
"composeBoxSendTooltip": "Send",
213+
"@composeBoxSendTooltip": {
214+
"description": "Tooltip for send button in compose box."
215+
},
216+
"composeBoxUnknownStreamName": "(unknown stream)",
217+
"@composeBoxUnknownStreamName": {
218+
"description": "Replacement name for stream when it cannot be found in the store."
219+
},
220+
"composeBoxTopicHintText": "Topic",
221+
"@composeBoxTopicHintText": {
222+
"description": "Hint text for topic input widget in compose box."
223+
},
224+
"composeBoxUploadingFilename": "Uploading {filename}...",
225+
"@composeBoxUploadingFilename": {
226+
"description": "Label in compose box showing the specified file is currently uploading.",
227+
"placeholders": {
228+
"filename": {
229+
"type": "String",
230+
"example": "file.txt"
231+
}
232+
}
233+
},
234+
"contentValidationErrorTooLong": "Message length shouldn't be greater than 10000 characters.",
235+
"@contentValidationErrorTooLong": {
236+
"description": "Content validation error message when the message is too long."
237+
},
238+
"contentValidationErrorEmpty": "You have nothing to send!",
239+
"@contentValidationErrorEmpty": {
240+
"description": "Content validation error message when the message is empty."
241+
},
242+
"contentValidationErrorQuoteAndReplyInProgress": "Please wait for the quotation to complete.",
243+
"@contentValidationErrorQuoteAndReplyInProgress": {
244+
"description": "Content validation error message when a quotation has not completed yet."
245+
},
246+
"contentValidationErrorUploadInProgress": "Please wait for the upload to complete.",
247+
"@contentValidationErrorUploadInProgress": {
248+
"description": "Content validation error message when attachments have not finished uploading."
249+
},
114250
"suggestedActionDialogCancel": "Cancel",
115251
"@suggestedActionDialogCancel": {
116252
"description": "Button label to cancel a suggested action."
@@ -123,6 +259,10 @@
123259
"@errorDialogContinue": {
124260
"description": "Button label in error dialogs to acknowledge error."
125261
},
262+
"errorDialogTitle": "Error",
263+
"@errorDialogTitle": {
264+
"description": "Generic title for error dialog."
265+
},
126266
"lightboxCopyLinkTooltip": "Copy link",
127267
"@lightboxCopyLinkTooltip": {
128268
"description": "Tooltip in lightbox for the copy link action."
@@ -175,6 +315,14 @@
175315
"@loginValidationRequireUsernameLabel": {
176316
"description": "Label for input when a username is required to login."
177317
},
318+
"topicValidationErrorTooLong": "Topic length shouldn't be greater than 60 characters.",
319+
"@topicValidationErrorTooLong": {
320+
"description": "Topic validation error when topic is too long."
321+
},
322+
"topicValidationErrorMandatoryButEmpty": "Topics are required in this organization.",
323+
"@topicValidationErrorMandatoryButEmpty": {
324+
"description": "Topic validation error when topic is required but was empty."
325+
},
178326
"subscribedToNStreams": "Subscribed to {num, plural, =0{no streams} =1{1 stream} other{{num} streams}}",
179327
"@subscribedToNStreams": {
180328
"description": "Test page label showing number of streams user is subscribed to.",

0 commit comments

Comments
 (0)