whyuzeim 1.1.99 → 1.1.100

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 (59) hide show
  1. package/cjs/AddMember/index.js +5 -2
  2. package/cjs/ChatBox/index.js +13 -8
  3. package/cjs/GroupDetail/GroupDetailEditView/index.js +8 -5
  4. package/cjs/GroupDetail/GroupShareView/index.js +9 -4
  5. package/cjs/GroupDetail/image/icon_translation.svg.js +5 -0
  6. package/cjs/GroupDetail/index.js +8 -3
  7. package/cjs/HighlyCustomChat/index.js +9 -4
  8. package/cjs/IM/index.d.ts +3 -0
  9. package/cjs/IM/index.js +9 -3
  10. package/cjs/NoData/index.js +7 -2
  11. package/cjs/Sidebar/CreateGroup/index.js +7 -4
  12. package/cjs/Sidebar/CustomConversationItem/OperateBtn/index.js +11 -8
  13. package/cjs/Sidebar/GroupList/OperateBtn/index.js +10 -6
  14. package/cjs/Sidebar/GroupList/index.js +11 -4
  15. package/cjs/Sidebar/Searchbox/index.js +8 -3
  16. package/cjs/Sidebar/index.js +10 -7
  17. package/cjs/TypeItem/OperateBtn/index.d.ts +1 -0
  18. package/cjs/TypeItem/OperateBtn/index.js +56 -86
  19. package/cjs/UserProfile/index.js +5 -2
  20. package/cjs/contexts/LocaleContext.d.ts +1 -1
  21. package/cjs/contexts/LocaleContext.js +12 -2
  22. package/cjs/index.d.ts +3 -0
  23. package/cjs/index.js +12 -0
  24. package/cjs/locales/index.d.ts +2 -0
  25. package/cjs/locales/index.js +14 -0
  26. package/cjs/locales/ja.d.ts +153 -0
  27. package/cjs/locales/ja.js +156 -0
  28. package/cjs/locales/ko.d.ts +153 -0
  29. package/cjs/locales/ko.js +156 -0
  30. package/es/AddMember/index.js +5 -2
  31. package/es/ChatBox/index.js +13 -8
  32. package/es/GroupDetail/GroupDetailEditView/index.js +8 -5
  33. package/es/GroupDetail/GroupShareView/index.js +9 -4
  34. package/es/GroupDetail/image/icon_translation.svg.js +3 -0
  35. package/es/GroupDetail/index.js +8 -3
  36. package/es/HighlyCustomChat/index.js +9 -4
  37. package/es/IM/index.d.ts +3 -0
  38. package/es/IM/index.js +9 -3
  39. package/es/NoData/index.js +7 -2
  40. package/es/Sidebar/CreateGroup/index.js +7 -4
  41. package/es/Sidebar/CustomConversationItem/OperateBtn/index.js +11 -8
  42. package/es/Sidebar/GroupList/OperateBtn/index.js +10 -6
  43. package/es/Sidebar/GroupList/index.js +11 -4
  44. package/es/Sidebar/Searchbox/index.js +8 -3
  45. package/es/Sidebar/index.js +10 -7
  46. package/es/TypeItem/OperateBtn/index.d.ts +1 -0
  47. package/es/TypeItem/OperateBtn/index.js +63 -93
  48. package/es/UserProfile/index.js +5 -2
  49. package/es/contexts/LocaleContext.d.ts +1 -1
  50. package/es/contexts/LocaleContext.js +12 -2
  51. package/es/index.d.ts +3 -0
  52. package/es/index.js +5 -0
  53. package/es/locales/index.d.ts +2 -0
  54. package/es/locales/index.js +9 -0
  55. package/es/locales/ja.d.ts +153 -0
  56. package/es/locales/ja.js +154 -0
  57. package/es/locales/ko.d.ts +153 -0
  58. package/es/locales/ko.js +154 -0
  59. package/package.json +1 -1
@@ -16,9 +16,12 @@ var index$1 = require('../TypeItem/index.js');
16
16
  var context = require('../IM/context.js');
17
17
  var antd = require('antd');
18
18
  var useDebounce = require('use-debounce');
19
+ var LocaleContext = require('../contexts/LocaleContext.js');
19
20
  require('./style/index.scss');
20
21
 
21
22
  var AddMember = function AddMember() {
23
+ var _useTranslation = LocaleContext.useTranslation(),
24
+ t = _useTranslation.t;
22
25
  var _useContext = React.useContext(context.Context),
23
26
  setRightComponent = _useContext.setRightComponent;
24
27
  var _useState = React.useState(""),
@@ -123,11 +126,11 @@ var AddMember = function AddMember() {
123
126
  type: "primary",
124
127
  onClick: handleDebouncdAddMember,
125
128
  loading: loading
126
- }, "Confirm")), /*#__PURE__*/React.createElement("div", {
129
+ }, t('common.confirm'))), /*#__PURE__*/React.createElement("div", {
127
130
  className: "yuze-addMember-member p-4"
128
131
  }, /*#__PURE__*/React.createElement("span", {
129
132
  className: "block text-center"
130
- }, "Member"), /*#__PURE__*/React.createElement(index, {
133
+ }, t('common.member')), /*#__PURE__*/React.createElement(index, {
131
134
  className: "yuze-searchBox-list-content p-4",
132
135
  keyword: keyword,
133
136
  groupId: "",
@@ -26,10 +26,13 @@ var index$1 = require('../AddMember/index.js');
26
26
  var tools = require('../tools.js');
27
27
  var avatar_default = require('../Icon/avatar_default.svg.js');
28
28
  var index = require('../HighlyCustomChat/index.js');
29
+ var LocaleContext = require('../contexts/LocaleContext.js');
29
30
 
30
31
  function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
31
32
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context5, _context6; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context5 = ownKeys(Object(t), true)).call(_context5, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context6 = ownKeys(Object(t))).call(_context6, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
32
33
  var Chatbox = function Chatbox(props) {
34
+ var _useTranslation = LocaleContext.useTranslation(),
35
+ t = _useTranslation.t;
33
36
  var client = agoraChatUikit.useClient();
34
37
  var _useContext = React.useContext(context.Context),
35
38
  http = _useContext.http,
@@ -274,7 +277,7 @@ var Chatbox = function Chatbox(props) {
274
277
  onClick: function onClick() {
275
278
  antd.Modal.destroyAll();
276
279
  }
277
- }, "Close"), /*#__PURE__*/React.createElement(antd.Button, {
280
+ }, t('common.close')), /*#__PURE__*/React.createElement(antd.Button, {
278
281
  type: "primary",
279
282
  className: "flex-1",
280
283
  size: "large",
@@ -282,7 +285,7 @@ var Chatbox = function Chatbox(props) {
282
285
  setIsTopMenuOpen(false);
283
286
  leaveGroup(agoraChatUikit.rootStore.conversationStore.currentCvs.conversationId);
284
287
  }
285
- }, "Confirm"))
288
+ }, t('common.confirm')))
286
289
  });
