stream-chat-react-native-core 5.22.2-beta.1 → 5.22.2-beta.3

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 (52) hide show
  1. package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.js +2 -2
  2. package/lib/commonjs/components/Message/MessageSimple/utils/generateMarkdownText.js.map +1 -1
  3. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js +2 -2
  4. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
  5. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js +9 -12
  6. package/lib/commonjs/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -1
  7. package/lib/commonjs/i18n/en.json +1 -1
  8. package/lib/commonjs/i18n/fr.json +43 -43
  9. package/lib/commonjs/i18n/hi.json +43 -43
  10. package/lib/commonjs/i18n/it.json +43 -43
  11. package/lib/commonjs/i18n/nl.json +43 -43
  12. package/lib/commonjs/i18n/ru.json +43 -43
  13. package/lib/commonjs/i18n/tr.json +43 -43
  14. package/lib/commonjs/native.js.map +1 -1
  15. package/lib/commonjs/version.json +1 -1
  16. package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.js +2 -2
  17. package/lib/module/components/Message/MessageSimple/utils/generateMarkdownText.js.map +1 -1
  18. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js +2 -2
  19. package/lib/module/components/Message/MessageSimple/utils/parseLinks.js.map +1 -1
  20. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js +9 -12
  21. package/lib/module/components/Message/MessageSimple/utils/parseLinks.test.js.map +1 -1
  22. package/lib/module/i18n/en.json +1 -1
  23. package/lib/module/i18n/fr.json +43 -43
  24. package/lib/module/i18n/hi.json +43 -43
  25. package/lib/module/i18n/it.json +43 -43
  26. package/lib/module/i18n/nl.json +43 -43
  27. package/lib/module/i18n/ru.json +43 -43
  28. package/lib/module/i18n/tr.json +43 -43
  29. package/lib/module/native.js.map +1 -1
  30. package/lib/module/version.json +1 -1
  31. package/lib/typescript/components/Message/MessageSimple/utils/parseLinks.d.ts +1 -1
  32. package/lib/typescript/i18n/en.json +1 -1
  33. package/lib/typescript/i18n/fr.json +43 -43
  34. package/lib/typescript/i18n/hi.json +43 -43
  35. package/lib/typescript/i18n/it.json +43 -43
  36. package/lib/typescript/i18n/nl.json +43 -43
  37. package/lib/typescript/i18n/ru.json +43 -43
  38. package/lib/typescript/i18n/tr.json +43 -43
  39. package/lib/typescript/native.d.ts +1 -1
  40. package/package.json +1 -1
  41. package/src/components/Message/MessageSimple/utils/generateMarkdownText.ts +2 -2
  42. package/src/components/Message/MessageSimple/utils/parseLinks.test.ts +6 -11
  43. package/src/components/Message/MessageSimple/utils/parseLinks.ts +2 -2
  44. package/src/i18n/en.json +1 -1
  45. package/src/i18n/fr.json +43 -43
  46. package/src/i18n/hi.json +43 -43
  47. package/src/i18n/it.json +43 -43
  48. package/src/i18n/nl.json +43 -43
  49. package/src/i18n/ru.json +43 -43
  50. package/src/i18n/tr.json +43 -43
  51. package/src/native.ts +1 -1
  52. package/src/version.json +1 -1
@@ -22,9 +22,9 @@ var generateMarkdownText = function generateMarkdownText(text) {
22
22
  omission: '...'
23
23
  });
24
24
  var normalRegEx = new RegExp(escapeRegExp(linkInfo.raw), 'g');
25
- var markdown = "[" + displayLink + "](" + linkInfo.encodedUrl + ")";
25
+ var markdown = "[" + displayLink + "](" + linkInfo.url + ")";
26
26
  resultText = text.replace(normalRegEx, markdown);
27
- var mentionsRegex = new RegExp("@\\[" + escapeRegExp(displayLink) + "\\]\\(" + escapeRegExp(linkInfo.encodedUrl) + "\\)", 'g');
27
+ var mentionsRegex = new RegExp("@\\[" + escapeRegExp(displayLink) + "\\]\\(" + escapeRegExp(linkInfo.url) + "\\)", 'g');
28
28
  resultText = resultText.replace(mentionsRegex, "@" + displayLink);
29
29
  }
