stream-chat-react-native-core 5.22.0-beta.7 → 5.22.0-beta.9

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.
Files changed (70) hide show
  1. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js +4 -4
  2. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  3. package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.js +7 -5
  4. package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.js.map +1 -1
  5. package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.test.js +8 -0
  6. package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.test.js.map +1 -0
  7. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +17 -16
  8. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  9. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +30 -20
  10. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  11. package/lib/commonjs/components/MessageInput/MessageInput.js +1 -1
  12. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  13. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +7 -7
  14. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  15. package/lib/commonjs/i18n/fr.json +26 -26
  16. package/lib/commonjs/i18n/hi.json +26 -26
  17. package/lib/commonjs/i18n/it.json +26 -26
  18. package/lib/commonjs/i18n/nl.json +26 -26
  19. package/lib/commonjs/i18n/ru.json +26 -26
  20. package/lib/commonjs/i18n/tr.json +26 -26
  21. package/lib/commonjs/types/types.js.map +1 -1
  22. package/lib/commonjs/version.json +1 -1
  23. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js +4 -4
  24. package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js.map +1 -1
  25. package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.js +7 -5
  26. package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.js.map +1 -1
  27. package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.test.js +8 -0
  28. package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.test.js.map +1 -0
  29. package/lib/module/components/Message/MessageSimple/utils/renderText.js +17 -16
  30. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  31. package/lib/module/components/MessageInput/FileUploadPreview.js +30 -20
  32. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  33. package/lib/module/components/MessageInput/MessageInput.js +1 -1
  34. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  35. package/lib/module/contexts/messageInputContext/MessageInputContext.js +7 -7
  36. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  37. package/lib/module/i18n/fr.json +26 -26
  38. package/lib/module/i18n/hi.json +26 -26
  39. package/lib/module/i18n/it.json +26 -26
  40. package/lib/module/i18n/nl.json +26 -26
  41. package/lib/module/i18n/ru.json +26 -26
  42. package/lib/module/i18n/tr.json +26 -26
  43. package/lib/module/types/types.js.map +1 -1
  44. package/lib/module/version.json +1 -1
  45. package/lib/typescript/components/Message/MessageSimple/utils/generateMarkdownText.d.ts +1 -3
  46. package/lib/typescript/components/Message/MessageSimple/utils/generateMarkdownText.test.d.ts +1 -0
  47. package/lib/typescript/i18n/fr.json +26 -26
  48. package/lib/typescript/i18n/hi.json +26 -26
  49. package/lib/typescript/i18n/it.json +26 -26
  50. package/lib/typescript/i18n/nl.json +26 -26
  51. package/lib/typescript/i18n/ru.json +26 -26
  52. package/lib/typescript/i18n/tr.json +26 -26
  53. package/lib/typescript/types/types.d.ts +8 -11
  54. package/package.json +2 -2
  55. package/src/components/AttachmentPicker/components/AttachmentPickerItem.tsx +4 -4
  56. package/src/components/Message/MessageSimple/utils/generateMarkdownText.test.ts +23 -0
  57. package/src/components/Message/MessageSimple/utils/generateMarkdownText.ts +12 -13
  58. package/src/components/Message/MessageSimple/utils/renderText.tsx +2 -1
  59. package/src/components/MessageInput/FileUploadPreview.tsx +16 -1
  60. package/src/components/MessageInput/MessageInput.tsx +1 -1
  61. package/src/components/MessageInput/__tests__/MessageInput.test.js +2 -2
  62. package/src/contexts/messageInputContext/MessageInputContext.tsx +2 -2
  63. package/src/i18n/fr.json +26 -26
  64. package/src/i18n/hi.json +26 -26
  65. package/src/i18n/it.json +26 -26
  66. package/src/i18n/nl.json +26 -26
  67. package/src/i18n/ru.json +26 -26
  68. package/src/i18n/tr.json +26 -26
  69. package/src/types/types.ts +8 -12
  70. package/src/version.json +1 -1