287
290
  case 2:
288
291
  case "end":
@@ -347,7 +350,7 @@ var Chatbox = function Chatbox(props) {
347
350
  setRightComponent && setRightComponent(/*#__PURE__*/React.createElement(index$1, null));
348
351
  setIsTopMenuOpen(false);
349
352
  }
350
- }, "Add Members"), /*#__PURE__*/React.createElement("li", {
353
+ }, t('group.addMember')), /*#__PURE__*/React.createElement("li", {
351
354
  className: "".concat(theme === "light" ? "im-light yuze-li" : "im-dark yuze-li"),
352
355
  onClick: function onClick() {
353
356
  var cvs = agoraChatUikit.rootStore.conversationStore.currentCvs;
@@ -359,7 +362,7 @@ var Chatbox = function Chatbox(props) {
359
362
  });
360
363
  setIsTopMenuOpen(false);
361
364
  }
362
- }, "Clear Messages"), /*#__PURE__*/React.createElement("li", {
365
+ }, t('conversation.clearMessages')), /*#__PURE__*/React.createElement("li", {
363
366
  className: "".concat(theme === "light" ? "im-light yuze-li" : "im-dark yuze-li"),
364
367
  onClick: function onClick() {
365
368
  setIsTopMenuOpen(false);
@@ -372,13 +375,13 @@ var Chatbox = function Chatbox(props) {
372
375
  });
373
376
  setMidComponent && setMidComponent(undefined);
374
377
  }
375
- }, "Delete Chat"), agoraChatUikit.rootStore.conversationStore.currentCvs.chatType === "groupChat" && /*#__PURE__*/React.createElement("li", {
378
+ }, t('conversation.deleteChat')), agoraChatUikit.rootStore.conversationStore.currentCvs.chatType === "groupChat" && /*#__PURE__*/React.createElement("li", {
376
379
  className: "".concat(theme === "light" ? "im-light yuze-li" : "im-dark yuze-li"),
377
380
  onClick: function onClick() {
378
381
  setIsTopMenuOpen(false);
379
382
  handleConfirmRemove();
380
383
  }
381
- }, "Leave Group"));
384
+ }, t('group.leaveGroup')));
382
385
  return /*#__PURE__*/React.createElement("div", {
383
386
  className: "flex h-[64px] items-center bg-[var(--im-main-backgroundColor)] pl-4 pr-4 justify-between"
384
387
  }, /*#__PURE__*/React.createElement("div", {
@@ -410,7 +413,9 @@ var Chatbox = function Chatbox(props) {
410
413
  color: "var(--im-third-fontColor)"
411
414
  },
412
415
  className: "text-sm"
413
- }, headerInfo.memberCount, " members"))), mobile && /*#__PURE__*/React.createElement("div", {
416
+ }, t('group.memberCount', {
417
+ count: headerInfo.memberCount
418
+ })))), mobile && /*#__PURE__*/React.createElement("div", {
414
419
  className: "flex flex-col ellipsis text-[var(--im-main-fontColor)] text-base font-semibold",
415
420
  onClick: function onClick() {
416
421
  return props.onClickHeaderBack({
@@ -607,7 +612,7 @@ var Chatbox = function Chatbox(props) {
607
612
  cuiScrollList = document.querySelector(".cui-messageList .cui-scrollList div");
608
613
  cuiScrollListWrap = document.querySelector(".cui-messageList .cui-scrollList");
609
614
  if (cuiScrollList) {
610
- htmlString = "<div id=\"agent-generating-loader\" class=\"cui-messageList-msgItem\"><div><div class=\"thread-container\"><div id=\"1393207307050949578\" class=\"cui-message-base cui-message-base-left cui-message-base-hasAvatar cui-message-base-secondly cui-message-base-square cui-message-base-dark\"><img src=\"/icon/im/avatar_default.svg\" class=\"w-[48px] h-[48px] rounded-full overflow-hidden object-fit\"><div class=\"cui-message-base-box\"><div class=\"cui-message-base-info\"></div><div class=\"cui-message-base-body\"><div class=\"cui-message-base-content\" style=\"background: var(--im-msg-bubble-color-left); border-radius: 9px; padding: 10px 12px; color: var(--im-msg-bubble-font-color);\"><div style=\"display:flex;align-items:center\"><div class=\"generating-loader-wrap\"><div class=\"generating-loader\"></div></div><span class=\"cui-message-text\">Generating</span></div></div><div class=\"cui-message-base-time-and-status-box\"><span class=\"cui-message-status cui-message-status-icon\"></span><span class=\"cui-message-base-time\"></span></div></div></div></div></div></div><div class=\"cui-modal-root\"><div tabindex=\"-1\" class=\"cui-modal-wrap modify-message-modal\" style=\"display: none;\"></div></div></div>";
615
+ htmlString = "<div id=\"agent-generating-loader\" class=\"cui-messageList-msgItem\"><div><div class=\"thread-container\"><div id=\"1393207307050949578\" class=\"cui-message-base cui-message-base-left cui-message-base-hasAvatar cui-message-base-secondly cui-message-base-square cui-message-base-dark\"><img src=\"/icon/im/avatar_default.svg\" class=\"w-[48px] h-[48px] rounded-full overflow-hidden object-fit\"><div class=\"cui-message-base-box\"><div class=\"cui-message-base-info\"></div><div class=\"cui-message-base-body\"><div class=\"cui-message-base-content\" style=\"background: var(--im-msg-bubble-color-left); border-radius: 9px; padding: 10px 12px; color: var(--im-msg-bubble-font-color);\"><div style=\"display:flex;align-items:center\"><div class=\"generating-loader-wrap\"><div class=\"generating-loader\"></div></div><span class=\"cui-message-text\">".concat(t('common.generating'), "</span></div></div><div class=\"cui-message-base-time-and-status-box\"><span class=\"cui-message-status cui-message-status-icon\"></span><span class=\"cui-message-base-time\"></span></div></div></div></div></div></div><div class=\"cui-modal-root\"><div tabindex=\"-1\" class=\"cui-modal-wrap modify-message-modal\" style=\"display: none;\"></div></div></div>");
611
616
  template = document.createElement('template');
612
617
  template.innerHTML = _trimInstanceProperty(htmlString).call(htmlString);
613
618
  node = template.content.firstChild;
@@ -18,11 +18,14 @@ var context = require('../../IM/context.js');
18
18
  var antd = require('antd');
19
19
  require('../../IM/style/index.scss');
20
20
  var agoraChatUikit = require('agora-chat-uikit');
21
+ var LocaleContext = require('../../contexts/LocaleContext.js');
21
22
 
22
23
  function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
24
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context5, _context6; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context5 = ownKeys(Object(t), true)).call(_context5, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context6 = ownKeys(Object(t))).call(_context6, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
24
25
  var GroupDetailEditView = function GroupDetailEditView(props) {
25
26
  var _props$groupInfo$head, _props$groupInfo, _props$groupInfo$name, _props$groupInfo2, _props$groupInfo3, _context4;
27
+ var _useTranslation = LocaleContext.useTranslation(),
28
+ t = _useTranslation.t;
26
29
  var _useState = React.useState({
27
30
  imageUrl: (_props$groupInfo$head = (_props$groupInfo = props.groupInfo) === null || _props$groupInfo === void 0 ? void 0 : _props$groupInfo.headimgurl) !== null && _props$groupInfo$head !== void 0 ? _props$groupInfo$head : '',
28
31
  // 群组头像 URL
@@ -205,7 +208,7 @@ var GroupDetailEditView = function GroupDetailEditView(props) {
205
208
  d: "M6 18L18 6M6 6l12 12"
206
209
  }))), /*#__PURE__*/React.createElement("span", {
207
210
  className: "ml-2 text-[var(--im-main-fontColor)]"
208
- }, "Edit")), /*#__PURE__*/React.createElement("div", {
211
+ }, t('common.edit'))), /*#__PURE__*/React.createElement("div", {
209
212
  className: "my-10"
210
213
  }, /*#__PURE__*/React.createElement("div", {
211
214
  className: "flex justify-center"
@@ -235,11 +238,11 @@ var GroupDetailEditView = function GroupDetailEditView(props) {
235
238
  className: "w-20 h-20 rounded-lg bg-black-60 flex items-center justify-center"
236
239
  }, /*#__PURE__*/React.createElement("span", {
237
240
  className: "text-[var(--im-main-fontColor)]"
238
- }, "Upload Avatar")))))), /*#__PURE__*/React.createElement("div", {
241
+ }, t('group.uploadAvatar'))))))), /*#__PURE__*/React.createElement("div", {
239
242
  className: "gap-2 flex flex-col mt-4 gap-2 mx-4"
240
243
  }, /*#__PURE__*/React.createElement("span", {
241
244
  className: "text-[var(--im-seven-fontColor)] text-sm font-normal"
242
- }, "Group Name"), /*#__PURE__*/React.createElement("div", {
245
+ }, t('group.groupName')), /*#__PURE__*/React.createElement("div", {
243
246
  className: "w-full min-h-12 px-4 py-3 rounded-sm bg-[var(--im-main-bg-ten)]"
244
247
  }, /*#__PURE__*/React.createElement("div", {
245
248
  ref: nameInputRef,
@@ -250,7 +253,7 @@ var GroupDetailEditView = function GroupDetailEditView(props) {
250
253
  className: "gap-2 flex flex-col mt-4 mx-4"
251
254
  }, /*#__PURE__*/React.createElement("span", {
252
255
  className: "text-[var(--im-seven-fontColor)] text-sm font-normal"
253
- }, "Description"), /*#__PURE__*/React.createElement("div", {
256
+ }, t('common.description')), /*#__PURE__*/React.createElement("div", {
254
257
  className: "w-full min-h-12 px-4 py-3 rounded-sm bg-[var(--im-main-bg-ten)]"
255
258
  }, /*#__PURE__*/React.createElement("div", {
256
259
  ref: descriptionInputRef,
@@ -260,7 +263,7 @@ var GroupDetailEditView = function GroupDetailEditView(props) {
260
263
  }))), /*#__PURE__*/React.createElement("div", {
261
264
  className: "mt-4 mx-4 p-4 h-12 text-center text-base leading-normal font-semibold rounded-md cursor-pointer text-[var(--im-six-fontColor)] bg-[var(--im-green)] ".concat(_trimInstanceProperty(_context4 = groupForm.name).call(_context4) === '' ? 'opacity-50' : ''),
262
265
  onClick: saveGroupInfo
263
- }, "Save"));
266
+ }, t('common.save')));
264
267
  };
