stream-chat-react-native-core 5.20.0 → 5.21.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.js +32 -0
- package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.js.map +1 -0
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js +3 -3
- package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +24 -41
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/commonjs/components/Reply/Reply.js +4 -4
- package/lib/commonjs/components/Reply/Reply.js.map +1 -1
- package/lib/commonjs/i18n/fr.json +24 -24
- package/lib/commonjs/i18n/he.json +2 -1
- package/lib/commonjs/i18n/hi.json +24 -24
- package/lib/commonjs/i18n/it.json +24 -24
- package/lib/commonjs/i18n/ja.json +2 -1
- package/lib/commonjs/i18n/ko.json +2 -1
- package/lib/commonjs/i18n/nl.json +24 -24
- package/lib/commonjs/i18n/ru.json +24 -24
- package/lib/commonjs/i18n/tr.json +24 -24
- package/lib/commonjs/utils/utils.js +2 -1
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.js +32 -0
- package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.js.map +1 -0
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.js +3 -3
- package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/utils/renderText.js +24 -41
- package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
- package/lib/module/components/Reply/Reply.js +4 -4
- package/lib/module/components/Reply/Reply.js.map +1 -1
- package/lib/module/i18n/fr.json +24 -24
- package/lib/module/i18n/he.json +2 -1
- package/lib/module/i18n/hi.json +24 -24
- package/lib/module/i18n/it.json +24 -24
- package/lib/module/i18n/ja.json +2 -1
- package/lib/module/i18n/ko.json +2 -1
- package/lib/module/i18n/nl.json +24 -24
- package/lib/module/i18n/ru.json +24 -24
- package/lib/module/i18n/tr.json +24 -24
- package/lib/module/utils/utils.js +2 -1
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Message/MessageSimple/utils/generateMarkdownText.d.ts +3 -0
- package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +1 -1
- package/lib/typescript/i18n/fr.json +24 -24
- package/lib/typescript/i18n/he.json +2 -1
- package/lib/typescript/i18n/hi.json +24 -24
- package/lib/typescript/i18n/it.json +24 -24
- package/lib/typescript/i18n/ja.json +2 -1
- package/lib/typescript/i18n/ko.json +2 -1
- package/lib/typescript/i18n/nl.json +24 -24
- package/lib/typescript/i18n/ru.json +24 -24
- package/lib/typescript/i18n/tr.json +24 -24
- package/package.json +1 -1
- package/src/components/Message/MessageSimple/utils/generateMarkdownText.ts +43 -0
- package/src/components/Message/MessageSimple/utils/parseLinks.ts +5 -5
- package/src/components/Message/MessageSimple/utils/renderText.tsx +10 -26
- package/src/components/Reply/Reply.tsx +16 -14
- package/src/i18n/fr.json +24 -24
- package/src/i18n/he.json +2 -1
- package/src/i18n/hi.json +24 -24
- package/src/i18n/it.json +24 -24
- package/src/i18n/ja.json +2 -1
- package/src/i18n/ko.json +2 -1
- package/src/i18n/nl.json +24 -24
- package/src/i18n/ru.json +24 -24
- package/src/i18n/tr.json +24 -24
- package/src/utils/utils.ts +2 -1
- package/src/version.json +1 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import truncate from 'lodash/truncate';
|
|
2
|
+
|
|
3
|
+
import { parseLinksFromText } from './parseLinks';
|
|
4
|
+
|
|
5
|
+
import type { DefaultStreamChatGenerics } from '../../../../types/types';
|
|
6
|
+
import type { MessageType } from '../../../MessageList/hooks/useMessageList';
|
|
7
|
+
|
|
8
|
+
export const generateMarkdownText = <
|
|
9
|
+
StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
|
|
10
|
+
>(
|
|
11
|
+
message: MessageType<StreamChatGenerics>,
|
|
12
|
+
) => {
|
|
13
|
+
const { text } = message;
|
|
14
|
+
|
|
15
|
+
if (!text) return null;
|
|
16
|
+
|
|
17
|
+
// Trim the extra spaces from the text.
|
|
18
|
+
let resultText = text.trim();
|
|
19
|
+
|
|
20
|
+
// List of all the links present in the text.
|
|
21
|
+
const linkInfos = parseLinksFromText(resultText);
|
|
22
|
+
|
|
23
|
+
for (const linkInfo of linkInfos) {
|
|
24
|
+
const displayLink = truncate(linkInfo.raw, {
|
|
25
|
+
length: 200,
|
|
26
|
+
omission: '...',
|
|
27
|
+
});
|
|
28
|
+
// Convert raw links/emails in the text to respective markdown syntax.
|
|
29
|
+
// Eg: Hi getstream.io -> Hi [getstream.io](getstream.io).
|
|
30
|
+
const normalRegEx = new RegExp(linkInfo.raw, 'g');
|
|
31
|
+
const markdown = `[${displayLink}](${linkInfo.encodedUrl})`;
|
|
32
|
+
resultText = text.replace(normalRegEx, markdown);
|
|
33
|
+
|
|
34
|
+
// After previous step, in some cases, the mentioned user after `@` might have a link/email so we convert it back to normal raw text.
|
|
35
|
+
// Eg: Hi, @[test.user@gmail.com](mailto:test.user@gmail.com) to @test.user@gmail.com.
|
|
36
|
+
const mentionsRegex = new RegExp(`@\\[${displayLink}\\]\\(${linkInfo.encodedUrl}\\)`, 'g');
|
|
37
|
+
resultText = resultText.replace(mentionsRegex, `@${displayLink}`);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
resultText = resultText.replace(/[<&"'>]/g, '\\$&');
|
|
41
|
+
|
|
42
|
+
return resultText;
|
|
43
|
+
};
|
|
@@ -12,13 +12,13 @@ interface LinkInfo {
|
|
|
12
12
|
const removeMarkdownLinksFromText = (input: string) => input.replace(/\[[\w\s]+\]\(.*\)/g, '');
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
* This is done to avoid parsing usernames with dot as well as an email address in it.
|
|
16
|
+
*/
|
|
17
|
+
const removeUserNamesWithEmailFromText = (input: string) =>
|
|
18
|
+
input.replace(/@(\w+(\.\w+)?)(@\w+\.\w+)/g, '');
|
|
19
19
|
|
|
20
20
|
export const parseLinksFromText = (input: string): LinkInfo[] => {
|
|
21
|
-
const strippedInput = [removeMarkdownLinksFromText,
|
|
21
|
+
const strippedInput = [removeMarkdownLinksFromText, removeUserNamesWithEmailFromText].reduce(
|
|
22
22
|
(acc, fn) => fn(acc),
|
|
23
23
|
input,
|
|
24
24
|
);
|
|
@@ -4,7 +4,6 @@ import { GestureResponderEvent, Linking, Text, TextProps, View, ViewProps } from
|
|
|
4
4
|
// @ts-expect-error
|
|
5
5
|
import Markdown from 'react-native-markdown-package';
|
|
6
6
|
|
|
7
|
-
import truncate from 'lodash/truncate';
|
|
8
7
|
import {
|
|
9
8
|
DefaultRules,
|
|
10
9
|
defaultRules,
|
|
@@ -19,7 +18,7 @@ import {
|
|
|
19
18
|
|
|
20
19
|
import type { UserResponse } from 'stream-chat';
|
|
21
20
|
|
|
22
|
-
import {
|
|
21
|
+
import { generateMarkdownText } from './generateMarkdownText';
|
|
23
22
|
|
|
24
23
|
import type { MessageContextValue } from '../../../../contexts/messageContext/MessageContext';
|
|
25
24
|
import type { Colors, MarkdownStyle } from '../../../../contexts/themeContext/utils/theme';
|
|
@@ -62,7 +61,7 @@ const defaultMarkdownStyles: MarkdownStyle = {
|
|
|
62
61
|
},
|
|
63
62
|
};
|
|
64
63
|
|
|
65
|
-
const
|
|
64
|
+
const mentionsParseFunction: ParseFunction = (capture, parse, state) => ({
|
|
66
65
|
content: parseInline(parse, capture[0], state),
|
|
67
66
|
});
|
|
68
67
|
|
|
@@ -102,25 +101,7 @@ export const renderText = <
|
|
|
102
101
|
preventPress,
|
|
103
102
|
} = params;
|
|
104
103
|
|
|
105
|
-
|
|
106
|
-
// translate links
|
|
107
|
-
const { mentioned_users, text } = message;
|
|
108
|
-
|
|
109
|
-
if (!text) return null;
|
|
110
|
-
|
|
111
|
-
let newText = text.trim();
|
|
112
|
-
const linkInfos = parseLinksFromText(newText);
|
|
113
|
-
|
|
114
|
-
for (const linkInfo of linkInfos) {
|
|
115
|
-
const displayLink = truncate(linkInfo.raw, {
|
|
116
|
-
length: 200,
|
|
117
|
-
omission: '...',
|
|
118
|
-
});
|
|
119
|
-
const markdown = `[${displayLink}](${linkInfo.encodedUrl})`;
|
|
120
|
-
newText = newText.replace(linkInfo.raw, markdown);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
newText = newText.replace(/[<&"'>]/g, '\\$&');
|
|
104
|
+
const markdownText = generateMarkdownText<StreamChatGenerics>(message);
|
|
124
105
|
|
|
125
106
|
const styles: MarkdownStyle = {
|
|
126
107
|
...defaultMarkdownStyles,
|
|
@@ -220,6 +201,9 @@ export const renderText = <
|
|
|
220
201
|
);
|
|
221
202
|
};
|
|
222
203
|
|
|
204
|
+
// take the @ mentions and turn them into markdown?
|
|
205
|
+
// translate links
|
|
206
|
+
const { mentioned_users } = message;
|
|
223
207
|
const mentionedUsers = Array.isArray(mentioned_users)
|
|
224
208
|
? mentioned_users.reduce((acc, cur) => {
|
|
225
209
|
const userName = cur.name || cur.id || '';
|
|
@@ -237,7 +221,7 @@ export const renderText = <
|
|
|
237
221
|
: '';
|
|
238
222
|
|
|
239
223
|
const regEx = new RegExp(`^\\B(${mentionedUsers})`, 'g');
|
|
240
|
-
const
|
|
224
|
+
const mentionsMatchFunction: MatchFunction = (source) => regEx.exec(source);
|
|
241
225
|
|
|
242
226
|
const mentionsReact: ReactNodeOutput = (node, output, { ...state }) => {
|
|
243
227
|
/**removes the @ prefix of username */
|
|
@@ -297,9 +281,9 @@ export const renderText = <
|
|
|
297
281
|
...(mentionedUsers
|
|
298
282
|
? {
|
|
299
283
|
mentions: {
|
|
300
|
-
match,
|
|
284
|
+
match: mentionsMatchFunction,
|
|
301
285
|
order: defaultRules.text.order - 0.5,
|
|
302
|
-
parse,
|
|
286
|
+
parse: mentionsParseFunction,
|
|
303
287
|
react: mentionsReact,
|
|
304
288
|
},
|
|
305
289
|
}
|
|
@@ -318,7 +302,7 @@ export const renderText = <
|
|
|
318
302
|
}}
|
|
319
303
|
styles={styles}
|
|
320
304
|
>
|
|
321
|
-
{
|
|
305
|
+
{markdownText}
|
|
322
306
|
</Markdown>
|
|
323
307
|
);
|
|
324
308
|
};
|
|
@@ -223,25 +223,26 @@ const ReplyWithContext = <
|
|
|
223
223
|
) : null}
|
|
224
224
|
<MessageTextContainer<StreamChatGenerics>
|
|
225
225
|
markdownStyles={
|
|
226
|
-
quotedMessage.
|
|
226
|
+
quotedMessage.type === 'deleted'
|
|
227
227
|
? merge({ em: { color: grey } }, deletedText)
|
|
228
228
|
: { text: styles.text, ...markdownStyles }
|
|
229
229
|
}
|
|
230
230
|
message={{
|
|
231
231
|
...quotedMessage,
|
|
232
|
-
text:
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
? quotedMessage.text.length > 170
|
|
236
|
-
? `${quotedMessage.text.slice(0, 170)}...`
|
|
232
|
+
text:
|
|
233
|
+
quotedMessage.type === 'deleted'
|
|
234
|
+
? `_${t('Message deleted')}_`
|
|
237
235
|
: quotedMessage.text
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
236
|
+
? quotedMessage.text.length > 170
|
|
237
|
+
? `${quotedMessage.text.slice(0, 170)}...`
|
|
238
|
+
: quotedMessage.text
|
|
239
|
+
: messageType === 'image'
|
|
240
|
+
? t('Photo')
|
|
241
|
+
: messageType === 'video'
|
|
242
|
+
? t('Video')
|
|
243
|
+
: messageType === 'file'
|
|
244
|
+
? lastAttachment?.title || ''
|
|
245
|
+
: '',
|
|
245
246
|
}}
|
|
246
247
|
onlyEmojis={onlyEmojis}
|
|
247
248
|
styles={{
|
|
@@ -308,7 +309,8 @@ const areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = Default
|
|
|
308
309
|
typeof prevQuotedMessage !== 'boolean' &&
|
|
309
310
|
typeof nextQuotedMessage !== 'boolean'
|
|
310
311
|
? prevQuotedMessage.id === nextQuotedMessage.id &&
|
|
311
|
-
prevQuotedMessage.deleted_at === nextQuotedMessage.deleted_at
|
|
312
|
+
prevQuotedMessage.deleted_at === nextQuotedMessage.deleted_at &&
|
|
313
|
+
prevQuotedMessage.type === nextQuotedMessage.type
|
|
312
314
|
: !!prevQuotedMessage === !!nextQuotedMessage;
|
|
313
315
|
|
|
314
316
|
if (!quotedMessageEqual) return false;
|
package/src/i18n/fr.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"1 Reply": "1 Réponse",
|
|
3
|
-
"1 Thread Reply": "
|
|
4
|
-
"Allow access to your Gallery": "
|
|
5
|
-
"Also send to channel": "
|
|
3
|
+
"1 Thread Reply": "",
|
|
4
|
+
"Allow access to your Gallery": "",
|
|
5
|
+
"Also send to channel": "",
|
|
6
6
|
"Are you sure you want to permanently delete this message?": "Êtes-vous sûr de vouloir supprimer définitivement ce message?",
|
|
7
7
|
"Block User": "Bloquer un utilisateur",
|
|
8
8
|
"Cancel": "Annuler",
|
|
@@ -12,58 +12,58 @@
|
|
|
12
12
|
"Delete Message": "Supprimer un message",
|
|
13
13
|
"Do you want to send a copy of this message to a moderator for further investigation?": "Voulez-vous envoyer une copie de ce message à un modérateur pour une enquête plus approfondie?",
|
|
14
14
|
"Edit Message": "Éditer un message",
|
|
15
|
-
"Editing Message": "
|
|
15
|
+
"Editing Message": "",
|
|
16
16
|
"Emoji matching": "Correspondance Emoji",
|
|
17
17
|
"Empty message...": "Message vide...",
|
|
18
18
|
"Error loading": "Erreur lors du chargement",
|
|
19
19
|
"Error loading channel list...": "Erreur lors du chargement de la liste de canaux...",
|
|
20
20
|
"Error loading messages for this channel...": "Erreur lors du chargement des messages de ce canal...",
|
|
21
21
|
"Error while loading, please reload/refresh": "Erreur lors du chargement, veuillez recharger/rafraîchir",
|
|
22
|
-
"File type not supported": "
|
|
22
|
+
"File type not supported": "",
|
|
23
23
|
"Flag": "Signaler",
|
|
24
24
|
"Flag Message": "Signaler le message",
|
|
25
25
|
"Flag action failed either due to a network issue or the message is already flagged": "L'action de signalisation a échoué en raison d'un problème de réseau ou le message est déjà signalé.",
|
|
26
26
|
"Instant Commands": "Commandes Instantanées",
|
|
27
|
-
"Links are disabled": "
|
|
27
|
+
"Links are disabled": "",
|
|
28
28
|
"Loading channels...": "Chargement des canaux...",
|
|
29
29
|
"Loading messages...": "Chargement des messages...",
|
|
30
30
|
"Loading...": "Chargement...",
|
|
31
|
-
"Message Reactions": "
|
|
31
|
+
"Message Reactions": "",
|
|
32
32
|
"Message deleted": "Message supprimé",
|
|
33
33
|
"Message flagged": "Message signalé",
|
|
34
34
|
"Mute User": "Utilisateur muet",
|
|
35
35
|
"Not supported": "Non pris en charge",
|
|
36
36
|
"Nothing yet...": "Aucun message...",
|
|
37
37
|
"Ok": "Ok",
|
|
38
|
-
"Only visible to you": "
|
|
39
|
-
"Photo": "
|
|
40
|
-
"Photos and Videos": "
|
|
38
|
+
"Only visible to you": "",
|
|
39
|
+
"Photo": "",
|
|
40
|
+
"Photos and Videos": "",
|
|
41
41
|
"Pin to Conversation": "Épingler à la conversation",
|
|
42
42
|
"Pinned by": "Épinglé par",
|
|
43
|
-
"Please enable access to your photos and videos so you can share them.": "
|
|
44
|
-
"Please select a channel first": "
|
|
43
|
+
"Please enable access to your photos and videos so you can share them.": "",
|
|
44
|
+
"Please select a channel first": "",
|
|
45
45
|
"Reconnecting...": "Se Reconnecter...",
|
|
46
46
|
"Reply": "Répondre",
|
|
47
|
-
"Reply to Message": "
|
|
47
|
+
"Reply to Message": "",
|
|
48
48
|
"Resend": "Renvoyer",
|
|
49
|
-
"Search GIFs": "
|
|
50
|
-
"Send a message": "
|
|
51
|
-
"Sending links is not allowed in this conversation": "
|
|
52
|
-
"Slow mode ON": "
|
|
49
|
+
"Search GIFs": "",
|
|
50
|
+
"Send a message": "",
|
|
51
|
+
"Sending links is not allowed in this conversation": "",
|
|
52
|
+
"Slow mode ON": "",
|
|
53
53
|
"The message has been reported to a moderator.": "Le message a été signalé à un modérateur.",
|
|
54
54
|
"Thread Reply": "Réponse à la discussion",
|
|
55
55
|
"Unblock User": "Débloquer Utilisateur",
|
|
56
|
-
"Unknown User": "
|
|
56
|
+
"Unknown User": "",
|
|
57
57
|
"Unmute User": "Activer le son de Utilisateur",
|
|
58
58
|
"Unpin from Conversation": "Décrocher de la conversation",
|
|
59
59
|
"Unread Messages": "Messages non lus",
|
|
60
|
-
"Video": "
|
|
60
|
+
"Video": "",
|
|
61
61
|
"You": "Toi",
|
|
62
|
-
"You can't send messages in this channel": "
|
|
63
|
-
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "
|
|
64
|
-
"{{ index }} of {{ photoLength }}": "
|
|
62
|
+
"You can't send messages in this channel": "",
|
|
63
|
+
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
|
|
64
|
+
"{{ index }} of {{ photoLength }}": "",
|
|
65
65
|
"{{ replyCount }} Replies": "{{ replyCount }} Réponses",
|
|
66
|
-
"{{ replyCount }} Thread Replies": "
|
|
67
|
-
"{{ user }} is typing": "
|
|
66
|
+
"{{ replyCount }} Thread Replies": "",
|
|
67
|
+
"{{ user }} is typing": "",
|
|
68
68
|
"🏙 Attachment...": "🏙 Pièce jointe..."
|
|
69
69
|
}
|
package/src/i18n/he.json
CHANGED
|
@@ -66,5 +66,6 @@
|
|
|
66
66
|
"{{ replyCount }} Replies": "{{ replyCount }} תגובות",
|
|
67
67
|
"{{ replyCount }} Thread Replies": "{{ replyCount }} תגובות שרשור",
|
|
68
68
|
"{{ user }} is typing": "{{ user }} מקליד/ה",
|
|
69
|
-
"🏙 Attachment...": "🏙 קובץ מצורף..."
|
|
69
|
+
"🏙 Attachment...": "🏙 קובץ מצורף...",
|
|
70
|
+
"Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "הגעת למגבלת העלאת גודל הקובץ המקסימלית. אנא העלה קובץ מתחת ל-{{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB"
|
|
70
71
|
}
|
package/src/i18n/hi.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"1 Reply": "1 रिप्लाई",
|
|
3
|
-
"1 Thread Reply": "
|
|
4
|
-
"Allow access to your Gallery": "
|
|
5
|
-
"Also send to channel": "
|
|
3
|
+
"1 Thread Reply": "",
|
|
4
|
+
"Allow access to your Gallery": "",
|
|
5
|
+
"Also send to channel": "",
|
|
6
6
|
"Are you sure you want to permanently delete this message?": "क्या आप वाकई इस संदेश को स्थायी रूप से हटाना चाहते हैं?",
|
|
7
7
|
"Block User": "उपयोगकर्ता को रोक देना, ब्लॉक यूजर",
|
|
8
8
|
"Cancel": "रद्द करें",
|
|
@@ -12,58 +12,58 @@
|
|
|
12
12
|
"Delete Message": "मैसेज को डिलीट करे",
|
|
13
13
|
"Do you want to send a copy of this message to a moderator for further investigation?": "क्या आप इस संदेश की एक प्रति आगे की जाँच के लिए किसी मॉडरेटर को भेजना चाहते हैं?",
|
|
14
14
|
"Edit Message": "मैसेज में बदलाव करे",
|
|
15
|
-
"Editing Message": "
|
|
15
|
+
"Editing Message": "",
|
|
16
16
|
"Emoji matching": "इमोजी मिलान",
|
|
17
17
|
"Empty message...": "खाली संदेश...",
|
|
18
18
|
"Error loading": "लोड होने मे त्रुटि",
|
|
19
19
|
"Error loading channel list...": "चैनल सूची लोड करने में त्रुटि...",
|
|
20
20
|
"Error loading messages for this channel...": "इस चैनल के लिए मेसेजेस लोड करने में त्रुटि हुई...",
|
|
21
21
|
"Error while loading, please reload/refresh": "एरर, रिफ्रेश करे",
|
|
22
|
-
"File type not supported": "
|
|
22
|
+
"File type not supported": "",
|
|
23
23
|
"Flag": "झंडा",
|
|
24
24
|
"Flag Message": "झंडा संदेश",
|
|
25
25
|
"Flag action failed either due to a network issue or the message is already flagged": "फ़्लैग कार्रवाई या तो नेटवर्क समस्या के कारण विफल हो गई या संदेश पहले से फ़्लैग किया गया है।",
|
|
26
26
|
"Instant Commands": "त्वरित कमांड",
|
|
27
|
-
"Links are disabled": "
|
|
27
|
+
"Links are disabled": "",
|
|
28
28
|
"Loading channels...": "चैनल लोड हो रहे हैं...",
|
|
29
29
|
"Loading messages...": "मेसेजस लोड हो रहे हैं...",
|
|
30
30
|
"Loading...": "लोड हो रहा है...",
|
|
31
|
-
"Message Reactions": "
|
|
31
|
+
"Message Reactions": "",
|
|
32
32
|
"Message deleted": "मैसेज हटा दिया गया",
|
|
33
33
|
"Message flagged": "संदेश को ध्वजांकित किया गया",
|
|
34
34
|
"Mute User": "उपयोगकर्ता को म्यूट करें",
|
|
35
35
|
"Not supported": "समर्थित नहीं",
|
|
36
36
|
"Nothing yet...": "कोई मैसेज नहीं है...",
|
|
37
37
|
"Ok": "ठीक",
|
|
38
|
-
"Only visible to you": "
|
|
39
|
-
"Photo": "
|
|
40
|
-
"Photos and Videos": "
|
|
38
|
+
"Only visible to you": "",
|
|
39
|
+
"Photo": "",
|
|
40
|
+
"Photos and Videos": "",
|
|
41
41
|
"Pin to Conversation": "बातचीत में पिन करें",
|
|
42
42
|
"Pinned by": "द्वारा पिन किया गया",
|
|
43
|
-
"Please enable access to your photos and videos so you can share them.": "
|
|
44
|
-
"Please select a channel first": "
|
|
43
|
+
"Please enable access to your photos and videos so you can share them.": "",
|
|
44
|
+
"Please select a channel first": "",
|
|
45
45
|
"Reconnecting...": "पुनः कनेक्ट हो...",
|
|
46
46
|
"Reply": "मैसेज को रिप्लाई करे",
|
|
47
|
-
"Reply to Message": "
|
|
47
|
+
"Reply to Message": "",
|
|
48
48
|
"Resend": "पुन: भेजें",
|
|
49
|
-
"Search GIFs": "
|
|
50
|
-
"Send a message": "
|
|
51
|
-
"Sending links is not allowed in this conversation": "
|
|
52
|
-
"Slow mode ON": "
|
|
49
|
+
"Search GIFs": "",
|
|
50
|
+
"Send a message": "",
|
|
51
|
+
"Sending links is not allowed in this conversation": "",
|
|
52
|
+
"Slow mode ON": "",
|
|
53
53
|
"The message has been reported to a moderator.": "संदेश एक मॉडरेटर को सूचित किया गया है।",
|
|
54
54
|
"Thread Reply": "धागा जवाब",
|
|
55
55
|
"Unblock User": "उपयोगकर्ता को अनब्लॉक करें",
|
|
56
|
-
"Unknown User": "
|
|
56
|
+
"Unknown User": "",
|
|
57
57
|
"Unmute User": "उपयोगकर्ता को अनम्यूट करें",
|
|
58
58
|
"Unpin from Conversation": "बातचीत से अनपिन करें",
|
|
59
59
|
"Unread Messages": "अपठित संदेश",
|
|
60
|
-
"Video": "
|
|
60
|
+
"Video": "",
|
|
61
61
|
"You": "आप",
|
|
62
|
-
"You can't send messages in this channel": "
|
|
63
|
-
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "
|
|
64
|
-
"{{ index }} of {{ photoLength }}": "
|
|
62
|
+
"You can't send messages in this channel": "",
|
|
63
|
+
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
|
|
64
|
+
"{{ index }} of {{ photoLength }}": "",
|
|
65
65
|
"{{ replyCount }} Replies": "{{ replyCount }} रिप्लाई",
|
|
66
|
-
"{{ replyCount }} Thread Replies": "
|
|
67
|
-
"{{ user }} is typing": "
|
|
66
|
+
"{{ replyCount }} Thread Replies": "",
|
|
67
|
+
"{{ user }} is typing": "",
|
|
68
68
|
"🏙 Attachment...": "🏙 अटैचमेंट..."
|
|
69
69
|
}
|
package/src/i18n/it.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"1 Reply": "1 Risposta",
|
|
3
|
-
"1 Thread Reply": "
|
|
4
|
-
"Allow access to your Gallery": "
|
|
5
|
-
"Also send to channel": "
|
|
3
|
+
"1 Thread Reply": "",
|
|
4
|
+
"Allow access to your Gallery": "",
|
|
5
|
+
"Also send to channel": "",
|
|
6
6
|
"Are you sure you want to permanently delete this message?": "Sei sicuro di voler eliminare definitivamente questo messaggio?",
|
|
7
7
|
"Block User": "Blocca Utente",
|
|
8
8
|
"Cancel": "Annulla",
|
|
@@ -12,58 +12,58 @@
|
|
|
12
12
|
"Delete Message": "Cancella il Messaggio",
|
|
13
13
|
"Do you want to send a copy of this message to a moderator for further investigation?": "Vuoi inviare una copia di questo messaggio a un moderatore per ulteriori indagini?",
|
|
14
14
|
"Edit Message": "Modifica Messaggio",
|
|
15
|
-
"Editing Message": "
|
|
15
|
+
"Editing Message": "",
|
|
16
16
|
"Emoji matching": "Abbinamento emoji",
|
|
17
17
|
"Empty message...": "Message vuoto...",
|
|
18
18
|
"Error loading": "Errore di caricamento",
|
|
19
19
|
"Error loading channel list...": "Errore durante il caricamento della lista dei canali...",
|
|
20
20
|
"Error loading messages for this channel...": "Errore durante il caricamento dei messaggi per questo canale...",
|
|
21
21
|
"Error while loading, please reload/refresh": "Errore durante il caricamento, per favore ricarica la pagina",
|
|
22
|
-
"File type not supported": "
|
|
22
|
+
"File type not supported": "",
|
|
23
23
|
"Flag": "Contrassegna",
|
|
24
24
|
"Flag Message": "Contrassegna Messaggio",
|
|
25
25
|
"Flag action failed either due to a network issue or the message is already flagged": "L'azione di segnalazione non è riuscita a causa di un problema di rete o il messaggio è già segnalato.",
|
|
26
26
|
"Instant Commands": "Comandi Istantanei",
|
|
27
|
-
"Links are disabled": "
|
|
27
|
+
"Links are disabled": "",
|
|
28
28
|
"Loading channels...": "Caricamento canali in corso...",
|
|
29
29
|
"Loading messages...": "Caricamento messaggi...",
|
|
30
30
|
"Loading...": "Caricamento...",
|
|
31
|
-
"Message Reactions": "
|
|
31
|
+
"Message Reactions": "",
|
|
32
32
|
"Message deleted": "Messaggio cancellato",
|
|
33
33
|
"Message flagged": "Messaggio contrassegnato",
|
|
34
34
|
"Mute User": "Utente Muto",
|
|
35
35
|
"Not supported": "non supportato",
|
|
36
36
|
"Nothing yet...": "Ancora niente...",
|
|
37
37
|
"Ok": "Ok",
|
|
38
|
-
"Only visible to you": "
|
|
39
|
-
"Photo": "
|
|
40
|
-
"Photos and Videos": "
|
|
38
|
+
"Only visible to you": "",
|
|
39
|
+
"Photo": "",
|
|
40
|
+
"Photos and Videos": "",
|
|
41
41
|
"Pin to Conversation": "Metti in evidenza",
|
|
42
42
|
"Pinned by": "Fissato da",
|
|
43
|
-
"Please enable access to your photos and videos so you can share them.": "
|
|
44
|
-
"Please select a channel first": "
|
|
43
|
+
"Please enable access to your photos and videos so you can share them.": "",
|
|
44
|
+
"Please select a channel first": "",
|
|
45
45
|
"Reconnecting...": "Ricollegarsi...",
|
|
46
46
|
"Reply": "Rispondi",
|
|
47
|
-
"Reply to Message": "
|
|
47
|
+
"Reply to Message": "",
|
|
48
48
|
"Resend": "Invia di nuovo",
|
|
49
|
-
"Search GIFs": "
|
|
50
|
-
"Send a message": "
|
|
51
|
-
"Sending links is not allowed in this conversation": "
|
|
52
|
-
"Slow mode ON": "
|
|
49
|
+
"Search GIFs": "",
|
|
50
|
+
"Send a message": "",
|
|
51
|
+
"Sending links is not allowed in this conversation": "",
|
|
52
|
+
"Slow mode ON": "",
|
|
53
53
|
"The message has been reported to a moderator.": "Il messaggio è stato segnalato a un moderatore.",
|
|
54
54
|
"Thread Reply": "Rispondi alla Discussione",
|
|
55
55
|
"Unblock User": "Sblocca utente",
|
|
56
|
-
"Unknown User": "
|
|
56
|
+
"Unknown User": "",
|
|
57
57
|
"Unmute User": "Riattiva utente",
|
|
58
58
|
"Unpin from Conversation": "Rimuovi dagli elementi in evidenza",
|
|
59
59
|
"Unread Messages": "Messaggi non letti",
|
|
60
|
-
"Video": "
|
|
60
|
+
"Video": "",
|
|
61
61
|
"You": "Tu",
|
|
62
|
-
"You can't send messages in this channel": "
|
|
63
|
-
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "
|
|
64
|
-
"{{ index }} of {{ photoLength }}": "
|
|
62
|
+
"You can't send messages in this channel": "",
|
|
63
|
+
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
|
|
64
|
+
"{{ index }} of {{ photoLength }}": "",
|
|
65
65
|
"{{ replyCount }} Replies": "{{ replyCount }} Risposte",
|
|
66
|
-
"{{ replyCount }} Thread Replies": "
|
|
67
|
-
"{{ user }} is typing": "
|
|
66
|
+
"{{ replyCount }} Thread Replies": "",
|
|
67
|
+
"{{ user }} is typing": "",
|
|
68
68
|
"🏙 Attachment...": "🏙 Allegato..."
|
|
69
69
|
}
|
package/src/i18n/ja.json
CHANGED
|
@@ -69,5 +69,6 @@
|
|
|
69
69
|
"Reply to Message": "メッセージに返信",
|
|
70
70
|
"🏙 Attachment...": "🏙 アタッチメント...",
|
|
71
71
|
"Not supported": "サポートしていません",
|
|
72
|
-
"File type not supported": "サポートされていないファイルです"
|
|
72
|
+
"File type not supported": "サポートされていないファイルです",
|
|
73
|
+
"Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "最大ファイル サイズのアップロード制限に達しました。 {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB 以下のファイルをアップロードしてください"
|
|
73
74
|
}
|
package/src/i18n/ko.json
CHANGED
|
@@ -68,5 +68,6 @@
|
|
|
68
68
|
"Reply to Message": "메시지에 답장",
|
|
69
69
|
"🏙 Attachment...": "🏙 부착...",
|
|
70
70
|
"File type not supported": "지원하지 않는 파일입니다.",
|
|
71
|
-
"Not supported": "지원하지 않습니다"
|
|
71
|
+
"Not supported": "지원하지 않습니다",
|
|
72
|
+
"Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "최대 파일 크기 업로드 제한에 도달했습니다. {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}}MB 미만의 파일을 업로드하세요."
|
|
72
73
|
}
|
package/src/i18n/nl.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"1 Reply": "1 Antwoord",
|
|
3
|
-
"1 Thread Reply": "
|
|
4
|
-
"Allow access to your Gallery": "
|
|
5
|
-
"Also send to channel": "
|
|
3
|
+
"1 Thread Reply": "",
|
|
4
|
+
"Allow access to your Gallery": "",
|
|
5
|
+
"Also send to channel": "",
|
|
6
6
|
"Are you sure you want to permanently delete this message?": "Weet u zeker dat u dit bericht definitief wilt verwijderen?",
|
|
7
7
|
"Block User": "Blokkeer Gebruiker",
|
|
8
8
|
"Cancel": "Annuleer",
|
|
@@ -12,58 +12,58 @@
|
|
|
12
12
|
"Delete Message": "Verwijder bericht",
|
|
13
13
|
"Do you want to send a copy of this message to a moderator for further investigation?": "Wil je een kopie van dit bericht naar een moderator sturen voor verder onderzoek?",
|
|
14
14
|
"Edit Message": "Pas bericht aan",
|
|
15
|
-
"Editing Message": "
|
|
15
|
+
"Editing Message": "",
|
|
16
16
|
"Emoji matching": "Emoji-overeenkomsten",
|
|
17
17
|
"Empty message...": "Leeg bericht...",
|
|
18
18
|
"Error loading": "Probleem bij het laden",
|
|
19
19
|
"Error loading channel list...": "Probleem bij het laden van de kanalen...",
|
|
20
20
|
"Error loading messages for this channel...": "Probleem bij het laden van de berichten in dit kanaal...",
|
|
21
21
|
"Error while loading, please reload/refresh": "Probleem bij het laden, probeer opnieuw",
|
|
22
|
-
"File type not supported": "
|
|
22
|
+
"File type not supported": "",
|
|
23
23
|
"Flag": "Markeer",
|
|
24
24
|
"Flag Message": "Markeer bericht",
|
|
25
25
|
"Flag action failed either due to a network issue or the message is already flagged": "Rapporteren mislukt door een netwerk fout of het berich is al gerapporteerd",
|
|
26
26
|
"Instant Commands": "Directe Opdrachten",
|
|
27
|
-
"Links are disabled": "
|
|
27
|
+
"Links are disabled": "",
|
|
28
28
|
"Loading channels...": "Kanalen aan het laden...",
|
|
29
29
|
"Loading messages...": "Berichten aan het laden...",
|
|
30
30
|
"Loading...": "Aan het laden...",
|
|
31
|
-
"Message Reactions": "
|
|
31
|
+
"Message Reactions": "",
|
|
32
32
|
"Message deleted": "Bericht verwijderd",
|
|
33
33
|
"Message flagged": "Bericht gemarkeerd",
|
|
34
34
|
"Mute User": "Gebruiker dempen",
|
|
35
35
|
"Not supported": "niet ondersteund",
|
|
36
36
|
"Nothing yet...": "Nog niets...",
|
|
37
37
|
"Ok": "Oké",
|
|
38
|
-
"Only visible to you": "
|
|
39
|
-
"Photo": "
|
|
40
|
-
"Photos and Videos": "
|
|
38
|
+
"Only visible to you": "",
|
|
39
|
+
"Photo": "",
|
|
40
|
+
"Photos and Videos": "",
|
|
41
41
|
"Pin to Conversation": "Vastmaken aan gesprek",
|
|
42
42
|
"Pinned by": "Vastgemaakt door",
|
|
43
|
-
"Please enable access to your photos and videos so you can share them.": "
|
|
44
|
-
"Please select a channel first": "
|
|
43
|
+
"Please enable access to your photos and videos so you can share them.": "",
|
|
44
|
+
"Please select a channel first": "",
|
|
45
45
|
"Reconnecting...": "Opnieuw Verbinding Maken...",
|
|
46
46
|
"Reply": "Antwoord",
|
|
47
|
-
"Reply to Message": "
|
|
47
|
+
"Reply to Message": "",
|
|
48
48
|
"Resend": "Opnieuw versturen",
|
|
49
|
-
"Search GIFs": "
|
|
50
|
-
"Send a message": "
|
|
51
|
-
"Sending links is not allowed in this conversation": "
|
|
52
|
-
"Slow mode ON": "
|
|
49
|
+
"Search GIFs": "",
|
|
50
|
+
"Send a message": "",
|
|
51
|
+
"Sending links is not allowed in this conversation": "",
|
|
52
|
+
"Slow mode ON": "",
|
|
53
53
|
"The message has been reported to a moderator.": "Het bericht is gerapporteerd aan een moderator.",
|
|
54
54
|
"Thread Reply": "Discussie beantwoorden",
|
|
55
55
|
"Unblock User": "Deblokkeer gebruiker",
|
|
56
|
-
"Unknown User": "
|
|
56
|
+
"Unknown User": "",
|
|
57
57
|
"Unmute User": "Dempen van gebruiker opheffen",
|
|
58
58
|
"Unpin from Conversation": "Losmaken van gesprek",
|
|
59
59
|
"Unread Messages": "Ongelezen Berichten",
|
|
60
|
-
"Video": "
|
|
60
|
+
"Video": "",
|
|
61
61
|
"You": "U",
|
|
62
|
-
"You can't send messages in this channel": "
|
|
63
|
-
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "
|
|
64
|
-
"{{ index }} of {{ photoLength }}": "
|
|
62
|
+
"You can't send messages in this channel": "",
|
|
63
|
+
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
|
|
64
|
+
"{{ index }} of {{ photoLength }}": "",
|
|
65
65
|
"{{ replyCount }} Replies": "{{ replyCount }} Antwoorden",
|
|
66
|
-
"{{ replyCount }} Thread Replies": "
|
|
67
|
-
"{{ user }} is typing": "
|
|
66
|
+
"{{ replyCount }} Thread Replies": "",
|
|
67
|
+
"{{ user }} is typing": "",
|
|
68
68
|
"🏙 Attachment...": "🏙 Bijlage..."
|
|
69
69
|
}
|