30
30
  resultText = resultText.replace(/[<"'>]/g, '\\$&');
@@ -1 +1 @@
1
- {"version":3,"names":["_truncate","_interopRequireDefault","require","_parseLinks","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","call","next","bind","Array","isArray","_unsupportedIterableToArray","length","i","done","value","TypeError","minLen","_arrayLikeToArray","n","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","escapeRegExp","text","replace","generateMarkdownText","resultText","trim","linkInfos","parseLinksFromText","_iterator","_step","linkInfo","displayLink","truncate","raw","omission","normalRegEx","RegExp","markdown","encodedUrl","mentionsRegex","exports"],"sources":["generateMarkdownText.ts"],"sourcesContent":["import truncate from 'lodash/truncate';\n\nimport { parseLinksFromText } from './parseLinks';\n\n// 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.\nfunction escapeRegExp(text: string) {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n}\n\nexport const generateMarkdownText = (text?: string) => {\n if (!text) return null;\n\n // Trim the extra spaces from the text.\n let resultText = text.trim();\n\n // List of all the links present in the text.\n const linkInfos = parseLinksFromText(resultText);\n\n for (const linkInfo of linkInfos) {\n const displayLink = truncate(linkInfo.raw, {\n length: 200,\n omission: '...',\n });\n // Convert raw links/emails in the text to respective markdown syntax.\n // Eg: Hi @getstream.io -> Hi @[getstream.io](getstream.io).\n const normalRegEx = new RegExp(escapeRegExp(linkInfo.raw), 'g');\n const markdown = `[${displayLink}](${linkInfo.encodedUrl})`;\n resultText = text.replace(normalRegEx, markdown);\n\n // After previous step, in some cases, the mentioned user after `@` might have a link/email so we convert it back to normal raw text.\n // Eg: Hi, @[test.user@gmail.com](mailto:test.user@gmail.com) to @test.user@gmail.com.\n const mentionsRegex = new RegExp(\n `@\\\\[${escapeRegExp(displayLink)}\\\\]\\\\(${escapeRegExp(linkInfo.encodedUrl)}\\\\)`,\n 'g',\n );\n resultText = resultText.replace(mentionsRegex, `@${displayLink}`);\n }\n\n resultText = resultText.replace(/[<\"'>]/g, '\\\\$&');\n\n return resultText;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_truncate","_interopRequireDefault","require","_parseLinks","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","call","next","bind","Array","isArray","_unsupportedIterableToArray","length","i","done","value","TypeError","minLen","_arrayLikeToArray","n","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","escapeRegExp","text","replace","generateMarkdownText","resultText","trim","linkInfos","parseLinksFromText","_iterator","_step","linkInfo","displayLink","truncate","raw","omission","normalRegEx","RegExp","markdown","url","mentionsRegex","exports"],"sources":["generateMarkdownText.ts"],"sourcesContent":["import truncate from 'lodash/truncate';\n\nimport { parseLinksFromText } from './parseLinks';\n\n// 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.\nfunction escapeRegExp(text: string) {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n}\n\nexport const generateMarkdownText = (text?: string) => {\n if (!text) return null;\n\n // Trim the extra spaces from the text.\n let resultText = text.trim();\n\n // List of all the links present in the text.\n const linkInfos = parseLinksFromText(resultText);\n\n for (const linkInfo of linkInfos) {\n const displayLink = truncate(linkInfo.raw, {\n length: 200,\n omission: '...',\n });\n // Convert raw links/emails in the text to respective markdown syntax.\n // Eg: Hi @getstream.io -> Hi @[getstream.io](getstream.io).\n const normalRegEx = new RegExp(escapeRegExp(linkInfo.raw), 'g');\n const markdown = `[${displayLink}](${linkInfo.url})`;\n resultText = text.replace(normalRegEx, markdown);\n\n // After previous step, in some cases, the mentioned user after `@` might have a link/email so we convert it back to normal raw text.\n // Eg: Hi, @[test.user@gmail.com](mailto:test.user@gmail.com) to @test.user@gmail.com.\n const mentionsRegex = new RegExp(\n `@\\\\[${escapeRegExp(displayLink)}\\\\]\\\\(${escapeRegExp(linkInfo.url)}\\\\)`,\n 'g',\n );\n resultText = resultText.replace(mentionsRegex, `@${displayLink}`);\n }\n\n resultText = resultText.replace(/[<\"'>]/g, '\\\\$&');\n\n return resultText;\n};\n"],"mappings":"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"}
@@ -21,8 +21,8 @@ var parseLinksFromText = function parseLinksFromText(input) {
21
21
  var href = _ref.href,
22
22
  value = _ref.value;
23
23
  return {
24
- encodedUrl: encodeURI(href),
25
- raw: value
24
+ raw: value,
25
+ url: href
26
26
  };
27
27
  });
28
28
  return result;
@@ -1 +1 @@
1
- {"version":3,"names":["_linkifyjs","require","removeMarkdownLinksFromText","input","replace","removeUserNamesWithEmailFromText","parseLinksFromText","strippedInput","reduce","acc","fn","links","find","emails","result","concat","_toConsumableArray2","map","_ref","href","value","encodedUrl","encodeURI","raw","exports"],"sources":["parseLinks.ts"],"sourcesContent":["import { find } from 'linkifyjs';\n\ninterface LinkInfo {\n encodedUrl: string;\n raw: string;\n}\n\n/**\n * This is done separately because of the version of javascript run\n * for expo\n * */\nconst removeMarkdownLinksFromText = (input: string) => input.replace(/\\[[\\w\\s]+\\]\\(.*\\)/g, '');\n\n/**\n * This is done to avoid parsing usernames with dot as well as an email address in it.\n */\nconst removeUserNamesWithEmailFromText = (input: string) =>\n input.replace(/@(\\w+(\\.\\w+)?)(@\\w+\\.\\w+)/g, '');\n\nexport const parseLinksFromText = (input: string): LinkInfo[] => {\n const strippedInput = [removeMarkdownLinksFromText, removeUserNamesWithEmailFromText].reduce(\n (acc, fn) => fn(acc),\n input,\n );\n\n const links = find(strippedInput, 'url');\n const emails = find(strippedInput, 'email');\n\n const result: LinkInfo[] = [...links, ...emails].map(({ href, value }) => ({\n encodedUrl: encodeURI(href),\n raw: value,\n }));\n\n return result;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAWA,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAIC,KAAa;EAAA,OAAKA,KAAK,CAACC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;AAAA;AAK9F,IAAMC,gCAAgC,GAAG,SAAnCA,gCAAgCA,CAAIF,KAAa;EAAA,OACrDA,KAAK,CAACC,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC;AAAA;AAE1C,IAAME,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIH,KAAa,EAAiB;EAC/D,IAAMI,aAAa,GAAG,CAACL,2BAA2B,EAAEG,gCAAgC,CAAC,CAACG,MAAM,CAC1F,UAACC,GAAG,EAAEC,EAAE;IAAA,OAAKA,EAAE,CAACD,GAAG,CAAC;EAAA,GACpBN,KACF,CAAC;EAED,IAAMQ,KAAK,GAAG,IAAAC,eAAI,EAACL,aAAa,EAAE,KAAK,CAAC;EACxC,IAAMM,MAAM,GAAG,IAAAD,eAAI,EAACL,aAAa,EAAE,OAAO,CAAC;EAE3C,IAAMO,MAAkB,GAAG,GAAAC,MAAA,KAAAC,mBAAA,aAAIL,KAAK,OAAAK,mBAAA,aAAKH,MAAM,GAAEI,GAAG,CAAC,UAAAC,IAAA;IAAA,IAAGC,IAAI,GAAAD,IAAA,CAAJC,IAAI;MAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAA,OAAQ;MACzEC,UAAU,EAAEC,SAAS,CAACH,IAAI,CAAC;MAC3BI,GAAG,EAAEH;IACP,CAAC;EAAA,CAAC,CAAC;EAEH,OAAON,MAAM;AACf,CAAC;AAACU,OAAA,CAAAlB,kBAAA,GAAAA,kBAAA"}
1
+ {"version":3,"names":["_linkifyjs","require","removeMarkdownLinksFromText","input","replace","removeUserNamesWithEmailFromText","parseLinksFromText","strippedInput","reduce","acc","fn","links","find","emails","result","concat","_toConsumableArray2","map","_ref","href","value","raw","url","exports"],"sources":["parseLinks.ts"],"sourcesContent":["import { find } from 'linkifyjs';\n\ninterface LinkInfo {\n raw: string;\n url: string;\n}\n\n/**\n * This is done separately because of the version of javascript run\n * for expo\n * */\nconst removeMarkdownLinksFromText = (input: string) => input.replace(/\\[[\\w\\s]+\\]\\(.*\\)/g, '');\n\n/**\n * This is done to avoid parsing usernames with dot as well as an email address in it.\n */\nconst removeUserNamesWithEmailFromText = (input: string) =>\n input.replace(/@(\\w+(\\.\\w+)?)(@\\w+\\.\\w+)/g, '');\n\nexport const parseLinksFromText = (input: string): LinkInfo[] => {\n const strippedInput = [removeMarkdownLinksFromText, removeUserNamesWithEmailFromText].reduce(\n (acc, fn) => fn(acc),\n input,\n );\n\n const links = find(strippedInput, 'url');\n const emails = find(strippedInput, 'email');\n\n const result: LinkInfo[] = [...links, ...emails].map(({ href, value }) => ({\n raw: value,\n url: href,\n }));\n\n return result;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAWA,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAIC,KAAa;EAAA,OAAKA,KAAK,CAACC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;AAAA;AAK9F,IAAMC,gCAAgC,GAAG,SAAnCA,gCAAgCA,CAAIF,KAAa;EAAA,OACrDA,KAAK,CAACC,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC;AAAA;AAE1C,IAAME,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIH,KAAa,EAAiB;EAC/D,IAAMI,aAAa,GAAG,CAACL,2BAA2B,EAAEG,gCAAgC,CAAC,CAACG,MAAM,CAC1F,UAACC,GAAG,EAAEC,EAAE;IAAA,OAAKA,EAAE,CAACD,GAAG,CAAC;EAAA,GACpBN,KACF,CAAC;EAED,IAAMQ,KAAK,GAAG,IAAAC,eAAI,EAACL,aAAa,EAAE,KAAK,CAAC;EACxC,IAAMM,MAAM,GAAG,IAAAD,eAAI,EAACL,aAAa,EAAE,OAAO,CAAC;EAE3C,IAAMO,MAAkB,GAAG,GAAAC,MAAA,KAAAC,mBAAA,aAAIL,KAAK,OAAAK,mBAAA,aAAKH,MAAM,GAAEI,GAAG,CAAC,UAAAC,IAAA;IAAA,IAAGC,IAAI,GAAAD,IAAA,CAAJC,IAAI;MAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAA,OAAQ;MACzEC,GAAG,EAAED,KAAK;MACVE,GAAG,EAAEH;IACP,CAAC;EAAA,CAAC,CAAC;EAEH,OAAOL,MAAM;AACf,CAAC;AAACS,OAAA,CAAAjB,kBAAA,GAAAA,kBAAA"}
@@ -1,45 +1,42 @@
1
1
  var _parseLinks = require("./parseLinks");
2
2
  describe('parseLinksFromText', function () {
3
- it.each([['https://www.getstream.io', 'https://www.getstream.io'], ['https://getstream.io', 'https://getstream.io'], ['scrn://team-chat', undefined], ['https://localhost', 'https://localhost'], ['https://localhost/with/path?and=query&multiple=params', 'https://localhost/with/path?and=query&multiple=params'], ['https://localhost/with/path?and=query#fragment', 'https://localhost/with/path?and=query#fragment'], ['reactnative.dev', 'http://reactnative.dev'], ['hinge.health/schedule-with-a-coach', 'http://hinge.health/schedule-with-a-coach'], ['https://zh.wikipedia.org/wiki/挪威牛油危機', 'https://zh.wikipedia.org/wiki/%E6%8C%AA%E5%A8%81%E7%89%9B%E6%B2%B9%E5%8D%B1%E6%A9%9F'], ['https://getstream.io/chat/docs/react-native/?language=javascript', 'https://getstream.io/chat/docs/react-native/?language=javascript'], ['127.0.0.1/local_(development)_server', undefined], ['https://a.co:8999/ab.php?p=12', 'https://a.co:8999/ab.php?p=12'], ['https://help.apple.com/xcode/mac/current/#/devba7f53ad4', 'https://help.apple.com/xcode/mac/current/#/devba7f53ad4']])('Returns the encoded value of %p as %p', function (link, expected) {
3
+ it.each([['https://www.getstream.io', 'https://www.getstream.io'], ['https://getstream.io', 'https://getstream.io'], ['scrn://team-chat', undefined], ['https://localhost', 'https://localhost'], ['https://localhost/with/path?and=query&multiple=params', 'https://localhost/with/path?and=query&multiple=params'], ['https://localhost/with/path?and=query#fragment', 'https://localhost/with/path?and=query#fragment'], ['reactnative.dev', 'http://reactnative.dev'], ['hinge.health/schedule-with-a-coach', 'http://hinge.health/schedule-with-a-coach'], ['https://zh.wikipedia.org/wiki/挪威牛油危機', 'https://zh.wikipedia.org/wiki/挪威牛油危機'], ['https://getstream.io/chat/docs/react-native/?language=javascript', 'https://getstream.io/chat/docs/react-native/?language=javascript'], ['127.0.0.1/local_(development)_server', undefined], ['https://a.co:8999/ab.php?p=12', 'https://a.co:8999/ab.php?p=12'], ['https://help.apple.com/xcode/mac/current/#/devba7f53ad4', 'https://help.apple.com/xcode/mac/current/#/devba7f53ad4']])('Returns the encoded value of %p as %p', function (link, expected) {
4
4
  var _result$;
5
5
  var result = (0, _parseLinks.parseLinksFromText)(link);
6
- expect((_result$ = result[0]) == null ? void 0 : _result$.encodedUrl).toBe(expected);
6
+ expect((_result$ = result[0]) == null ? void 0 : _result$.url).toBe(expected);
7
7
  });
8
8
  it('parses fqdn', function () {
9
9
  var input = "We have put the apim bol,\n temporarily so :sj: we can later put the monitors on my grasp\n on reality right now is\n https://www.contrived-example.com:8080/sub/page.php?p1=1\uD83C\uDDF3\uD83C\uDDF4&p2=2#fragment-identifier\n :)";
10
10
  var result = (0, _parseLinks.parseLinksFromText)(input);
11
11
  expect(result).toEqual([{
12
- encodedUrl: 'https://www.contrived-example.com:8080/sub/page.php?p1=1%F0%9F%87%B3%F0%9F%87%B4&p2=2#fragment-identifier',
13
- raw: 'https://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier'
12
+ raw: 'https://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier',
13
+ url: 'https://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier'
14
14
  }]);
15
15
  });
16
16
  it.each([['support+rn@getstream.io'], ['support.rn@getstream.io'], ['support-rn@getstream.io'], ['support_rn@getstream.io']])('Can parse the email address %p', function (email) {
17
17
  var result = (0, _parseLinks.parseLinksFromText)(email);
18
- expect(result[0].encodedUrl).toBe('mailto:' + email);
18
+ expect(result[0].url).toBe('mailto:' + email);
19
19
  expect(result[0].raw).toBe(email);
20
20
  });
21
21
  it("doesn't double the mailto prefix", function () {
22
22
  var input = 'mailto:support@getstream.io';
23
23
  var result = (0, _parseLinks.parseLinksFromText)(input);
24
24
  expect(result[0]).toEqual({
25
- encodedUrl: input,
26
- raw: input
25
+ raw: input,
26
+ url: input
27
27
  });
28
28
  });
29
29
  it('Does not falsely parse LINKs from text content', function () {
30
30
  var input = "#This string exists to test that we don't produce false positives\n Existing links:\n [already a parsed link](https://getstream.io/blog/react-native-how-to-build-bidirectional-infinite-scroll/)\n [even a bogus one]( should not match )\n ## These should, however, be parsed:\n www.getstream.io\n getstream.io\n ";
31
31
  var result = (0, _parseLinks.parseLinksFromText)(input);
32
- console.log({
33
- result: result
34
- });
35
32
  expect(result).toHaveLength(2);
36
33
  });
37
34
  it('Encodes incomplete emoji unicode', function () {
38
35
  var input = 'https://getstream.io/�';
39
36
  var result = (0, _parseLinks.parseLinksFromText)(input);
40
37
  expect(result[0]).toEqual({
41
- encodedUrl: 'https://getstream.io/%EF%BF%BD',
42
- raw: input
38
+ raw: input,
39
+ url: 'https://getstream.io/�'
43
40
  });
44
41
  });
45
42
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_parseLinks","require","describe","it","each","undefined","link","expected","_result$","result","parseLinksFromText","expect","encodedUrl","toBe","input","toEqual","raw","email","console","log","toHaveLength"],"sources":["parseLinks.test.ts"],"sourcesContent":["import { parseLinksFromText } from './parseLinks';\n\ndescribe('parseLinksFromText', () => {\n it.each([\n ['https://www.getstream.io', 'https://www.getstream.io'],\n ['https://getstream.io', 'https://getstream.io'],\n ['scrn://team-chat', undefined],\n ['https://localhost', 'https://localhost'],\n [\n 'https://localhost/with/path?and=query&multiple=params',\n 'https://localhost/with/path?and=query&multiple=params',\n ],\n [\n 'https://localhost/with/path?and=query#fragment',\n 'https://localhost/with/path?and=query#fragment',\n ],\n ['reactnative.dev', 'http://reactnative.dev'],\n ['hinge.health/schedule-with-a-coach', 'http://hinge.health/schedule-with-a-coach'],\n [\n 'https://zh.wikipedia.org/wiki/挪威牛油危機',\n 'https://zh.wikipedia.org/wiki/%E6%8C%AA%E5%A8%81%E7%89%9B%E6%B2%B9%E5%8D%B1%E6%A9%9F',\n ],\n [\n 'https://getstream.io/chat/docs/react-native/?language=javascript',\n 'https://getstream.io/chat/docs/react-native/?language=javascript',\n ],\n ['127.0.0.1/local_(development)_server', undefined],\n ['https://a.co:8999/ab.php?p=12', 'https://a.co:8999/ab.php?p=12'],\n [\n 'https://help.apple.com/xcode/mac/current/#/devba7f53ad4',\n 'https://help.apple.com/xcode/mac/current/#/devba7f53ad4',\n ],\n ])('Returns the encoded value of %p as %p', (link, expected) => {\n const result = parseLinksFromText(link);\n expect(result[0]?.encodedUrl).toBe(expected);\n });\n it('parses fqdn', () => {\n const input = `We have put the apim bol,\n temporarily so :sj: we can later put the monitors on my grasp\n on reality right now is\n https://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier\n :)`;\n const result = parseLinksFromText(input);\n expect(result).toEqual([\n {\n encodedUrl:\n 'https://www.contrived-example.com:8080/sub/page.php?p1=1%F0%9F%87%B3%F0%9F%87%B4&p2=2#fragment-identifier',\n raw: 'https://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier',\n },\n ]);\n });\n it.each([\n ['support+rn@getstream.io'],\n ['support.rn@getstream.io'],\n ['support-rn@getstream.io'],\n ['support_rn@getstream.io'],\n ])('Can parse the email address %p', (email) => {\n const result = parseLinksFromText(email);\n expect(result[0].encodedUrl).toBe('mailto:' + email);\n expect(result[0].raw).toBe(email);\n });\n it(\"doesn't double the mailto prefix\", () => {\n const input = 'mailto:support@getstream.io';\n const result = parseLinksFromText(input);\n expect(result[0]).toEqual({\n encodedUrl: input,\n raw: input,\n });\n });\n it('Does not falsely parse LINKs from text content', () => {\n const input = `#This string exists to test that we don't produce false positives\n Existing links:\n [already a parsed link](https://getstream.io/blog/react-native-how-to-build-bidirectional-infinite-scroll/)\n [even a bogus one]( should not match )\n ## These should, however, be parsed:\n www.getstream.io\n getstream.io\n `;\n const result = parseLinksFromText(input);\n console.log({ result });\n expect(result).toHaveLength(2);\n });\n it('Encodes incomplete emoji unicode', () => {\n const input = 'https://getstream.io/�';\n const result = parseLinksFromText(input);\n expect(result[0]).toEqual({\n encodedUrl: 'https://getstream.io/%EF%BF%BD',\n raw: input,\n });\n });\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["_parseLinks","require","describe","it","each","undefined","link","expected","_result$","result","parseLinksFromText","expect","url","toBe","input","toEqual","raw","email","toHaveLength"],"sources":["parseLinks.test.ts"],"sourcesContent":["import { parseLinksFromText } from './parseLinks';\n\ndescribe('parseLinksFromText', () => {\n it.each([\n ['https://www.getstream.io', 'https://www.getstream.io'],\n ['https://getstream.io', 'https://getstream.io'],\n ['scrn://team-chat', undefined],\n ['https://localhost', 'https://localhost'],\n [\n 'https://localhost/with/path?and=query&multiple=params',\n 'https://localhost/with/path?and=query&multiple=params',\n ],\n [\n 'https://localhost/with/path?and=query#fragment',\n 'https://localhost/with/path?and=query#fragment',\n ],\n ['reactnative.dev', 'http://reactnative.dev'],\n ['hinge.health/schedule-with-a-coach', 'http://hinge.health/schedule-with-a-coach'],\n ['https://zh.wikipedia.org/wiki/挪威牛油危機', 'https://zh.wikipedia.org/wiki/挪威牛油危機'],\n [\n 'https://getstream.io/chat/docs/react-native/?language=javascript',\n 'https://getstream.io/chat/docs/react-native/?language=javascript',\n ],\n ['127.0.0.1/local_(development)_server', undefined],\n ['https://a.co:8999/ab.php?p=12', 'https://a.co:8999/ab.php?p=12'],\n [\n 'https://help.apple.com/xcode/mac/current/#/devba7f53ad4',\n 'https://help.apple.com/xcode/mac/current/#/devba7f53ad4',\n ],\n ])('Returns the encoded value of %p as %p', (link, expected) => {\n const result = parseLinksFromText(link);\n expect(result[0]?.url).toBe(expected);\n });\n it('parses fqdn', () => {\n const input = `We have put the apim bol,\n temporarily so :sj: we can later put the monitors on my grasp\n on reality right now is\n https://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier\n :)`;\n const result = parseLinksFromText(input);\n expect(result).toEqual([\n {\n raw: 'https://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier',\n url: 'https://www.contrived-example.com:8080/sub/page.php?p1=1🇳🇴&p2=2#fragment-identifier',\n },\n ]);\n });\n it.each([\n ['support+rn@getstream.io'],\n ['support.rn@getstream.io'],\n ['support-rn@getstream.io'],\n ['support_rn@getstream.io'],\n ])('Can parse the email address %p', (email) => {\n const result = parseLinksFromText(email);\n expect(result[0].url).toBe('mailto:' + email);\n expect(result[0].raw).toBe(email);\n });\n it(\"doesn't double the mailto prefix\", () => {\n const input = 'mailto:support@getstream.io';\n const result = parseLinksFromText(input);\n expect(result[0]).toEqual({\n raw: input,\n url: input,\n });\n });\n it('Does not falsely parse LINKs from text content', () => {\n const input = `#This string exists to test that we don't produce false positives\n Existing links:\n [already a parsed link](https://getstream.io/blog/react-native-how-to-build-bidirectional-infinite-scroll/)\n [even a bogus one]( should not match )\n ## These should, however, be parsed:\n www.getstream.io\n getstream.io\n `;\n const result = parseLinksFromText(input);\n expect(result).toHaveLength(2);\n });\n it('Encodes incomplete emoji unicode', () => {\n const input = 'https://getstream.io/�';\n const result = parseLinksFromText(input);\n expect(result[0]).toEqual({\n raw: input,\n url: 'https://getstream.io/�',\n });\n });\n});\n"],"mappings":"AAAA,IAAAA,WAAA,GAAAC,OAAA;AAEAC,QAAQ,CAAC,oBAAoB,EAAE,YAAM;EACnCC,EAAE,CAACC,IAAI,CAAC,CACN,CAAC,0BAA0B,EAAE,0BAA0B,CAAC,EACxD,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,EAChD,CAAC,kBAAkB,EAAEC,SAAS,CAAC,EAC/B,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,EAC1C,CACE,uDAAuD,EACvD,uDAAuD,CACxD,EACD,CACE,gDAAgD,EAChD,gDAAgD,CACjD,EACD,CAAC,iBAAiB,EAAE,wBAAwB,CAAC,EAC7C,CAAC,oCAAoC,EAAE,2CAA2C,CAAC,EACnF,CAAC,sCAAsC,EAAE,sCAAsC,CAAC,EAChF,CACE,kEAAkE,EAClE,kEAAkE,CACnE,EACD,CAAC,sCAAsC,EAAEA,SAAS,CAAC,EACnD,CAAC,+BAA+B,EAAE,+BAA+B,CAAC,EAClE,CACE,yDAAyD,EACzD,yDAAyD,CAC1D,CACF,CAAC,CAAC,uCAAuC,EAAE,UAACC,IAAI,EAAEC,QAAQ,EAAK;IAAA,IAAAC,QAAA;IAC9D,IAAMC,MAAM,GAAG,IAAAC,8BAAkB,EAACJ,IAAI,CAAC;IACvCK,MAAM,EAAAH,QAAA,GAACC,MAAM,CAAC,CAAC,CAAC,qBAATD,QAAA,CAAWI,GAAG,CAAC,CAACC,IAAI,CAACN,QAAQ,CAAC;EACvC,CAAC,CAAC;EACFJ,EAAE,CAAC,aAAa,EAAE,YAAM;IACtB,IAAMW,KAAK,6OAIV;IACD,IAAML,MAAM,GAAG,IAAAC,8BAAkB,EAACI,KAAK,CAAC;IACxCH,MAAM,CAACF,MAAM,CAAC,CAACM,OAAO,CAAC,CACrB;MACEC,GAAG,EAAE,uFAAuF;MAC5FJ,GAAG,EAAE;IACP,CAAC,CACF,CAAC;EACJ,CAAC,CAAC;EACFT,EAAE,CAACC,IAAI,CAAC,CACN,CAAC,yBAAyB,CAAC,EAC3B,CAAC,yBAAyB,CAAC,EAC3B,CAAC,yBAAyB,CAAC,EAC3B,CAAC,yBAAyB,CAAC,CAC5B,CAAC,CAAC,gCAAgC,EAAE,UAACa,KAAK,EAAK;IAC9C,IAAMR,MAAM,GAAG,IAAAC,8BAAkB,EAACO,KAAK,CAAC;IACxCN,MAAM,CAACF,MAAM,CAAC,CAAC,CAAC,CAACG,GAAG,CAAC,CAACC,IAAI,CAAC,SAAS,GAAGI,KAAK,CAAC;IAC7CN,MAAM,CAACF,MAAM,CAAC,CAAC,CAAC,CAACO,GAAG,CAAC,CAACH,IAAI,CAACI,KAAK,CAAC;EACnC,CAAC,CAAC;EACFd,EAAE,CAAC,kCAAkC,EAAE,YAAM;IAC3C,IAAMW,KAAK,GAAG,6BAA6B;IAC3C,IAAML,MAAM,GAAG,IAAAC,8BAAkB,EAACI,KAAK,CAAC;IACxCH,MAAM,CAACF,MAAM,CAAC,CAAC,CAAC,CAAC,CAACM,OAAO,CAAC;MACxBC,GAAG,EAAEF,KAAK;MACVF,GAAG,EAAEE;IACP,CAAC,CAAC;EACJ,CAAC,CAAC;EACFX,EAAE,CAAC,gDAAgD,EAAE,YAAM;IACzD,IAAMW,KAAK,kUAOZ;IACC,IAAML,MAAM,GAAG,IAAAC,8BAAkB,EAACI,KAAK,CAAC;IACxCH,MAAM,CAACF,MAAM,CAAC,CAACS,YAAY,CAAC,CAAC,CAAC;EAChC,CAAC,CAAC;EACFf,EAAE,CAAC,kCAAkC,EAAE,YAAM;IAC3C,IAAMW,KAAK,GAAG,wBAAwB;IACtC,IAAML,MAAM,GAAG,IAAAC,8BAAkB,EAACI,KAAK,CAAC;IACxCH,MAAM,CAACF,MAAM,CAAC,CAAC,CAAC,CAAC,CAACM,OAAO,CAAC;MACxBC,GAAG,EAAEF,KAAK;MACVF,GAAG,EAAE;IACP,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -24,7 +24,7 @@
24
24
  "File type not supported": "File type not supported",
25
25
  "Flag": "Flag",
26
26
  "Flag Message": "Flag Message",
27
- "Flag action failed either due to a network issue or the message is already flagged": "Flag action failed either due to a network issue or the message is already flagged",
27
+ "Flag action failed either due to a network issue or the message is already flagged": "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?": "How about sending your first message to a friend?",
29
29
  "Instant Commands": "Instant Commands",
30
30
  "Let's start chatting!": "Let's start chatting!",
@@ -1,30 +1,30 @@
1
1
  {
2
- "1 Reply": "1 Réponse",
2
+ "1 Reply": "",
3
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
- "Also send to channel": "Envoyer également à la chaîne",
7
- "Are you sure you want to permanently delete this message?": "",
8
- "Block User": "",
9
- "Cancel": "",
10
- "Cannot Flag Message": "",
11
- "Copy Message": "",
12
- "Delete": "",
13
- "Delete Message": "",
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
- "Do you want to send a copy of this message to a moderator for further investigation?": "",
16
- "Edit Message": "",
17
- "Editing Message": "Édite un message",
4
+ "Allow access to your Gallery": "",
5
+ "Allow camera access in device settings": "",
6
+ "Also send to channel": "",
7
+ "Are you sure you want to permanently delete this message?": "Êtes-vous sûr de vouloir supprimer définitivement ce message?",
8
+ "Block User": "Bloquer un utilisateur",
9
+ "Cancel": "Annuler",
10
+ "Cannot Flag Message": "Impossible de signaler le message",
11
+ "Copy Message": "Copier le message",
12
+ "Delete": "Supprimer",
13
+ "Delete Message": "Supprimer un message",
14
+ "Device camera is used to take photos or videos.": "",
15
+ "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?",
16
+ "Edit Message": "Éditer un message",
17
+ "Editing Message": "",
18
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": "",
25
- "Flag": "",
26
- "Flag Message": "",
27
- "Flag action failed either due to a network issue or the message is already flagged": "",
24
+ "File type not supported": "Le type de fichier n'est pas pris en charge",
25
+ "Flag": "Signaler",
26
+ "Flag Message": "Signaler le message",
27
+ "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é.",
28
28
  "How about sending your first message to a friend?": "",
29
29
  "Instant Commands": "",
30
30
  "Let's start chatting!": "",
@@ -33,43 +33,43 @@
33
33
  "Loading messages...": "",
34
34
  "Loading...": "",
35
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
- "Message Reactions": "Réactions aux messages",
36
+ "Message Reactions": "",
37
37
  "Message deleted": "",
38
- "Message flagged": "",
39
- "Mute User": "",
38
+ "Message flagged": "Message signalé",
39
+ "Mute User": "Utilisateur muet",
40
40
  "Not supported": "",
41
41
  "Nothing yet...": "",
42
- "Ok": "",
42
+ "Ok": "Ok",
43
43
  "Only visible to you": "Seulement visible par vous",
44
- "Open Settings": "Ouvrir les paramètres",
45
- "Photo": "",
46
- "Photos and Videos": "Photos et vidéos",
47
- "Pin to Conversation": "",
48
- "Pinned by": "Épinglé par",
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.",
44
+ "Open Settings": "",
45
+ "Photo": "Photo",
46
+ "Photos and Videos": "",
47
+ "Pin to Conversation": "Épingler à la conversation",
48
+ "Pinned by": "",
49
+ "Please enable access to your photos and videos so you can share them.": "",
50
50
  "Please select a channel first": "Veuillez d'abord selectionnez un canal",
51
51
  "Reconnecting...": "",
52
- "Reply": "",
52
+ "Reply": "Répondre",
53
53
  "Reply to Message": "",
54
- "Resend": "",
54
+ "Resend": "Renvoyer",
55
55
  "Search GIFs": "",
56
- "Select More Photos": "Sélectionner plus de photos",
56
+ "Select More Photos": "",
57
57
  "Send a message": "",
58
58
  "Sending links is not allowed in this conversation": "Sending links is not allowed in this conversation",
59
59
  "Slow mode ON": "",
60
- "The message has been reported to a moderator.": "",
61
- "Thread Reply": "",
62
- "Unblock User": "",
63
- "Unknown User": "Utilisateur inconnu",
64
- "Unmute User": "",
65
- "Unpin from Conversation": "",
66
- "Unread Messages": "Messages non lus",
67
- "Video": "",
60
+ "The message has been reported to a moderator.": "Le message a été signalé à un modérateur.",
61
+ "Thread Reply": "Réponse à la discussion",
62
+ "Unblock User": "Débloquer Utilisateur",
63
+ "Unknown User": "",
64
+ "Unmute User": "Activer le son de Utilisateur",
65
+ "Unpin from Conversation": "Décrocher de la conversation",
66
+ "Unread Messages": "",
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": "",
71
- "{{ index }} of {{ photoLength }}": "{{ index }} sur {{ photoLength }}",
72
- "{{ replyCount }} Replies": "{{ replyCount }} Réponses",
71
+ "{{ index }} of {{ photoLength }}": "",
72
+ "{{ replyCount }} Replies": "",
73
73
  "{{ replyCount }} Thread Replies": "{{replyCount}} Réponses à la discussion",
74
74
  "{{ user }} is typing": "",
75
75
  "🏙 Attachment...": ""
@@ -1,30 +1,30 @@
1
1
  {
2
- "1 Reply": "1 रिप्लाई",
2
+ "1 Reply": "",
3
3
  "1 Thread Reply": "1 धागा उत्तर",
4
- "Allow access to your Gallery": "अपनी गैलरी तक पहुँचने की अनुमति दें",
5
- "Allow camera access in device settings": "डिवाइस सेटिंग्स में कैमरा एक्सेस की अनुमति दें",
6
- "Also send to channel": "चैनल को भी भेजें",
7
- "Are you sure you want to permanently delete this message?": "",
8
- "Block User": "",
9
- "Cancel": "",
10
- "Cannot Flag Message": "",
11
- "Copy Message": "",
12
- "Delete": "",
13
- "Delete Message": "",
14
- "Device camera is used to take photos or videos.": "डिवाइस कैमरे का उपयोग फ़ोटो या वीडियो लेने के लिए किया जाता है।",
15
- "Do you want to send a copy of this message to a moderator for further investigation?": "",
16
- "Edit Message": "",
17
- "Editing Message": "मैसेज बदला जा रहा है",
4
+ "Allow access to your Gallery": "",
5
+ "Allow camera access in device settings": "",
6
+ "Also send to channel": "",
7
+ "Are you sure you want to permanently delete this message?": "क्या आप वाकई इस संदेश को स्थायी रूप से हटाना चाहते हैं?",
8
+ "Block User": "उपयोगकर्ता को रोक देना, ब्लॉक यूजर",
9
+ "Cancel": "रद्द करें",
10
+ "Cannot Flag Message": "मैसेज फ्लैग नहीं किया जा सकता है",
11
+ "Copy Message": "संदेश की प्रतिलिपि बनाएँ",
12
+ "Delete": "हटाएं",
13
+ "Delete Message": "मैसेज को डिलीट करे",
14
+ "Device camera is used to take photos or videos.": "",
15
+ "Do you want to send a copy of this message to a moderator for further investigation?": "क्या आप इस संदेश की एक प्रति आगे की जाँच के लिए किसी मॉडरेटर को भेजना चाहते हैं?",
16
+ "Edit Message": "मैसेज में बदलाव करे",
17
+ "Editing Message": "",
18
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": "",
25
- "Flag": "",
26
- "Flag Message": "",
27
- "Flag action failed either due to a network issue or the message is already flagged": "",
24
+ "File type not supported": "फ़ाइल प्रकार समर्थित नहीं है",
25
+ "Flag": "झंडा",
26
+ "Flag Message": "झंडा संदेश",
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
29
  "Instant Commands": "",
30
30
  "Let's start chatting!": "",
@@ -33,43 +33,43 @@
33
33
  "Loading messages...": "",
34
34
  "Loading...": "",
35
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
- "Message Reactions": "संदेश प्रतिक्रियाएँ",
36
+ "Message Reactions": "",
37
37
  "Message deleted": "",
38
- "Message flagged": "",
39
- "Mute User": "",
38
+ "Message flagged": "संदेश को ध्वजांकित किया गया",
39
+ "Mute User": "उपयोगकर्ता को म्यूट करें",
40
40
  "Not supported": "",
41
41
  "Nothing yet...": "",
42
- "Ok": "",
42
+ "Ok": "ठीक",
43
43
  "Only visible to you": "केवल आपको दिखाई दे रहा है",
44
- "Open Settings": "सेटिंग्स खोलें",
45
- "Photo": "",
46
- "Photos and Videos": "तस्वीरें और वीडियों",
47
- "Pin to Conversation": "",
48
- "Pinned by": "द्वारा पिन किया गया",
49
- "Please enable access to your photos and videos so you can share them.": "कृपया अपनी फ़ोटो और वीडियो तक पहुंच सक्षम करें ताकि आप उन्हें साझा कर सकें।",
44
+ "Open Settings": "",
45
+ "Photo": "तस्वीर",
46
+ "Photos and Videos": "",
47
+ "Pin to Conversation": "बातचीत में पिन करें",
48
+ "Pinned by": "",
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
- "Reply": "",
52
+ "Reply": "मैसेज को रिप्लाई करे",
53
53
  "Reply to Message": "",
54
- "Resend": "",
54
+ "Resend": "पुन: भेजें",
55
55
  "Search GIFs": "",
56
- "Select More Photos": "अधिक फ़ोटो चुनें",
56
+ "Select More Photos": "",
57
57
  "Send a message": "",
58
58
  "Sending links is not allowed in this conversation": "इस बातचीत में लिंक भेजने की अनुमति नहीं है",
59
59
  "Slow mode ON": "",
60
- "The message has been reported to a moderator.": "",
61
- "Thread Reply": "",
62
- "Unblock User": "",
63
- "Unknown User": "अज्ञात उपयोगकर्ता",
64
- "Unmute User": "",
65
- "Unpin from Conversation": "",
66
- "Unread Messages": "अपठित संदेश",
67
- "Video": "",
60
+ "The message has been reported to a moderator.": "संदेश एक मॉडरेटर को सूचित किया गया है।",
61
+ "Thread Reply": "धागा जवाब",
62
+ "Unblock User": "उपयोगकर्ता को अनब्लॉक करें",
63
+ "Unknown User": "",
64
+ "Unmute User": "उपयोगकर्ता को अनम्यूट करें",
65
+ "Unpin from Conversation": "बातचीत से अनपिन करें",
66
+ "Unread Messages": "",
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": "",
71
- "{{ index }} of {{ photoLength }}": "{{ index }} / {{ photoLength }}",
72
- "{{ replyCount }} Replies": "{{ replyCount }} रिप्लाई",
71
+ "{{ index }} of {{ photoLength }}": "",
72
+ "{{ replyCount }} Replies": "",
73
73
  "{{ replyCount }} Thread Replies": "{{ replyCount }}} थ्रेड उत्तर",
74
74
  "{{ user }} is typing": "",
75
75
  "🏙 Attachment...": ""
@@ -1,30 +1,30 @@
1
1
  {
2
- "1 Reply": "1 Risposta",
2
+ "1 Reply": "",
3
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
- "Also send to channel": "Invia anche al canale",
7
- "Are you sure you want to permanently delete this message?": "",
8
- "Block User": "",
9
- "Cancel": "",
10
- "Cannot Flag Message": "",
11
- "Copy Message": "",
12
- "Delete": "",
13
- "Delete Message": "",
14
- "Device camera is used to take photos or videos.": "La fotocamera del dispositivo viene utilizzata per scattare foto o video.",
15
- "Do you want to send a copy of this message to a moderator for further investigation?": "",
16
- "Edit Message": "",
17
- "Editing Message": "Modificando il Messaggio",
4
+ "Allow access to your Gallery": "",
5
+ "Allow camera access in device settings": "",
6
+ "Also send to channel": "",
7
+ "Are you sure you want to permanently delete this message?": "Sei sicuro di voler eliminare definitivamente questo messaggio?",
8
+ "Block User": "Blocca Utente",
9
+ "Cancel": "Annulla",
10
+ "Cannot Flag Message": "Impossibile Segnalare Messaggio",
11
+ "Copy Message": "Copia Messaggio",
12
+ "Delete": "Elimina",
13
+ "Delete Message": "Cancella il Messaggio",
14
+ "Device camera is used to take photos or videos.": "",
15
+ "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?",
16
+ "Edit Message": "Modifica Messaggio",
17
+ "Editing Message": "",
18
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": "",
25
- "Flag": "",
26
- "Flag Message": "",
27
- "Flag action failed either due to a network issue or the message is already flagged": "",
24
+ "File type not supported": "Tipo di file non supportato",
25
+ "Flag": "Contrassegna",
26
+ "Flag Message": "Contrassegna Messaggio",
27
+ "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.",
28
28
  "How about sending your first message to a friend?": "",
29
29
  "Instant Commands": "",
30
30
  "Let's start chatting!": "",
@@ -33,43 +33,43 @@
33
33
  "Loading messages...": "",
34
34
  "Loading...": "",
35
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
- "Message Reactions": "Reazioni ai Messaggi",
36
+ "Message Reactions": "",
37
37
  "Message deleted": "",
38
- "Message flagged": "",
39
- "Mute User": "",
38
+ "Message flagged": "Messaggio contrassegnato",
39
+ "Mute User": "Utente Muto",
40
40
  "Not supported": "",
41
41
  "Nothing yet...": "",
42
- "Ok": "",
42
+ "Ok": "Ok",
43
43
  "Only visible to you": "Visibile solo a te",
44
- "Open Settings": "Apri Impostazioni",
45
- "Photo": "",
46
- "Photos and Videos": "Foto e Video",
47
- "Pin to Conversation": "",
48
- "Pinned by": "Fissato da",
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.",
44
+ "Open Settings": "",
45
+ "Photo": "Foto",
46
+ "Photos and Videos": "",
47
+ "Pin to Conversation": "Metti in evidenza",
48
+ "Pinned by": "",
49
+ "Please enable access to your photos and videos so you can share them.": "",
50
50
  "Please select a channel first": "Seleziona un canale",
51
51
  "Reconnecting...": "",
52
- "Reply": "",
52
+ "Reply": "Rispondi",
53
53
  "Reply to Message": "",
54
- "Resend": "",
54
+ "Resend": "Invia di nuovo",
55
55
  "Search GIFs": "",
56
- "Select More Photos": "Seleziona Altre foto",
56
+ "Select More Photos": "",
57
57
  "Send a message": "",
58
58
  "Sending links is not allowed in this conversation": "L'invio di link non è consentito in questa conversazione",
59
59
  "Slow mode ON": "",
60
- "The message has been reported to a moderator.": "",
61
- "Thread Reply": "",
62
- "Unblock User": "",
63
- "Unknown User": "Utente sconosciuto",
64
- "Unmute User": "",
65
- "Unpin from Conversation": "",
66
- "Unread Messages": "Messaggi non letti",
67
- "Video": "",
60
+ "The message has been reported to a moderator.": "Il messaggio è stato segnalato a un moderatore.",
61
+ "Thread Reply": "Rispondi alla Discussione",
62
+ "Unblock User": "Sblocca utente",
63
+ "Unknown User": "",
64
+ "Unmute User": "Riattiva utente",
65
+ "Unpin from Conversation": "Rimuovi dagli elementi in evidenza",
66
+ "Unread Messages": "",
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": "",
71
- "{{ index }} of {{ photoLength }}": "{{ index }} di {{ photoLength }}",
72
- "{{ replyCount }} Replies": "{{ replyCount }} Risposte",
71
+ "{{ index }} of {{ photoLength }}": "",
72
+ "{{ replyCount }} Replies": "",
73
73
  "{{ replyCount }} Thread Replies": "{{replyCount}} Risposte alle Conversazione",
74
74
  "{{ user }} is typing": "",
75
75
  "🏙 Attachment...": ""