265
268
 
266
269
  module.exports = GroupDetailEditView;
@@ -8,8 +8,11 @@ var React = require('react');
8
8
  var context = require('../../IM/context.js');
9
9
  require('../../IM/style/index.scss');
10
10
  var agoraChatUikit = require('agora-chat-uikit');
11
+ var LocaleContext = require('../../contexts/LocaleContext.js');
11
12
 
12
13
  var GroupShareView = function GroupShareView(props) {
14
+ var _useTranslation = LocaleContext.useTranslation(),
15
+ t = _useTranslation.t;
13
16
  var _useContext = React.useContext(context.Context),
14
17
  http = _useContext.http,
15
18
  userInfo = _useContext.userInfo;
@@ -117,9 +120,9 @@ var GroupShareView = function GroupShareView(props) {
117
120
  d: "M6 18L18 6M6 6l12 12"
118
121
  }))), /*#__PURE__*/React.createElement("span", {
119
122
  className: "ml-2 text-[var(--im-main-fontColor)]"
120
- }, "Share")), /*#__PURE__*/React.createElement("p", {
123
+ }, t('group.share'))), /*#__PURE__*/React.createElement("p", {
121
124
  className: "text-[var(--im-main-fontColor)] text-base font-semibold text-center pt-6 px-4 pb-2.5 border-b border-[var(--im-main-bg-ten)]"
122
- }, "Groups"), /*#__PURE__*/React.createElement("div", {
125
+ }, t('group.groups')), /*#__PURE__*/React.createElement("div", {
123
126
  className: "flex flex-col mt-3 mx-4 gap-4 overflow-y-auto flex-1 min-h-0 pb-5 no-scrollbar"
124
127
  }, _mapInstanceProperty(groupList).call(groupList, function (groupinfo, index) {
125
128
  var _groupinfo$name, _groupinfo$members;
@@ -140,11 +143,13 @@ var GroupShareView = function GroupShareView(props) {
140
143
  className: "text-[var(--im-main-fontColor)] text-base font-semibold font-['Inter'] leading-normal"
141
144
  }, (_groupinfo$name = groupinfo === null || groupinfo === void 0 ? void 0 : groupinfo.name) !== null && _groupinfo$name !== void 0 ? _groupinfo$name : '-'), /*#__PURE__*/React.createElement("span", {
142
145
  className: "text-[var(--im-third-fontColor)] text-sm font-normal font-['Inter'] leading-snug"
143
- }, (_groupinfo$members = groupinfo === null || groupinfo === void 0 ? void 0 : groupinfo.members) !== null && _groupinfo$members !== void 0 ? _groupinfo$members : 0, " members"))), /*#__PURE__*/React.createElement("div", {
146
+ }, t('group.memberCount', {
147
+ count: (_groupinfo$members = groupinfo === null || groupinfo === void 0 ? void 0 : groupinfo.members) !== null && _groupinfo$members !== void 0 ? _groupinfo$members : 0
148
+ })))), /*#__PURE__*/React.createElement("div", {
144
149
  className: "flex flex-shrink-0 items-center justify-center w-14 h-6 text-center bg-gradient-to-r from-[#9cff1e] via-[#9cff1e] to-[#9cff1e] rounded"
145
150
  }, /*#__PURE__*/React.createElement("span", {
146
151
  className: " text-[var(--im-six-fontColor)] text-xs font-medium leading-normal"
147
- }, "Share")));
152
+ }, t('group.share'))));
148
153
  })));