@@ -1,28 +1,25 @@
1
1
  import type { ExtendableGenerics, LiteralStringForUnion } from 'stream-chat';
2
2
  export declare type Asset = {
3
- duration: number | null;
4
- filename: string;
3
+ duration: number;
5
4
  height: number;
5
+ name: string;
6
6
  source: 'camera' | 'picker';
7
7
  type: string;
8
8
  uri: string;
9
9
  width: number;
10
- fileSize?: number;
11
10
  id?: string;
12
- size?: number | string;
11
+ size?: number;
13
12
  };
14
- export declare type FileAssetType = {
13
+ export declare type File = {
15
14
  name: string;
15
+ duration?: number;
16
+ id?: string;
16
17
  mimeType?: string;
17
- size?: number | string;
18
+ size?: number;
18
19
  uri?: string;
19
20
  };
20
- export declare type File = FileAssetType & {
21
- duration?: string | null;
22
- id?: string;
23
- };
24
21
  export declare type DefaultAttachmentType = UnknownType & {
25
- file_size?: number | string;
22
+ file_size?: number;
26
23
  mime_type?: string;
27
24
  originalFile?: File;
28
25
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "stream-chat-react-native-core",
3
3
  "description": "The official React Native and Expo components for Stream Chat, a service for building chat applications",
4
- "version": "5.22.0-beta.7",
4
+ "version": "5.22.0-beta.9",
5
5
  "author": {
6
6
  "company": "Stream.io Inc",
7
7
  "name": "Stream.io Inc"
@@ -79,7 +79,7 @@
79
79
  "path": "0.12.7",
80
80
  "react-native-markdown-package": "1.8.2",
81
81
  "react-native-url-polyfill": "^1.3.0",
82
- "stream-chat": "~8.14.0"
82
+ "stream-chat": "~8.14.3"
83
83
  },
84
84
  "peerDependencies": {
85
85
  "react-native-quick-sqlite": ">=5.1.0",
@@ -71,15 +71,15 @@ const AttachmentVideo: React.FC<AttachmentVideoProps> = (props) => {
71
71
  const localAssetURI = Platform.OS === 'ios' && asset.id && (await getLocalAssetUri(asset.id));
72
72
  const uri = localAssetURI || asset.uri || '';
73
73
  // We need a mime-type to upload a video file.
74
- const mimeType = lookup(asset.filename) || 'multipart/form-data';
74
+ const mimeType = lookup(asset.name) || 'multipart/form-data';
75
75
  return [
76
76
  ...files,
77
77
  {
78
- duration: durationLabel,
78
+ duration: asset.duration,
79
79
  id: asset.id,
80
80
  mimeType,
81
- name: asset.filename,
82
- size: asset.fileSize,
81
+ name: asset.name,
82
+ size: asset.size,
83
83
  uri,
84
84
  },
85
85
  ];
@@ -0,0 +1,23 @@
1
+ import { generateMarkdownText } from './generateMarkdownText';
2
+
3
+ describe('generateMarkdownText', () => {
4
+ it.each([
5
+ ['', null],
6
+ [' test message ', 'test message'],
7
+ ['https://www.getstream.io', '[https://www.getstream.io](https://www.getstream.io)'],
8
+ [
9
+ 'https://getstream-production.s3-accelerate.amazonaws.com/N336903591601695/33e78ef89e64642862a75c5cca2541eaf6b1c924/trimmedVideos/alert/2_270_881/outputVideo.mp4?AWSAccessKeyId=AKIAVJAW2AD2SQVQCBXV&Expires=1699998768&Signature=zdEMCGzf4Pq++16YkPprvN5NAds=',
10
+ '[https://getstream-production.s3-accelerate.amazonaws.com/N336903591601695/33e78ef89e64642862a75c5cca2541eaf6b1c924/trimmedVideos/alert/2_270_881/outputVideo.mp4?AWSAccessKeyId=AKIAVJAW2AD2SQVQCBXV&...](https://getstream-production.s3-accelerate.amazonaws.com/N336903591601695/33e78ef89e64642862a75c5cca2541eaf6b1c924/trimmedVideos/alert/2_270_881/outputVideo.mp4?AWSAccessKeyId=AKIAVJAW2AD2SQVQCBXV&Expires=1699998768&Signature=zdEMCGzf4Pq++16YkPprvN5NAds=)',
11
+ ],
12
+ ['Hi @getstream.io', 'Hi @getstream.io'],
13
+ [
14
+ 'Hi test@gmail.com @test@gmail.com',
15
+ 'Hi [test@gmail.com](mailto:test@gmail.com) @test@gmail.com',
16
+ ],
17
+ ['Hi @getstream.io getstream.io', 'Hi @getstream.io [getstream.io](http://getstream.io)'],
18
+ ['Hi <Stream>', 'Hi \\<Stream\\>'],
19
+ ])('Returns the generated markdown text for %p and %p', (text, expected) => {
20
+ const result = generateMarkdownText(text);
21
+ expect(result).toBe(expected);
22
+ });
23
+ });
@@ -2,16 +2,12 @@ import truncate from 'lodash/truncate';
2
2
 
3
3
  import { parseLinksFromText } from './parseLinks';
4
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;
5
+ // If you need to use any of the special characters literally (actually searching for a "*", for instance), you must escape it by putting a backslash in front of it.
6
+ function escapeRegExp(text: string) {
7
+ return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
8
+ }
14
9
 
10
+ export const generateMarkdownText = (text?: string) => {
15
11
  if (!text) return null;
16
12
 
17
13
  // Trim the extra spaces from the text.
@@ -26,18 +22,21 @@ export const generateMarkdownText = <
26
22
  omission: '...',
27
23
  });
28
24
  // 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');
25
+ // Eg: Hi @getstream.io -> Hi @[getstream.io](getstream.io).
26
+ const normalRegEx = new RegExp(escapeRegExp(linkInfo.raw), 'g');
31
27
  const markdown = `[${displayLink}](${linkInfo.encodedUrl})`;
32
28
  resultText = text.replace(normalRegEx, markdown);
33
29
 
34
30
  // 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
31
  // 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');
32
+ const mentionsRegex = new RegExp(
33
+ `@\\[${escapeRegExp(displayLink)}\\]\\(${escapeRegExp(linkInfo.encodedUrl)}\\)`,
34
+ 'g',
35
+ );
37
36
  resultText = resultText.replace(mentionsRegex, `@${displayLink}`);
38
37
  }
39
38
 
40
- resultText = resultText.replace(/[<&"'>]/g, '\\$&');
39
+ resultText = resultText.replace(/[<"'>]/g, '\\$&');
41
40
 
42
41
  return resultText;
43
42
  };
@@ -100,8 +100,9 @@ export const renderText = <
100
100
  onPress: onPressParam,
101
101
  preventPress,
102
102
  } = params;
103
+ const { text } = message;
103
104
 
104
- const markdownText = generateMarkdownText<StreamChatGenerics>(message);
105
+ const markdownText = generateMarkdownText(text);
105
106
 
106
107
  const styles: MarkdownStyle = {
107
108
  ...defaultMarkdownStyles,
@@ -1,6 +1,8 @@
1
1
  import React, { useEffect, useRef, useState } from 'react';
2
2
  import { FlatList, I18nManager, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
3
3
 
4
+ import dayjs from 'dayjs';
5
+
4
6
  import { UploadProgressIndicator } from './UploadProgressIndicator';
5
7
 
6
8
  import { ChatContextValue, useChatContext } from '../../contexts';
@@ -101,6 +103,19 @@ const UnsupportedFileTypeOrFileSizeIndicator = ({
101
103
  },
102
104
  } = useTheme();
103
105
 
106
+ const ONE_HOUR_IN_SECONDS = 3600;
107
+ let durationLabel = '00:00';
108
+ const videoDuration = item.file.duration;
109
+
110
+ if (videoDuration) {
111
+ const isDurationLongerThanHour = videoDuration / ONE_HOUR_IN_SECONDS >= 1;
112
+ const formattedDurationParam = isDurationLongerThanHour ? 'HH:mm:ss' : 'mm:ss';
113
+ const formattedVideoDuration = dayjs
114
+ .duration(videoDuration, 'second')
115
+ .format(formattedDurationParam);
116
+ durationLabel = formattedVideoDuration;
117
+ }
118
+
104
119
  const { t } = useTranslationContext();
105
120
 
106
121
  return indicatorType === ProgressIndicatorTypes.NOT_SUPPORTED ? (
@@ -117,7 +132,7 @@ const UnsupportedFileTypeOrFileSizeIndicator = ({
117
132
  </View>
118
133
  ) : (
119
134
  <WritingDirectionAwareText style={[styles.fileSizeText, { color: grey }, fileSizeText]}>
120
- {item.file.duration || getFileSizeDisplayText(item.file.size)}
135
+ {videoDuration ? durationLabel : getFileSizeDisplayText(item.file.size)}
121
136
  </WritingDirectionAwareText>
122
137
  );
123
138
  };
@@ -288,7 +288,7 @@ const MessageInputWithContext = <
288
288
  // Check if the file size of the image exceeds the threshold of 100MB
289
289
  if (
290
290
  imageToUpload &&
291
- Number(imageToUpload.fileSize) / MEGA_BYTES_TO_BYTES > MAX_FILE_SIZE_TO_UPLOAD_IN_MB
291
+ Number(imageToUpload.size) / MEGA_BYTES_TO_BYTES > MAX_FILE_SIZE_TO_UPLOAD_IN_MB
292
292
  ) {
293
293
  Alert.alert(
294
294
  t(
@@ -39,12 +39,12 @@ describe('MessageInput', () => {
39
39
  selectedImages: [
40
40
  generateImageAttachment({
41
41
  file: { height: 100, uri: 'https://picsum.photos/200/300', width: 100 },
42
- fileSize: 500000000,
42
+ size: 500000000,
43
43
  uri: 'https://picsum.photos/200/300',
44
44
  }),
45
45
  generateImageAttachment({
46
46
  file: { height: 100, uri: 'https://picsum.photos/200/300', width: 100 },
47
- fileSize: 600000000,
47
+ size: 600000000,
48
48
  uri: 'https://picsum.photos/200/300',
49
49
  }),
50
50
  ],
@@ -641,7 +641,7 @@ export const MessageInputProvider = <
641
641
  };
642
642
 
643
643
  const mapImageUploadToAttachment = (image: ImageUpload) => {
644
- const mime_type: string | boolean = lookup(image.file.filename as string);
644
+ const mime_type: string | boolean = lookup(image.file.name as string);
645
645
  return {
646
646
  fallback: image.file.name,
647
647
  image_url: image.url,
@@ -1006,7 +1006,7 @@ export const MessageInputProvider = <
1006
1006
  uri,
1007
1007
  width: file.width,
1008
1008
  }));
1009
- const filename = file.filename ?? uri.replace(/^(file:\/\/|content:\/\/)/, '');
1009
+ const filename = file.name ?? uri.replace(/^(file:\/\/|content:\/\/)/, '');
1010
1010
  const contentType = lookup(filename) || 'multipart/form-data';
1011
1011
  if (value.doImageUploadRequest) {
1012
1012
  response = await value.doImageUploadRequest(file, channel);
package/src/i18n/fr.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
- "1 Reply": "",
3
- "1 Thread Reply": "",
4
- "Allow access to your Gallery": "",
5
- "Allow camera access in device settings": "",
2
+ "1 Reply": "1 Réponse",
3
+ "1 Thread Reply": "Réponse à 1 fil",
4
+ "Allow access to your Gallery": "Autoriser l'accès à votre galerie",
5
+ "Allow camera access in device settings": "Autoriser l'accès à la caméra dans les paramètres de l'appareil",
6
6
  "Also send to channel": "",
7
7
  "Are you sure you want to permanently delete this message?": "",
8
8
  "Block User": "",
@@ -11,66 +11,66 @@
11
11
  "Copy Message": "",
12
12
  "Delete": "",
13
13
  "Delete Message": "",
14
- "Device camera is used to take photos or videos.": "",
14
+ "Device camera is used to take photos or videos.": "L'appareil photo de l'appareil est utilisé pour prendre des photos ou des vidéos.",
15
15
  "Do you want to send a copy of this message to a moderator for further investigation?": "",
16
16
  "Edit Message": "",
17
17
  "Editing Message": "",
18
- "Emoji matching": "",
18
+ "Emoji matching": "Correspondance Emoji",
19
19
  "Empty message...": "",
20
20
  "Error loading": "",
21
21
  "Error loading channel list...": "",
22
22
  "Error loading messages for this channel...": "",
23
23
  "Error while loading, please reload/refresh": "",
24
- "File type not supported": "Le type de fichier n'est pas pris en charge",
24
+ "File type not supported": "",
25
25
  "Flag": "",
26
26
  "Flag Message": "",
27
27
  "Flag action failed either due to a network issue or the message is already flagged": "",
28
28
  "How about sending your first message to a friend?": "",
29
- "Instant Commands": "",
29
+ "Instant Commands": "Commandes Instantanées",
30
30
  "Let's start chatting!": "",
31
- "Links are disabled": "",
32
- "Loading channels...": "Chargement des canaux...",
33
- "Loading messages...": "Chargement des messages...",
34
- "Loading...": "Chargement...",
35
- "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
31
+ "Links are disabled": "Links are disabled",
32
+ "Loading channels...": "",
33
+ "Loading messages...": "",
34
+ "Loading...": "",
35
+ "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "Taille maximale de téléchargement de fichier atteinte. Veuillez télécharger un fichier inférieur à {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} Mo.",
36
36
  "Message Reactions": "",
37
37
  "Message deleted": "",
38
38
  "Message flagged": "",
39
39
  "Mute User": "",
40
- "Not supported": "Non pris en charge",
40
+ "Not supported": "",
41
41
  "Nothing yet...": "",
42
42
  "Ok": "",
43
- "Only visible to you": "Seulement visible par vous",
44
- "Open Settings": "",
43
+ "Only visible to you": "",
44
+ "Open Settings": "Ouvrir les paramètres",
45
45
  "Photo": "Photo",
46
- "Photos and Videos": "",
46
+ "Photos and Videos": "Photos et vidéos",
47
47
  "Pin to Conversation": "",
48
48
  "Pinned by": "",
49
- "Please enable access to your photos and videos so you can share them.": "",
49
+ "Please enable access to your photos and videos so you can share them.": "Veuillez autoriser l'accès à vos photos et vidéos afin de pouvoir les partager.",
50
50
  "Please select a channel first": "Veuillez d'abord selectionnez un canal",
51
51
  "Reconnecting...": "",
52
52
  "Reply": "",
53
53
  "Reply to Message": "",
54
54
  "Resend": "",
55
55
  "Search GIFs": "",
56
- "Select More Photos": "",
56
+ "Select More Photos": "Sélectionner plus de photos",
57
57
  "Send a message": "",
58
- "Sending links is not allowed in this conversation": "",
58
+ "Sending links is not allowed in this conversation": "Sending links is not allowed in this conversation",
59
59
  "Slow mode ON": "",
60
60
  "The message has been reported to a moderator.": "",
61
61
  "Thread Reply": "",
62
62
  "Unblock User": "",
63
- "Unknown User": "",
63
+ "Unknown User": "Utilisateur inconnu",
64
64
  "Unmute User": "",
65
65
  "Unpin from Conversation": "",
66
- "Unread Messages": "",
66
+ "Unread Messages": "Messages non lus",
67
67
  "Video": "Vidéo",
68
68
  "You": "",
69
- "You can't send messages in this channel": "You can't send messages in this channel",
69
+ "You can't send messages in this channel": "",
70
70
  "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} et {{ nonSelfUserLength }} autres sont en train d'écrire",
71
- "{{ index }} of {{ photoLength }}": "",
72
- "{{ replyCount }} Replies": "",
73
- "{{ replyCount }} Thread Replies": "",
71
+ "{{ index }} of {{ photoLength }}": "{{ index }} sur {{ photoLength }}",
72
+ "{{ replyCount }} Replies": "{{ replyCount }} Réponses",
73
+ "{{ replyCount }} Thread Replies": "{{replyCount}} Réponses à la discussion",
74
74
  "{{ user }} is typing": "{{ user }} est en train d'écrire",
75
75
  "🏙 Attachment...": ""
76
76
  }
package/src/i18n/hi.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
- "1 Reply": "",
3
- "1 Thread Reply": "",
4
- "Allow access to your Gallery": "",
5
- "Allow camera access in device settings": "",
2
+ "1 Reply": "1 रिप्लाई",
3
+ "1 Thread Reply": "1 धागा उत्तर",
4
+ "Allow access to your Gallery": "अपनी गैलरी तक पहुँचने की अनुमति दें",
5
+ "Allow camera access in device settings": "डिवाइस सेटिंग्स में कैमरा एक्सेस की अनुमति दें",
6
6
  "Also send to channel": "",
7
7
  "Are you sure you want to permanently delete this message?": "",
8
8
  "Block User": "",
@@ -11,66 +11,66 @@
11
11
  "Copy Message": "",
12
12
  "Delete": "",
13
13
  "Delete Message": "",
14
- "Device camera is used to take photos or videos.": "",
14
+ "Device camera is used to take photos or videos.": "डिवाइस कैमरे का उपयोग फ़ोटो या वीडियो लेने के लिए किया जाता है।",
15
15
  "Do you want to send a copy of this message to a moderator for further investigation?": "",
16
16
  "Edit Message": "",
17
17
  "Editing Message": "",
18
- "Emoji matching": "",
18
+ "Emoji matching": "इमोजी मिलान",
19
19
  "Empty message...": "",
20
20
  "Error loading": "",
21
21
  "Error loading channel list...": "",
22
22
  "Error loading messages for this channel...": "",
23
23
  "Error while loading, please reload/refresh": "",
24
- "File type not supported": "फ़ाइल प्रकार समर्थित नहीं है",
24
+ "File type not supported": "",
25
25
  "Flag": "",
26
26
  "Flag Message": "",
27
27
  "Flag action failed either due to a network issue or the message is already flagged": "",
28
28
  "How about sending your first message to a friend?": "",
29
- "Instant Commands": "",
29
+ "Instant Commands": "त्वरित कमांड",
30
30
  "Let's start chatting!": "",
31
- "Links are disabled": "",
32
- "Loading channels...": "चैनल लोड हो रहे हैं...",
33
- "Loading messages...": "मेसेजस लोड हो रहे हैं...",
34
- "Loading...": "लोड हो रहा है...",
35
- "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
31
+ "Links are disabled": "लिंक अक्षम हैं",
32
+ "Loading channels...": "",
33
+ "Loading messages...": "",
34
+ "Loading...": "",
35
+ "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}} एमबी से नीचे की फ़ाइल अपलोड करें।",
36
36
  "Message Reactions": "",
37
37
  "Message deleted": "",
38
38
  "Message flagged": "",
39
39
  "Mute User": "",
40
- "Not supported": "समर्थित नहीं",
40
+ "Not supported": "",
41
41
  "Nothing yet...": "",
42
42
  "Ok": "",
43
- "Only visible to you": "केवल आपको दिखाई दे रहा है",
44
- "Open Settings": "",
43
+ "Only visible to you": "",
44
+ "Open Settings": "सेटिंग्स खोलें",
45
45
  "Photo": "तस्वीर",
46
- "Photos and Videos": "",
46
+ "Photos and Videos": "तस्वीरें और वीडियों",
47
47
  "Pin to Conversation": "",
48
48
  "Pinned by": "",
49
- "Please enable access to your photos and videos so you can share them.": "",
49
+ "Please enable access to your photos and videos so you can share them.": "कृपया अपनी फ़ोटो और वीडियो तक पहुंच सक्षम करें ताकि आप उन्हें साझा कर सकें।",
50
50
  "Please select a channel first": "कृपया पहले एक चैनल चुनें",
51
51
  "Reconnecting...": "",
52
52
  "Reply": "",
53
53
  "Reply to Message": "",
54
54
  "Resend": "",
55
55
  "Search GIFs": "",
56
- "Select More Photos": "",
56
+ "Select More Photos": "अधिक फ़ोटो चुनें",
57
57
  "Send a message": "",
58
- "Sending links is not allowed in this conversation": "",
58
+ "Sending links is not allowed in this conversation": "इस बातचीत में लिंक भेजने की अनुमति नहीं है",
59
59
  "Slow mode ON": "",
60
60
  "The message has been reported to a moderator.": "",
61
61
  "Thread Reply": "",
62
62
  "Unblock User": "",
63
- "Unknown User": "",
63
+ "Unknown User": "अज्ञात उपयोगकर्ता",
64
64
  "Unmute User": "",
65
65
  "Unpin from Conversation": "",
66
- "Unread Messages": "",
66
+ "Unread Messages": "अपठित संदेश",
67
67
  "Video": "वीडियो",
68
68
  "You": "",
69
- "You can't send messages in this channel": "आप इस चैनल में संदेश नहीं भेज सकते",
69
+ "You can't send messages in this channel": "",
70
70
  "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} और {{ nonSelfUserLength }} अधिक टाइप कर रहे हैं",
71
- "{{ index }} of {{ photoLength }}": "",
72
- "{{ replyCount }} Replies": "",
73
- "{{ replyCount }} Thread Replies": "",
71
+ "{{ index }} of {{ photoLength }}": "{{ index }} / {{ photoLength }}",
72
+ "{{ replyCount }} Replies": "{{ replyCount }} रिप्लाई",
73
+ "{{ replyCount }} Thread Replies": "{{ replyCount }}} थ्रेड उत्तर",
74
74
  "{{ user }} is typing": "{{ user }} टाइप कर रहा है",
75
75
  "🏙 Attachment...": ""
76
76
  }
package/src/i18n/it.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
- "1 Reply": "",
3
- "1 Thread Reply": "",
4
- "Allow access to your Gallery": "",
5
- "Allow camera access in device settings": "",
2
+ "1 Reply": "1 Risposta",
3
+ "1 Thread Reply": "1 Risposta alla Discussione",
4
+ "Allow access to your Gallery": "Consenti l'accesso alla tua galleria",
5
+ "Allow camera access in device settings": "Consenti l'accesso alla fotocamera nelle impostazioni del dispositivo",
6
6
  "Also send to channel": "",
7
7
  "Are you sure you want to permanently delete this message?": "",
8
8
  "Block User": "",
@@ -11,66 +11,66 @@
11
11
  "Copy Message": "",
12
12
  "Delete": "",
13
13
  "Delete Message": "",
14
- "Device camera is used to take photos or videos.": "",
14
+ "Device camera is used to take photos or videos.": "La fotocamera del dispositivo viene utilizzata per scattare foto o video.",
15
15
  "Do you want to send a copy of this message to a moderator for further investigation?": "",
16
16
  "Edit Message": "",
17
17
  "Editing Message": "",
18
- "Emoji matching": "",
18
+ "Emoji matching": "Abbinamento emoji",
19
19
  "Empty message...": "",
20
20
  "Error loading": "",
21
21
  "Error loading channel list...": "",
22
22
  "Error loading messages for this channel...": "",
23
23
  "Error while loading, please reload/refresh": "",
24
- "File type not supported": "Tipo di file non supportato",
24
+ "File type not supported": "",
25
25
  "Flag": "",
26
26
  "Flag Message": "",
27
27
  "Flag action failed either due to a network issue or the message is already flagged": "",
28
28
  "How about sending your first message to a friend?": "",
29
- "Instant Commands": "",
29
+ "Instant Commands": "Comandi Istantanei",
30
30
  "Let's start chatting!": "",
31
- "Links are disabled": "",
32
- "Loading channels...": "Caricamento canali in corso...",
33
- "Loading messages...": "Caricamento messaggi...",
34
- "Loading...": "Caricamento...",
35
- "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
31
+ "Links are disabled": "I link sono disabilitati",
32
+ "Loading channels...": "",
33
+ "Loading messages...": "",
34
+ "Loading...": "",
35
+ "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "È stato raggiunto il limite massimo di caricamento delle dimensioni del file. Carica un file inferiore a {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.",
36
36
  "Message Reactions": "",
37
37
  "Message deleted": "",
38
38
  "Message flagged": "",
39
39
  "Mute User": "",
40
- "Not supported": "non supportato",
40
+ "Not supported": "",
41
41
  "Nothing yet...": "",
42
42
  "Ok": "",
43
- "Only visible to you": "Visibile solo a te",
44
- "Open Settings": "",
43
+ "Only visible to you": "",
44
+ "Open Settings": "Apri Impostazioni",
45
45
  "Photo": "Foto",
46
- "Photos and Videos": "",
46
+ "Photos and Videos": "Foto e Video",
47
47
  "Pin to Conversation": "",
48
48
  "Pinned by": "",
49
- "Please enable access to your photos and videos so you can share them.": "",
49
+ "Please enable access to your photos and videos so you can share them.": "Abilita l'accesso alle tue foto e ai tuoi video in modo da poterli condividere.",
50
50
  "Please select a channel first": "Seleziona un canale",
51
51
  "Reconnecting...": "",
52
52
  "Reply": "",
53
53
  "Reply to Message": "",
54
54
  "Resend": "",
55
55
  "Search GIFs": "",
56
- "Select More Photos": "",
56
+ "Select More Photos": "Seleziona Altre foto",
57
57
  "Send a message": "",
58
- "Sending links is not allowed in this conversation": "",
58
+ "Sending links is not allowed in this conversation": "L'invio di link non è consentito in questa conversazione",
59
59
  "Slow mode ON": "",
60
60
  "The message has been reported to a moderator.": "",
61
61
  "Thread Reply": "",
62
62
  "Unblock User": "",
63
- "Unknown User": "",
63
+ "Unknown User": "Utente sconosciuto",
64
64
  "Unmute User": "",
65
65
  "Unpin from Conversation": "",
66
- "Unread Messages": "",
66
+ "Unread Messages": "Messaggi non letti",
67
67
  "Video": "Video",
68
68
  "You": "",
69
- "You can't send messages in this channel": "Non puoi inviare messaggi in questo canale",
69
+ "You can't send messages in this channel": "",
70
70
  "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} e altri {{ nonSelfUserLength }} stanno scrivendo",
71
- "{{ index }} of {{ photoLength }}": "",
72
- "{{ replyCount }} Replies": "",
73
- "{{ replyCount }} Thread Replies": "",
71
+ "{{ index }} of {{ photoLength }}": "{{ index }} di {{ photoLength }}",
72
+ "{{ replyCount }} Replies": "{{ replyCount }} Risposte",
73
+ "{{ replyCount }} Thread Replies": "{{replyCount}} Risposte alle Conversazione",
74
74
  "{{ user }} is typing": "{{ user }} sta scrivendo",
75
75
  "🏙 Attachment...": ""
76
76
  }