149
154
  };
150
155
 
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+
3
+ var img = "data:image/svg+xml,%3csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M2.02273 10C2.02273 5.59427 5.59427 2.02273 10 2.02273C12.7648 2.02273 15.2025 3.42934 16.6342 5.56818H15.3182V7.34091H19.75V2.90909H17.9773V4.39303C16.2134 1.88804 13.2987 0.25 10 0.25C4.61522 0.25 0.25 4.61522 0.25 10H2.02273Z' fill='white' fill-opacity='0.4'/%3e%3cpath d='M9.99995 19.75C15.3847 19.75 19.75 15.3848 19.75 10H17.9772C17.9772 14.4057 14.4057 17.9773 9.99995 17.9773C7.23516 17.9773 4.79749 16.5707 3.36579 14.4318H4.68182V12.6591H0.25V17.0909H2.02273V15.607C3.7866 18.112 6.70132 19.75 9.99995 19.75Z' fill='white' fill-opacity='0.4'/%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.30758 5.23249L6.40385 13.4225C6.37904 13.5052 6.40799 13.5466 6.49072 13.5466H8.11631C8.19904 13.5466 8.25281 13.5052 8.27763 13.4225L8.74917 11.9458H11.7025L12.1865 13.4225C12.2113 13.5052 12.2651 13.5466 12.3478 13.5466H13.961C14.0437 13.5466 14.0727 13.5052 14.0479 13.4225L11.1938 5.23249C11.1689 5.14976 11.1152 5.1084 11.0324 5.1084H9.4689C9.38617 5.1084 9.3324 5.14976 9.30758 5.23249ZM11.2062 10.3947H9.25795L10.2134 7.44131H10.2507L11.2062 10.3947Z' fill='white' fill-opacity='0.4'/%3e%3c/svg%3e";
4
+
5
+ module.exports = img;
@@ -14,12 +14,15 @@ var ic_group_edit = require('./image/ic_group_edit.svg.js');
14
14
  var ic_messages = require('./image/ic_messages.svg.js');
15
15
  var index$2 = require('../TypeItem/index.js');
16
16
  var context = require('../IM/context.js');
17
+ var LocaleContext = require('../contexts/LocaleContext.js');
17
18
  require('./style/index.scss');
18
19
  var index = require('./GroupDetailEditView/index.js');
19
20
  var index$1 = require('./GroupShareView/index.js');
20
21
 
21
22
  var GroupDetail = function GroupDetail(props) {
22
23
  var _groupInfo$sendbirdid;
24
+ var _useTranslation = LocaleContext.useTranslation(),
25
+ t = _useTranslation.t;
23
26
  var _useContext = React.useContext(context.Context),
24
27
  http = _useContext.http,
25
28
  mobile = _useContext.mobile,
@@ -180,7 +183,7 @@ var GroupDetail = function GroupDetail(props) {
180
183
  }
181
184
  })), /*#__PURE__*/React.createElement("span", {
182
185
  className: "text-base"
183
- }, "Profile")), /*#__PURE__*/React.createElement("div", {
186
+ }, t('common.profile'))), /*#__PURE__*/React.createElement("div", {
184
187
  className: classNames("yuze-groupDetail-header-right")
185
188
  }, ((groupInfo === null || groupInfo === void 0 ? void 0 : groupInfo.roletype) === 1 || (groupInfo === null || groupInfo === void 0 ? void 0 : groupInfo.roletype) === 2) && /*#__PURE__*/React.createElement("img", {
186
189
  onClick: function onClick() {
@@ -211,11 +214,13 @@ var GroupDetail = function GroupDetail(props) {
211
214
  className: "text-base mt-1"
212
215
  }, groupInfo === null || groupInfo === void 0 ? void 0 : groupInfo.name), /*#__PURE__*/React.createElement("span", {
213
216
  className: "text-base text-[var(--im-third-fontColor)] font-normal mt-2"
214
- }, groupInfo === null || groupInfo === void 0 ? void 0 : groupInfo.members, " members"))), /*#__PURE__*/React.createElement("div", {
217
+ }, t('group.memberCount', {
218
+ count: groupInfo === null || groupInfo === void 0 ? void 0 : groupInfo.members
219
+ })))), /*#__PURE__*/React.createElement("div", {
215
220
  className: "yuze-groupDetail-member p-4"
216
221
  }, /*#__PURE__*/React.createElement("span", {
217
222
  className: "block text-center"
218
- }, "Member"), /*#__PURE__*/React.createElement("div", {
223
+ }, t('common.member')), /*#__PURE__*/React.createElement("div", {
219
224
  className: "yuze-groupDetail-member-list pt-4"
220
225
  }, _mapInstanceProperty(memberList).call(memberList, function (item) {
221
226
  return /*#__PURE__*/React.createElement(index$2, {
@@ -34,11 +34,14 @@ var index = require('./AIReportMsg/index.js');
34
34
  var index$3 = require('./ ShareMsg/index.js');
35
35
  var classNames = require('classnames');
36
36
  require('highlight.js/styles/night-owl.css');
37
+ var LocaleContext = require('../contexts/LocaleContext.js');
37
38
 
38
39
  function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
39
40
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context4, _context5; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context4 = ownKeys(Object(t), true)).call(_context4, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context5 = ownKeys(Object(t))).call(_context5, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
40
41
  var HighlyCustomChat = function HighlyCustomChat(props) {
41
42
  var _props$className;
43
+ var _useTranslation = LocaleContext.useTranslation(),
44
+ t = _useTranslation.t;
42
45
  // 设置默认值
43
46
  var client = agoraChatUikit.useClient();
44
47
  var _props$showHeader = props.showHeader,
@@ -349,7 +352,9 @@ var HighlyCustomChat = function HighlyCustomChat(props) {
349
352
  color: "var(--im-third-fontColor)"
350
353
  },
351
354
  className: "text-sm"
352
- }, headerInfo.memberCount, " members"))));
355
+ }, t('group.memberCount', {
356
+ count: headerInfo.memberCount
357
+ })))));
353
358
  };
354
359
  // First define initConversation with useCallback
355
360
  var initConversation = React.useCallback(function () {
@@ -464,7 +469,7 @@ var HighlyCustomChat = function HighlyCustomChat(props) {
464
469
  cuiScrollList = document.querySelector(".cui-messageList .cui-scrollList div");
465
470
  cuiScrollListWrap = document.querySelector(".cui-scrollList");
466
471
  if (cuiScrollList) {
467
- htmlString = "<div id=\"agent-generating-loader\" class=\"cui-messageList-msgItem\"><div><div class=\"thread-container\"><div id=\"1393207307050949578\" class=\"cui-message-base cui-message-base-left cui-message-base-hasAvatar cui-message-base-secondly cui-message-base-square cui-message-base-dark\"><img src=\"/icon/im/avatar_default.svg\" class=\"w-[48px] h-[48px] rounded-full overflow-hidden object-fit\"><div class=\"cui-message-base-box\"><div class=\"cui-message-base-info\"></div><div class=\"cui-message-base-body\"><div class=\"cui-message-base-content\" style=\"background: var(--im-msg-bubble-color-left); border-radius: 9px; padding: 10px 12px; color: var(--im-msg-bubble-font-color);\"><div style=\"display:flex;align-items:center\"><div class=\"generating-loader-wrap\"><div class=\"generating-loader\"></div></div><span class=\"cui-message-text\">Generating</span></div></div><div class=\"cui-message-base-time-and-status-box\"><span class=\"cui-message-status cui-message-status-icon\"></span><span class=\"cui-message-base-time\"></span></div></div></div></div></div></div><div class=\"cui-modal-root\"><div tabindex=\"-1\" class=\"cui-modal-wrap modify-message-modal\" style=\"display: none;\"></div></div></div>";
472
+ htmlString = "<div id=\"agent-generating-loader\" class=\"cui-messageList-msgItem\"><div><div class=\"thread-container\"><div id=\"1393207307050949578\" class=\"cui-message-base cui-message-base-left cui-message-base-hasAvatar cui-message-base-secondly cui-message-base-square cui-message-base-dark\"><img src=\"/icon/im/avatar_default.svg\" class=\"w-[48px] h-[48px] rounded-full overflow-hidden object-fit\"><div class=\"cui-message-base-box\"><div class=\"cui-message-base-info\"></div><div class=\"cui-message-base-body\"><div class=\"cui-message-base-content\" style=\"background: var(--im-msg-bubble-color-left); border-radius: 9px; padding: 10px 12px; color: var(--im-msg-bubble-font-color);\"><div style=\"display:flex;align-items:center\"><div class=\"generating-loader-wrap\"><div class=\"generating-loader\"></div></div><span class=\"cui-message-text\">".concat(t('common.generating'), "</span></div></div><div class=\"cui-message-base-time-and-status-box\"><span class=\"cui-message-status cui-message-status-icon\"></span><span class=\"cui-message-base-time\"></span></div></div></div></div></div></div><div class=\"cui-modal-root\"><div tabindex=\"-1\" class=\"cui-modal-wrap modify-message-modal\" style=\"display: none;\"></div></div></div>");
468
473
  template = document.createElement('template');
469
474
  template.innerHTML = _trimInstanceProperty(htmlString).call(htmlString);
470
475
  node = template.content.firstChild;
@@ -523,7 +528,7 @@ var HighlyCustomChat = function HighlyCustomChat(props) {
523
528
  className: "bg-[var(--im-main-backgroundColor)] im-agent-mid ".concat((_props$className = props.className) !== null && _props$className !== void 0 ? _props$className : "", " w-full h-full overflow-hidden flex flex-col")
524
529
  }, loading ? /*#__PURE__*/React.createElement("div", {
525
530
  className: "flex-1 flex items-center justify-center text-gray-500"
526
- }, "Loading...") // 显示加载状态
531
+ }, t('common.loading')) // 显示加载状态
527
532
  : /*#__PURE__*/React.createElement(React.Fragment, null, showHeader === true && customHeader(), showHeader === false && currentConversation && props.renderHeader && props.renderHeader(currentConversation), /*#__PURE__*/React.createElement(agoraChatUikit.MessageList, {
528
533
  className: "w-full flex-1",
529
534
  conversation: {
@@ -543,7 +548,7 @@ var HighlyCustomChat = function HighlyCustomChat(props) {
543
548
  if (!customInputView) {
544
549
  return /*#__PURE__*/React.createElement(agoraChatUikit.MessageInput, _extends({
545
550
  enabledTyping: true,
546
- placeHolder: (currentConversation === null || currentConversation === void 0 ? void 0 : currentConversation.chatType) === 'groupChat' ? "Send a message to group" : "Type a message...",
551
+ placeHolder: (currentConversation === null || currentConversation === void 0 ? void 0 : currentConversation.chatType) === 'groupChat' ? t('conversation.sendMessageToGroup') : t('conversation.typeMessage'),
547
552
  conversation: {
548
553
  conversationId: props.conversationId,
549
554
  chatType: props.chatType
package/cjs/IM/index.d.ts CHANGED
@@ -2,6 +2,7 @@ import React from "react";
2
2
  import { AxiosInstance } from "axios";
3
3
  import { Conversation } from "agora-chat-uikit";
4
4
  import { IUserInfo } from "./context";
5
+ import { Locale } from "../contexts/LocaleContext";
5
6
  import "agora-chat-uikit/style.css";
6
7
  import "./style/index.scss";
7
8
  export type IIMProps = {
@@ -17,6 +18,8 @@ export type IIMProps = {
17
18
  mobile?: boolean;
18
19
  onChatIconClick?: () => void;
19
20
  canSidebarExpand?: boolean;
21
+ locale?: Locale;
22
+ onLocaleChange?: (locale: Locale) => void;
20
23
  additionalConversations?: Conversation[];
21
24
  onAdditionalConversationClick?: (conversation: Conversation) => Promise<boolean>;
22
25
  onRenderConversationItem?: (cvs: Conversation, defaultConversationItemClick: (conversation: Conversation) => void) => React.ReactElement | undefined;
package/cjs/IM/index.js CHANGED
@@ -6,6 +6,7 @@ var classNames = require('classnames');
6
6
  var agoraChatUikit = require('agora-chat-uikit');
7
7
  var context = require('./context.js');
8
8
  var useGetAgoraToken = require('./hooks/useGetAgoraToken.js');
9
+ var LocaleContext = require('../contexts/LocaleContext.js');
9
10
  var index = require('../Exit/index.js');
10
11
  require('agora-chat-uikit/style.css');
11
12
  require('./style/index.scss');
@@ -31,7 +32,9 @@ var IM = function IM(props) {
31
32
  additionalConversations = props.additionalConversations,
32
33
  onAdditionalConversationClick = props.onAdditionalConversationClick,
33
34
  onRenderConversationItem = props.onRenderConversationItem,
34
- canSidebarExpand = props.canSidebarExpand;
35
+ canSidebarExpand = props.canSidebarExpand,
36
+ locale = props.locale,
37
+ onLocaleChange = props.onLocaleChange;
35
38
  window.AGAIN_ENTER_IM_INIT = false;
36
39
  console.log("the useinfo is", userInfo);
37
40
  var agoraToken = useGetAgoraToken.useGetAgoraToken(http, userInfo.uid);
@@ -71,7 +74,10 @@ var IM = function IM(props) {
71
74
  }
72
75
  }));
73
76
  };
74
- return /*#__PURE__*/React.createElement("div", {
77
+ return /*#__PURE__*/React.createElement(LocaleContext.LocaleProvider, {
78
+ locale: locale,
79
+ onLocaleChange: onLocaleChange
80
+ }, /*#__PURE__*/React.createElement("div", {
75
81
  className: classNames("im-".concat(theme), className),
76
82
  style: style
77
83
  }, /*#__PURE__*/React.createElement(context.Context.Provider, {
@@ -135,7 +141,7 @@ var IM = function IM(props) {
135
141
  }
136
142
  }
137
143
  }
138
- }, /*#__PURE__*/React.createElement(index, null), children)));
144
+ }, /*#__PURE__*/React.createElement(index, null), children))));
139
145
  };
140
146
 
141
147
  module.exports = IM;
@@ -4,6 +4,7 @@ var React = require('react');
4
4
  var noData = require('./image/no-data.svg.js');
5
5
  require('./style/index.scss');
6
6
  var classNames = require('classnames');
7
+ var LocaleContext = require('../contexts/LocaleContext.js');
7
8
 
8
9
  /* eslint-disable jsx-a11y/alt-text */
9
10
  /* eslint-disable @next/next/no-img-element */
@@ -11,12 +12,16 @@ var NoData = function NoData(props) {
11
12
  var className = props.className,
12
13
  _props$style = props.style,
13
14
  style = _props$style === void 0 ? {} : _props$style;
15
+ var _useTranslation = LocaleContext.useTranslation(),
16
+ t = _useTranslation.t;
14
17
  return /*#__PURE__*/React.createElement("div", {
15
- className: classNames("yuze-im-noData flex justify-center items-center h-full", className),
18
+ className: classNames("yuze-im-noData flex flex-col justify-center items-center h-full gap-2", className),
16
19
  style: style
17
20
  }, /*#__PURE__*/React.createElement("img", {
18
21
  src: noData
19
- }));
22
+ }), /*#__PURE__*/React.createElement("span", {
23
+ className: "text-sm text-gray-500"
24
+ }, t('common.noData')));
20
25
  };
21
26
 
22
27
  module.exports = NoData;
@@ -20,9 +20,12 @@ require('./style/index.scss');
20
20
  var InfiniteScroll = require('react-infinite-scroll-component');
21
21
  var index$1 = require('../../NoData/index.js');
22
22
  var _ = require('lodash');
23
+ var LocaleContext = require('../../contexts/LocaleContext.js');
23
24
 
24
25
  var CreateGroup = function CreateGroup(props) {
25
26
  var _$uniqBy;
27
+ var _useTranslation = LocaleContext.useTranslation(),
28
+ t = _useTranslation.t;
26
29
  var onClose = props.onClose,
27
30
  _props$open = props.open,
28
31
  open = _props$open === void 0 ? false : _props$open;
@@ -155,7 +158,7 @@ var CreateGroup = function CreateGroup(props) {
155
158
  className: "yuze-createGroup-left-title"
156
159
  }, /*#__PURE__*/React.createElement("span", {
157
160
  className: "text-lg"
158
- }, "New Group")), /*#__PURE__*/React.createElement(agoraChatUikit.Input, {
161
+ }, t('group.newGroup'))), /*#__PURE__*/React.createElement(agoraChatUikit.Input, {
159
162
  className: "my-3",
160
163
  onChange: function onChange(e) {
161
164
  pageRef.current = 0;
@@ -211,7 +214,7 @@ var CreateGroup = function CreateGroup(props) {
211
214
  className: "yuze-createGroup-right-title"
212
215
  }, /*#__PURE__*/React.createElement("span", {
213
216
  className: "text-sm"
214
- }, "Group Member(", member.length, "/2000)")), /*#__PURE__*/React.createElement("div", {
217
+ }, t('group.groupMembers'), "(", member.length, "/2000)")), /*#__PURE__*/React.createElement("div", {
215
218
  className: "yuze-createGroup-right-list overflow-auto"
216
219
  }, /*#__PURE__*/React.createElement("div", {
217
220
  className: "flex flex-row gap-5 py-4 flex-wrap"
@@ -242,7 +245,7 @@ var CreateGroup = function CreateGroup(props) {
242
245
  setMember([]);
243
246
  onClose && onClose();
244
247
  }
245
- }, "Close"), /*#__PURE__*/React.createElement(antd.Button, {
248
+ }, t('common.close')), /*#__PURE__*/React.createElement(antd.Button, {
246
249
  type: "primary",
247
250
  className: "flex-1",
248
251
  size: "large",
@@ -250,7 +253,7 @@ var CreateGroup = function CreateGroup(props) {
250
253
  onClick: function onClick() {
251
254
  handleDebounceCreateGroup();
252
255
  }
253
- }, "Create")))));
256
+ }, t('group.createGroup'))))));
254
257
  };
255
258
 
256
259
  module.exports = CreateGroup;
@@ -12,6 +12,7 @@ var agoraChatUikit = require('agora-chat-uikit');
12
12
  var muted = require('./image/muted.svg.js');
13
13
  var logout = require('./image/logout.svg.js');
14
14
  var _delete = require('./image/delete.svg.js');
15
+ var LocaleContext = require('../../../contexts/LocaleContext.js');
15
16
  require('./style/index.scss');
16
17
 
17
18
  var OperateBtn = function OperateBtn(props) {
@@ -30,6 +31,8 @@ var OperateBtn = function OperateBtn(props) {
30
31
  _Modal$useModal2 = _slicedToArray(_Modal$useModal, 2),
31
32
  modal = _Modal$useModal2[0],
32
33
  contextHolder = _Modal$useModal2[1];
34
+ var _useTranslation = LocaleContext.useTranslation(),
35
+ t = _useTranslation.t;
33
36
  var handleMuted = React.useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
34
37
  return _regeneratorRuntime.wrap(function _callee$(_context) {
35
38
  while (1) switch (_context.prev = _context.next) {
@@ -63,7 +66,7 @@ var OperateBtn = function OperateBtn(props) {
63
66
  return modal.confirm({
64
67
  content: /*#__PURE__*/React.createElement("span", {
65
68
  className: "text-sm "
66
- }, "Are you sure you want to delete ?"),
69
+ }, t('conversation.confirmDelete')),
67
70
  footer: /*#__PURE__*/React.createElement("div", {
68
71
  className: "yuze-confirm-footer flex justify-center gap-5 mt-4"
69
72
  }, /*#__PURE__*/React.createElement(antd.Button, {
@@ -73,12 +76,12 @@ var OperateBtn = function OperateBtn(props) {
73
76
  onClick: function onClick() {
74
77
  antd.Modal.destroyAll();
75
78
  }
76
- }, "Close"), /*#__PURE__*/React.createElement(antd.Button, {
79
+ }, t('common.close')), /*#__PURE__*/React.createElement(antd.Button, {
77
80
  type: "primary",
78
81
  className: "flex-1",
79
82
  size: "large",
80
83
  onClick: handleDebounceDelete
81
- }, "Confirm"))
84
+ }, t('common.confirm')))
82
85
  });
83
86
  case 3:
84
87
  case "end":
@@ -100,7 +103,7 @@ var OperateBtn = function OperateBtn(props) {
100
103
  return modal.confirm({
101
104
  content: /*#__PURE__*/React.createElement("span", {
102
105
  className: "text-sm "
103
- }, "Are you sure you want to delete and leave the group ?"),
106
+ }, t('group.confirmLeaveAndDelete')),
104
107
  footer: /*#__PURE__*/React.createElement("div", {
105
108
  className: "yuze-confirm-footer flex justify-center gap-5 mt-4"
106
109
  }, /*#__PURE__*/React.createElement(antd.Button, {
@@ -110,12 +113,12 @@ var OperateBtn = function OperateBtn(props) {
110
113
  onClick: function onClick() {
111
114
  antd.Modal.destroyAll();
112
115
  }
113
- }, "Close"), /*#__PURE__*/React.createElement(antd.Button, {
116
+ }, t('common.close')), /*#__PURE__*/React.createElement(antd.Button, {
114
117
  type: "primary",
115
118
  className: "flex-1",
116
119
  size: "large",
117
120
  onClick: handleDebounceLeave
118
- }, "Confirm"))
121
+ }, t('common.confirm')))
119
122
  });
120
123
  case 3:
121
124
  case "end":
@@ -178,7 +181,7 @@ var OperateBtn = function OperateBtn(props) {
178
181
  className: "yuze-conversationItem-action-img"
179
182
  }), /*#__PURE__*/React.createElement("span", {
180
183
  className: "text-sm"
181
- }, silent ? "Unmuted" : "Muted")), chatType === "groupChat" && /*#__PURE__*/React.createElement("div", {
184
+ }, silent ? t('actions.unmute') : t('actions.mute'))), chatType === "groupChat" && /*#__PURE__*/React.createElement("div", {
182
185
  className: "yuze-conversationList-header-right-tooltip-item flex flex-row items-center gap-3 cursor-pointer",
183
186
  onClick: handleConfirmLeave
184
187
  }, /*#__PURE__*/React.createElement("img", {
@@ -196,7 +199,7 @@ var OperateBtn = function OperateBtn(props) {
196
199
  className: "yuze-conversationItem-action-img"
197
200
  }), /*#__PURE__*/React.createElement("span", {
198
201
  className: "text-sm delete"
199
- }, "Delete Chat")))
202
+ }, t('conversation.deleteChat'))))
200
203
  }, /*#__PURE__*/React.createElement("img", {
201
204
  src: more,
202
205
  className: "cursor-pointer ml-2 yuze-conversationItem-action-img",
@@ -13,6 +13,7 @@ var agoraChatUikit = require('agora-chat-uikit');
13
13
  var muted = require('./image/muted.svg.js');
14
14
  var logout = require('./image/logout.svg.js');
15
15
  var _delete = require('./image/delete.svg.js');
16
+ var LocaleContext = require('../../../contexts/LocaleContext.js');
16
17
  require('./style/index.scss');
17
18
 
18
19
  var OperateBtn = function OperateBtn(props) {
@@ -32,6 +33,8 @@ var OperateBtn = function OperateBtn(props) {
32
33
  _Modal$useModal2 = _slicedToArray(_Modal$useModal, 2),
33
34
  modal = _Modal$useModal2[0],
34
35
  contextHolder = _Modal$useModal2[1];
36
+ var _useTranslation = LocaleContext.useTranslation(),
37
+ t = _useTranslation.t;
35
38
  var handleTooltip = React.useCallback(function (event) {
36
39
  try {
37
40
  var _context;
@@ -82,11 +85,12 @@ var OperateBtn = function OperateBtn(props) {
82
85
  while (1) switch (_context3.prev = _context3.next) {
83
86
  case 0:
84
87
  event.stopPropagation();
85
- _context3.next = 3;
88
+ setTooltipOpen(false);
89
+ _context3.next = 4;
86
90
  return modal.confirm({
87
91
  content: /*#__PURE__*/React.createElement("span", {
88
92
  className: "text-sm "
89
- }, "Are you sure you want to delete ?"),
93
+ }, t('conversation.confirmDelete')),
90
94
  footer: /*#__PURE__*/React.createElement("div", {
91
95
  className: "yuze-confirm-footer flex justify-center gap-5 mt-4"
92
96
  }, /*#__PURE__*/React.createElement(antd.Button, {
@@ -96,14 +100,14 @@ var OperateBtn = function OperateBtn(props) {
96
100
  onClick: function onClick() {
97
101
  antd.Modal.destroyAll();
98
102
  }
99
- }, "Close"), /*#__PURE__*/React.createElement(antd.Button, {
103
+ }, t('common.close')), /*#__PURE__*/React.createElement(antd.Button, {
100
104
  type: "primary",
101
105
  className: "flex-1",
102
106
  size: "large",
103
107
  onClick: handleDebounceDelete
104
- }, "Confirm"))
108
+ }, t('common.confirm')))
105
109
  });
106
- case 3:
110
+ case 4:
107
111
  case "end":
108
112
  return _context3.stop();
109
113
  }
@@ -210,7 +214,7 @@ var OperateBtn = function OperateBtn(props) {
210
214
  className: "yuze-conversationItem-action-img"
211
215
  }), /*#__PURE__*/React.createElement("span", {
212
216
  className: "text-sm"
213
- }, silent ? "Unmuted" : "Muted")), chatType === "groupChat" && /*#__PURE__*/React.createElement("div", {
217
+ }, silent ? t('actions.unmute') : t('actions.mute'))), chatType === "groupChat" && /*#__PURE__*/React.createElement("div", {
214
218
  className: "yuze-conversationList-header-right-tooltip-item flex flex-row items-center gap-3 cursor-pointer",
215
219
  onClick: handleConfirmLeave
216
220
  }, /*#__PURE__*/React.createElement("img", {