@box/threaded-annotations 1.84.5 → 1.84.7

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 (49) hide show
  1. package/dist/chunks/annotation-badge.js +7 -7
  2. package/dist/esm/lib/components/v2/message-editor/hooks/useMentionUserSelection.js +8 -9
  3. package/dist/esm/lib/components/v2/message-editor/message-editor.js +69 -66
  4. package/dist/i18n/bn-IN.js +1 -1
  5. package/dist/i18n/bn-IN.properties +1 -1
  6. package/dist/i18n/da-DK.js +1 -1
  7. package/dist/i18n/da-DK.properties +1 -1
  8. package/dist/i18n/de-DE.js +1 -1
  9. package/dist/i18n/de-DE.properties +1 -1
  10. package/dist/i18n/en-x-pseudo.js +42 -42
  11. package/dist/i18n/en-x-pseudo.properties +42 -42
  12. package/dist/i18n/es-419.js +1 -1
  13. package/dist/i18n/es-419.properties +1 -1
  14. package/dist/i18n/es-ES.js +1 -1
  15. package/dist/i18n/es-ES.properties +1 -1
  16. package/dist/i18n/fi-FI.js +1 -1
  17. package/dist/i18n/fi-FI.properties +1 -1
  18. package/dist/i18n/fr-CA.js +1 -1
  19. package/dist/i18n/fr-CA.properties +1 -1
  20. package/dist/i18n/fr-FR.js +1 -1
  21. package/dist/i18n/fr-FR.properties +1 -1
  22. package/dist/i18n/hi-IN.js +1 -1
  23. package/dist/i18n/hi-IN.properties +1 -1
  24. package/dist/i18n/it-IT.js +1 -1
  25. package/dist/i18n/it-IT.properties +1 -1
  26. package/dist/i18n/ko-KR.js +1 -1
  27. package/dist/i18n/ko-KR.properties +1 -1
  28. package/dist/i18n/nb-NO.js +1 -1
  29. package/dist/i18n/nb-NO.properties +1 -1
  30. package/dist/i18n/nl-NL.js +1 -1
  31. package/dist/i18n/nl-NL.properties +1 -1
  32. package/dist/i18n/pl-PL.js +1 -1
  33. package/dist/i18n/pl-PL.properties +1 -1
  34. package/dist/i18n/pt-BR.js +1 -1
  35. package/dist/i18n/pt-BR.properties +1 -1
  36. package/dist/i18n/ru-RU.js +1 -1
  37. package/dist/i18n/ru-RU.properties +1 -1
  38. package/dist/i18n/sv-SE.js +1 -1
  39. package/dist/i18n/sv-SE.properties +1 -1
  40. package/dist/i18n/tr-TR.js +1 -1
  41. package/dist/i18n/tr-TR.properties +1 -1
  42. package/dist/i18n/zh-CN.js +1 -1
  43. package/dist/i18n/zh-CN.properties +1 -1
  44. package/dist/i18n/zh-TW.js +1 -1
  45. package/dist/i18n/zh-TW.properties +1 -1
  46. package/dist/types/lib/components/v2/message-editor/hooks/useMentionUserSelection.d.ts +6 -1
  47. package/dist/types/lib/components/v2/message-editor/stories/shared.d.ts +6 -1
  48. package/dist/types/lib/v2/types/annotation-badge-types.d.ts +6 -1
  49. package/package.json +12 -12
@@ -20,7 +20,7 @@ import '../styles/annotation-badge.css';var p = {
20
20
  [e.Point]: d,
21
21
  [e.Region]: u
22
22
  }, h = ({ annotationTarget: u, onClick: d, originalContentDeleted: f }) => {
23
- let { formatMessage: h } = s(), g = m[u.type], _ = u.type === e.Highlight, v = f ? "textOnLightSecondary" : "textOnLightLink", y = /* @__PURE__ */ l(n, {
23
+ let { formatMessage: h } = s(), g = m[u.type], _ = f ? "textOnLightSecondary" : "textOnLightLink", v = /* @__PURE__ */ l(n, {
24
24
  className: o(p.annotationBadge, f && p.disabled),
25
25
  "data-testid": "annotation-badge",
26
26
  "data-no-expand": !0,
@@ -29,22 +29,22 @@ import '../styles/annotation-badge.css';var p = {
29
29
  children: [g && /* @__PURE__ */ c(i, {
30
30
  as: "span",
31
31
  className: p.annotationIcon,
32
- color: v,
32
+ color: _,
33
33
  children: /* @__PURE__ */ c(g, {
34
34
  color: "currentColor",
35
35
  height: 16,
36
36
  width: 16
37
37
  })
38
- }), _ ? /* @__PURE__ */ c(i, {
38
+ }), u.type === e.Highlight && u.highlightedText ? /* @__PURE__ */ c(i, {
39
39
  as: "span",
40
40
  className: p.highlightText,
41
- color: v,
41
+ color: _,
42
42
  variant: "bodySmallSemibold",
43
43
  children: u.highlightedText
44
44
  }) : /* @__PURE__ */ c(i, {
45
45
  as: "span",
46
46
  className: p.annotationLabel,
47
- color: v,
47
+ color: _,
48
48
  variant: "bodyDefaultSemibold",
49
49
  children: u.type === e.Frame ? u.timestamp : h(t.annotationPage, { number: u.page })
50
50
  })]
@@ -56,8 +56,8 @@ import '../styles/annotation-badge.css';var p = {
56
56
  children: /* @__PURE__ */ c(r, {
57
57
  className: p.focusableWrapper,
58
58
  "data-no-expand": !0,
59
- children: y
59
+ children: v
60
60
  })
61
- }) : y;
61
+ }) : v;
62
62
  };
63
63
  export { h as t };
@@ -4,15 +4,14 @@ import { v4 as n } from "uuid";
4
4
  var r = (r) => {
5
5
  let { openPopoverForMentionId: i, fetchCollaboratorState: a } = e();
6
6
  return { onUserSelected: t(async (e) => {
7
- if (r) {
8
- let t = n();
9
- r({
10
- mentionedUserName: e.name,
11
- mentionedUserId: e.id.toString(),
12
- mentionedUserEmail: e.email,
13
- mentionId: t
14
- }), (await a?.(e) ?? !1) || i?.(t, e);
15
- }
7
+ if (!r || r.editor.isDestroyed) return;
8
+ let { command: t, editor: o } = r, s = n();
9
+ t({
10
+ mentionedUserName: e.name,
11
+ mentionedUserId: e.id.toString(),
12
+ mentionedUserEmail: e.email,
13
+ mentionId: s
14
+ }), o.commands.focus(), (await a?.(e) ?? !1) || i?.(s, e);
16
15
  }, [
17
16
  r,
18
17
  i,
@@ -3,45 +3,45 @@ import { useMentionContext as t } from "../../mention-component/mention-context.
3
3
  import { CustomMention as n } from "./editor-extensions/custom-mention/custom-mention.js";
4
4
  import { createSuggestionOptions as r } from "./editor-extensions/custom-mention/custom-mention-suggestions.js";
5
5
  import { MENTION_PLUGIN_KEY as i, normalizeMentionPastedText as a, normalizeMentionTextInput as o } from "./editor-extensions/custom-mention/mention-trigger-normalization.js";
6
- import { useMentionState as s } from "./editor-extensions/custom-mention/useMentionState.js";
7
- import { CustomParagraph as ee } from "./editor-extensions/custom-paragraph.js";
6
+ import { useMentionState as ee } from "./editor-extensions/custom-mention/useMentionState.js";
7
+ import { CustomParagraph as s } from "./editor-extensions/custom-paragraph.js";
8
8
  import { useCharacterLimit as te } from "./hooks/useCharacterLimit.js";
9
- import { useEditorContainerState as c } from "./hooks/useEditorContainerState.js";
10
- import { useMentionUserSelection as l } from "./hooks/useMentionUserSelection.js";
11
- import { MessageEditorProvider as u, useMessageEditorContext as d } from "./message-editor-context.js";
12
- import f from "./messages.js";
13
- import { t as p } from "../../../../../chunks/message-editor2.module.js";
14
- import { CharacterLimitCounter as m } from "./subcomponents/character-limit-counter.js";
15
- import { EditButtons as h } from "./subcomponents/edit-buttons.js";
16
- import { ErrorMessage as ne } from "./subcomponents/error-message.js";
17
- import { PostButton as re } from "./subcomponents/post-button.js";
9
+ import { useEditorContainerState as ne } from "./hooks/useEditorContainerState.js";
10
+ import { useMentionUserSelection as re } from "./hooks/useMentionUserSelection.js";
11
+ import { MessageEditorProvider as c, useMessageEditorContext as l } from "./message-editor-context.js";
12
+ import u from "./messages.js";
13
+ import { t as d } from "../../../../../chunks/message-editor2.module.js";
14
+ import { CharacterLimitCounter as f } from "./subcomponents/character-limit-counter.js";
15
+ import { EditButtons as p } from "./subcomponents/edit-buttons.js";
16
+ import { ErrorMessage as m } from "./subcomponents/error-message.js";
17
+ import { PostButton as h } from "./subcomponents/post-button.js";
18
18
  import { MessageEditorVariant as g } from "./message-editor.types.js";
19
- import { VisuallyHidden as ie } from "@box/blueprint-web";
20
- import _ from "clsx";
21
- import { useEffect as v, useRef as y } from "react";
22
- import { useIntl as b } from "react-intl";
23
- import { Fragment as x, jsx as S, jsxs as C } from "react/jsx-runtime";
24
- import { UserSelectorHeadless as ae } from "@box/user-selector";
25
- import { EditorContent as oe, useEditor as se } from "@tiptap/react";
19
+ import { VisuallyHidden as _ } from "@box/blueprint-web";
20
+ import v from "clsx";
21
+ import { useEffect as y, useMemo as b, useRef as x } from "react";
22
+ import { useIntl as ie } from "react-intl";
23
+ import { Fragment as ae, jsx as S, jsxs as C } from "react/jsx-runtime";
24
+ import { UserSelectorHeadless as oe } from "@box/user-selector";
25
+ import { EditorContent as se, useEditor as ce } from "@tiptap/react";
26
26
  import w from "@tiptap/extension-document";
27
27
  import T from "@tiptap/extension-text";
28
28
  import E from "@tiptap/extension-placeholder";
29
- var D = (u) => {
30
- let { disableComponent: D = !1, initialContent: O, isFirstAnnotation: k = !1, maxCharacterCount: A, userSelectorProps: j } = u, M = y(null), N = y(null), P = y(null), F = b(), { errorMessage: I, isLoading: L } = d(), { isActive: R, query: z, command: ce, suggestionCallbacks: B } = s(M), { closeAllPopovers: V } = t(), { onUserSelected: H } = l(ce), U = F.formatMessage(f.placeholder), W = u.variant === g.EDIT_MESSAGE, G = se({
29
+ var D = (c) => {
30
+ let { disableComponent: D = !1, initialContent: O, isFirstAnnotation: k = !1, maxCharacterCount: A, userSelectorProps: j } = c, M = x(null), N = x(null), P = x(null), F = ie(), { errorMessage: I, isLoading: L } = l(), { isActive: R, query: z, command: B, suggestionCallbacks: V } = ee(M), { closeAllPopovers: H } = t(), U = F.formatMessage(u.placeholder), W = c.variant === g.EDIT_MESSAGE, G = ce({
31
31
  extensions: [
32
32
  w,
33
- ee,
33
+ s,
34
34
  E.configure({
35
35
  placeholder: U,
36
36
  showOnlyWhenEditable: !1
37
37
  }),
38
38
  T,
39
- n.configure({ suggestion: r(i, "@", B) })
39
+ n.configure({ suggestion: r(i, "@", V) })
40
40
  ],
41
41
  autofocus: !0,
42
42
  content: O,
43
43
  editorProps: {
44
- attributes: { class: p.editor },
44
+ attributes: { class: d.editor },
45
45
  handleTextInput: o,
46
46
  transformPastedText: a
47
47
  },
@@ -49,12 +49,15 @@ var D = (u) => {
49
49
  P.current = e.view.dom, e.commands.focus("end");
50
50
  },
51
51
  onUpdate: () => {
52
- V?.();
52
+ H?.();
53
53
  }
54
- }), { exceedsSingleLine: le, hasScroll: K, isAtBottom: q } = c(N, G), J = te(G, O, A), Y = W || !k || k && le, ue = !G || G?.isEmpty, X = D || L, Z = (J?.excess ?? 0) > 0, Q = ue || X || Z, $ = J && J.excess > 0 && Y;
55
- v(() => {
54
+ }), { onUserSelected: le } = re(b(() => B && G && !G.isDestroyed ? {
55
+ command: B,
56
+ editor: G
57
+ } : null, [B, G])), { exceedsSingleLine: ue, hasScroll: K, isAtBottom: q } = ne(N, G), J = te(G, O, A), Y = W || !k || k && ue, de = !G || G?.isEmpty, X = D || L, Z = (J?.excess ?? 0) > 0, Q = de || X || Z, $ = J && J.excess > 0 && Y;
58
+ y(() => {
56
59
  G && G.setEditable(!X);
57
- }, [G, X]), v(() => {
60
+ }, [G, X]), y(() => {
58
61
  if (!Z || !N.current || !O) return;
59
62
  let e = 0, t = requestAnimationFrame(() => {
60
63
  e = requestAnimationFrame(() => {
@@ -64,38 +67,38 @@ var D = (u) => {
64
67
  return () => {
65
68
  cancelAnimationFrame(t), cancelAnimationFrame(e);
66
69
  };
67
- }, [Z]), v(() => {
70
+ }, [Z]), y(() => {
68
71
  !G || O === void 0 || queueMicrotask(() => {
69
72
  G.commands.setContent(O ?? "", !1), G.commands.focus("end");
70
73
  });
71
74
  }, [O]);
72
- let de = /* @__PURE__ */ S("div", { className: p.anchorElement });
75
+ let fe = /* @__PURE__ */ S("div", { className: d.anchorElement });
73
76
  return G ? /* @__PURE__ */ S("div", {
74
77
  "data-no-expand": !0,
75
- className: p.messageEditorWrapper,
78
+ className: d.messageEditorWrapper,
76
79
  children: /* @__PURE__ */ C("div", {
77
- className: _(p.messageEditor, {
78
- [p.editorHasScroll]: K,
79
- [p.editorEditMode]: W,
80
- [p.editorError]: I || Z,
81
- [p.editorFirstAnnotation]: !W && k,
82
- [p.editorCharacterLimitExceeded]: Z
80
+ className: v(d.messageEditor, {
81
+ [d.editorHasScroll]: K,
82
+ [d.editorEditMode]: W,
83
+ [d.editorError]: I || Z,
84
+ [d.editorFirstAnnotation]: !W && k,
85
+ [d.editorCharacterLimitExceeded]: Z
83
86
  }),
84
87
  children: [/* @__PURE__ */ C("div", {
85
- className: _(p.editorViewport, { [p.editorFullWidth]: Y }),
88
+ className: v(d.editorViewport, { [d.editorFullWidth]: Y }),
86
89
  children: [/* @__PURE__ */ C("div", {
87
90
  ref: N,
88
- className: p.editorContainer,
89
- "aria-label": F.formatMessage(f.scrollContainerAriaLabel),
90
- children: [/* @__PURE__ */ S(oe, {
91
- "aria-label": F.formatMessage(f.editorContentAriaLabel),
91
+ className: d.editorContainer,
92
+ "aria-label": F.formatMessage(u.scrollContainerAriaLabel),
93
+ children: [/* @__PURE__ */ S(se, {
94
+ "aria-label": F.formatMessage(u.editorContentAriaLabel),
92
95
  editor: G
93
- }), /* @__PURE__ */ S(ae, {
96
+ }), /* @__PURE__ */ S(oe, {
94
97
  ref: M,
95
98
  inputElementRef: P,
96
- onSelectedUserChange: H,
99
+ onSelectedUserChange: le,
97
100
  open: R,
98
- rootElement: de,
101
+ rootElement: fe,
99
102
  value: z,
100
103
  ...j,
101
104
  popoverContentContainerProps: {
@@ -105,55 +108,55 @@ var D = (u) => {
105
108
  }
106
109
  })]
107
110
  }), K && /* @__PURE__ */ S("div", {
108
- className: _(p.editorFade, { [p.editorFadeHidden]: q }),
111
+ className: v(d.editorFade, { [d.editorFadeHidden]: q }),
109
112
  "aria-hidden": "true"
110
113
  })]
111
114
  }), /* @__PURE__ */ S("div", {
112
- className: _(p.actionsWrapper),
115
+ className: v(d.actionsWrapper),
113
116
  children: /* @__PURE__ */ C("div", {
114
- className: _(p.actionsWrapperInner, {
115
- [p.scrolledToBottom]: q,
116
- [p.characterLimitExceeded]: Z
117
+ className: v(d.actionsWrapperInner, {
118
+ [d.scrolledToBottom]: q,
119
+ [d.characterLimitExceeded]: Z
117
120
  }),
118
121
  children: [
119
- I && /* @__PURE__ */ S(ne, { errorMessage: I }),
120
- J && J.excess > 0 && !Y && /* @__PURE__ */ S(ie, {
122
+ I && /* @__PURE__ */ S(m, { errorMessage: I }),
123
+ J && J.excess > 0 && !Y && /* @__PURE__ */ S(_, {
121
124
  role: "alert",
122
- children: F.formatMessage(f.characterLimitExceeded, { excess: J.excess })
125
+ children: F.formatMessage(u.characterLimitExceeded, { excess: J.excess })
123
126
  }),
124
127
  W ? /* @__PURE__ */ C("div", {
125
- className: p.editActionsColumn,
126
- children: [$ && /* @__PURE__ */ S(m, {
128
+ className: d.editActionsColumn,
129
+ children: [$ && /* @__PURE__ */ S(f, {
127
130
  count: J.count,
128
131
  excess: J.excess,
129
132
  maxCount: J.maxCount
130
133
  }), /* @__PURE__ */ S("div", {
131
- className: p.editActionsRow,
132
- children: /* @__PURE__ */ S(h, {
134
+ className: d.editActionsRow,
135
+ children: /* @__PURE__ */ S(p, {
133
136
  disabled: Q,
134
137
  getEditorJsonContent: () => G?.getJSON(),
135
- onCancel: u.onEditCancel,
136
- onEditSuccess: u.onEditSuccess,
137
- onSave: u.onSave,
138
- onSaveError: u.onSaveError
138
+ onCancel: c.onEditCancel,
139
+ onEditSuccess: c.onEditSuccess,
140
+ onSave: c.onSave,
141
+ onSaveError: c.onSaveError
139
142
  })
140
143
  })]
141
- }) : /* @__PURE__ */ C(x, { children: [$ && /* @__PURE__ */ S(m, {
144
+ }) : /* @__PURE__ */ C(ae, { children: [$ && /* @__PURE__ */ S(f, {
142
145
  count: J.count,
143
146
  excess: J.excess,
144
147
  maxCount: J.maxCount
145
- }), /* @__PURE__ */ S(re, {
148
+ }), /* @__PURE__ */ S(h, {
146
149
  cleanEditor: () => G?.commands.setContent(""),
147
150
  disabled: Q,
148
151
  getEditorJsonContent: () => G?.getJSON(),
149
- onPost: u.onPost,
150
- onPostError: u.onPostError,
151
- onPostSuccess: u.onPostSuccess
152
+ onPost: c.onPost,
153
+ onPostError: c.onPostError,
154
+ onPostSuccess: c.onPostSuccess
152
155
  })] })
153
156
  ]
154
157
  })
155
158
  })]
156
159
  })
157
160
  }) : null;
158
- }, O = (e) => /* @__PURE__ */ S(u, { children: /* @__PURE__ */ S(D, { ...e }) });
161
+ }, O = (e) => /* @__PURE__ */ S(c, { children: /* @__PURE__ */ S(D, { ...e }) });
159
162
  export { O as MessageEditor, g as MessageEditorVariant };
@@ -29,7 +29,7 @@ export default {
29
29
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "সংরক্ষণ হচ্ছে...",
30
30
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "মেসেজ এডিটর স্ক্রল কন্টেইনার",
31
31
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "আরও বিকল্প বোতাম",
32
- "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Original content was deleted",
32
+ "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "মূল কন্টেন্ট মুছে ফেলা হয়েছে",
33
33
  "groupSharedFeatures.threadedAnnotations.reply": "উত্তর দিন",
34
34
  "groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel": "উত্তর বোতাম",
35
35
  "groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel": "সমাধান করুন",
@@ -59,7 +59,7 @@ groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel =
59
59
  # Aria label for more options button in annotation message
60
60
  groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel = আরও বিকল্প বোতাম
61
61
  # Tooltip shown when the annotation badge refers to deleted content
62
- groupSharedFeatures.threadedAnnotations.originalContentDeleted = Original content was deleted
62
+ groupSharedFeatures.threadedAnnotations.originalContentDeleted = মূল কন্টেন্ট মুছে ফেলা হয়েছে
63
63
  # Reply button text to start composing a reply
64
64
  groupSharedFeatures.threadedAnnotations.reply = উত্তর দিন
65
65
  # Aria label for the reply button that opens the message editor
@@ -29,7 +29,7 @@ export default {
29
29
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Gemmer...",
30
30
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Rulleområde i meddelelseseditor",
31
31
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "'Flere valgmuligheder'-knap",
32
- "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Original content was deleted",
32
+ "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Oprindeligt indhold blev slettet",
33
33
  "groupSharedFeatures.threadedAnnotations.reply": "Svar",
34
34
  "groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel": "Svar-knap",
35
35
  "groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel": "Løs",
@@ -59,7 +59,7 @@ groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel =
59
59
  # Aria label for more options button in annotation message
60
60
  groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel = 'Flere valgmuligheder'-knap
61
61
  # Tooltip shown when the annotation badge refers to deleted content
62
- groupSharedFeatures.threadedAnnotations.originalContentDeleted = Original content was deleted
62
+ groupSharedFeatures.threadedAnnotations.originalContentDeleted = Oprindeligt indhold blev slettet
63
63
  # Reply button text to start composing a reply
64
64
  groupSharedFeatures.threadedAnnotations.reply = Svar
65
65
  # Aria label for the reply button that opens the message editor
@@ -29,7 +29,7 @@ export default {
29
29
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Wird gespeichert …",
30
30
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Scrollcontainer für den Nachrichten-Bearbeiter",
31
31
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Schaltfläche „Weitere Optionen“",
32
- "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Original content was deleted",
32
+ "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Der ursprüngliche Inhalt wurde gelöscht",
33
33
  "groupSharedFeatures.threadedAnnotations.reply": "Antworten",
34
34
  "groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel": "Schaltfläche „Antworten“",
35
35
  "groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel": "Gelöst",
@@ -59,7 +59,7 @@ groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel =
59
59
  # Aria label for more options button in annotation message
60
60
  groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel = Schaltfläche „Weitere Optionen“
61
61
  # Tooltip shown when the annotation badge refers to deleted content
62
- groupSharedFeatures.threadedAnnotations.originalContentDeleted = Original content was deleted
62
+ groupSharedFeatures.threadedAnnotations.originalContentDeleted = Der ursprüngliche Inhalt wurde gelöscht
63
63
  # Reply button text to start composing a reply
64
64
  groupSharedFeatures.threadedAnnotations.reply = Antworten
65
65
  # Aria label for the reply button that opens the message editor
@@ -1,45 +1,45 @@
1
1
  export default {
2
- "boxui.threadedAnnotations.threadedAnnotationsAriaLabel": "⟦萬萬萬萬萬 Τнŗёāďēď άπņõŧąŧïōņ 國國國國國⟧",
3
- "groupSharedFeatures.threadedAnnotations.annotationMessageAriaLabel": "⟦萬萬萬萬萬 Âňʼnοŧàţіŏň měşѕǻġê 國國國國國⟧",
4
- "groupSharedFeatures.threadedAnnotations.annotationPage": "⟦萬萬 Pāġë {number} 國國⟧",
5
- "groupSharedFeatures.threadedAnnotations.cancelDeleteButtonAriaLabel": "⟦萬萬萬萬萬 Ċáлĉēĺ ďěļéţе ьμţτòŋ 國國國國國⟧",
6
- "groupSharedFeatures.threadedAnnotations.delete": "⟦萬 Ďєļēŧё 國⟧",
7
- "groupSharedFeatures.threadedAnnotations.deleteButtonAriaLabel": "⟦萬萬萬 Ďĕľέťĕ ьúŧŧóй 國國國⟧",
8
- "groupSharedFeatures.threadedAnnotations.deleteCancel": "⟦萬 Ĉάń¢ёľ 國⟧",
9
- "groupSharedFeatures.threadedAnnotations.deleteCommentQuestion": "⟦萬萬萬萬萬萬萬萬萬萬 Ðö γоμ шǻŋţ ŧø ďëĺěŧé ţĥίś сòmmелτ? 國國國國國國國國國國⟧",
10
- "groupSharedFeatures.threadedAnnotations.deleteCommentWithRepliesQuestion": "⟦萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬 Ðєĺëτë ţнϊş ¢ómmέήť àηď гěΡĺīēѕ? Ţнïş ăćτįοņ čăή'ŧ ве ũпďŏиε. 國國國國國國國國國國國國國國國國國國⟧",
11
- "groupSharedFeatures.threadedAnnotations.deleteConfirmation": "⟦萬萬萬萬萬 Ðεļєτё ćōŋƒιѓmάŧïöή 國國國國國⟧",
12
- "groupSharedFeatures.threadedAnnotations.edit": "⟦萬 Ęďīť 國⟧",
13
- "groupSharedFeatures.threadedAnnotations.hideReplies": "⟦萬萬萬 Ĥίďé řĕΡĺįεŝ 國國國⟧",
14
- "groupSharedFeatures.threadedAnnotations.markedAsResolved": "⟦萬萬萬萬萬 máŗкêď āŝ ŗέѕσļνёď 國國國國國⟧",
15
- "groupSharedFeatures.threadedAnnotations.messageEditor.cancel": "⟦萬 Čāйčěļ 國⟧",
16
- "groupSharedFeatures.threadedAnnotations.messageEditor.cancelButtonAriaLabel": "⟦萬萬萬 Ċäήсĕĺ вũτţòņ 國國國⟧",
2
+ "boxui.threadedAnnotations.threadedAnnotationsAriaLabel": "⟦萬萬萬萬萬 Ţĥŗёáďéď ąπŋσŧąτϊόй 國國國國國⟧",
3
+ "groupSharedFeatures.threadedAnnotations.annotationMessageAriaLabel": "⟦萬萬萬萬萬 Ăηńóŧάťĭōŋ męѕşáĝė 國國國國國⟧",
4
+ "groupSharedFeatures.threadedAnnotations.annotationPage": "⟦萬萬 Pǻġë {number} 國國⟧",
5
+ "groupSharedFeatures.threadedAnnotations.cancelDeleteButtonAriaLabel": "⟦萬萬萬萬萬 Ĉαπçёļ ďĕļεŧë вцťτσʼn 國國國國國⟧",
6
+ "groupSharedFeatures.threadedAnnotations.delete": "⟦萬 Ďêľēţē 國⟧",
7
+ "groupSharedFeatures.threadedAnnotations.deleteButtonAriaLabel": "⟦萬萬萬 Ďеĺеťε вцŧŧοл 國國國⟧",
8
+ "groupSharedFeatures.threadedAnnotations.deleteCancel": "⟦萬 Ĉáʼnĉёĺ 國⟧",
9
+ "groupSharedFeatures.threadedAnnotations.deleteCommentQuestion": "⟦萬萬萬萬萬萬萬萬萬萬 Ðø Уōμ шãňť ťо ďεľêţє ţħιś ĉőmmêлŧ? 國國國國國國國國國國⟧",
10
+ "groupSharedFeatures.threadedAnnotations.deleteCommentWithRepliesQuestion": "⟦萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬 Ðεĺεŧê ŧнĭŝ ĉómmèиτ ãήď ŗëΡĺїèś? Ťнĩş āсťìοή çαи'τ вê űńďòиē. 國國國國國國國國國國國國國國國國國國⟧",
11
+ "groupSharedFeatures.threadedAnnotations.deleteConfirmation": "⟦萬萬萬萬萬 Ðěľėťĕ ċöпƒíгmąţĩøή 國國國國國⟧",
12
+ "groupSharedFeatures.threadedAnnotations.edit": "⟦萬 Έďìŧ 國⟧",
13
+ "groupSharedFeatures.threadedAnnotations.hideReplies": "⟦萬萬萬 Ήìďё гėΡļϊèś 國國國⟧",
14
+ "groupSharedFeatures.threadedAnnotations.markedAsResolved": "⟦萬萬萬萬萬 máяķέď αş гéşόļνёď 國國國國國⟧",
15
+ "groupSharedFeatures.threadedAnnotations.messageEditor.cancel": "⟦萬 Čáńçēļ 國⟧",
16
+ "groupSharedFeatures.threadedAnnotations.messageEditor.cancelButtonAriaLabel": "⟦萬萬萬 Çãňċéľ ьüţťόή 國國國⟧",
17
17
  "groupSharedFeatures.threadedAnnotations.messageEditor.characterCount": "⟦萬萬萬 {count}/{maxCount} 國國國⟧",
18
- "groupSharedFeatures.threadedAnnotations.messageEditor.characterLimitExceeded": "⟦萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬 Ύõμг çŏmmèńţ īś {excess, plural, one {# çĥåґáĉţєѓ} other {# ćĥăřăčţеŕś}} ťōσ ľōηġ 國國國國國國國國國國國國國國國國國國⟧",
19
- "groupSharedFeatures.threadedAnnotations.messageEditor.editorContentAriaLabel": "⟦萬萬萬萬 Μέşśãġé εďĭťσѓ 國國國國⟧",
20
- "groupSharedFeatures.threadedAnnotations.messageEditor.placeholderAriaLabel": "⟦萬萬萬萬萬萬萬 Μёśŝâġĕ ïńΡűτ Ρĺãçêнőľďεг 國國國國國國國⟧",
21
- "groupSharedFeatures.threadedAnnotations.messageEditor.placeholderPrefix": "⟦萬萬萬萬萬 Ẁŗîŧё ą ¢õmméŋτ όѓ 國國國國國⟧",
22
- "groupSharedFeatures.threadedAnnotations.messageEditor.placeholderPrefixReply": "⟦萬萬萬萬 Ŵґïτĕ å ŗëΡľў öř 國國國國⟧",
23
- "groupSharedFeatures.threadedAnnotations.messageEditor.placeholderSuffix": "⟦萬萬 ťσ mёйťïôň 國國⟧",
24
- "groupSharedFeatures.threadedAnnotations.messageEditor.placeholderUplifted": "⟦萬萬萬萬萬萬萬萬萬 Ŀěάνę ǻ čòmmêйŧ οя @ ţô méлŧîôπ 國國國國國國國國國⟧",
25
- "groupSharedFeatures.threadedAnnotations.messageEditor.post": "⟦萬 Pοŝτ 國⟧",
26
- "groupSharedFeatures.threadedAnnotations.messageEditor.postButtonAriaLabel": "⟦萬萬萬 Pσşţ ьűţτőń 國國國⟧",
27
- "groupSharedFeatures.threadedAnnotations.messageEditor.postLoading": "⟦萬萬 Ĺòαďìлġ... 國國⟧",
28
- "groupSharedFeatures.threadedAnnotations.messageEditor.save": "⟦萬 Ѕàνé 國⟧",
29
- "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "⟦萬萬 Ŝáνїŋġ... 國國⟧",
30
- "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "⟦萬萬萬萬萬萬萬萬萬 Μêşşăġë ëďїťøґ ѕćяõļĺ ¢òʼnτāίйеŕ 國國國國國國國國國⟧",
31
- "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "⟦萬萬萬萬萬 Μσŗε ŏΡťĩοňŝ вůţţŏň 國國國國國⟧",
32
- "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "⟦萬萬萬萬萬萬萬萬 Όгіġϊпάľ ĉôиţεиŧ ώãѕ ďєļēţέď 國國國國國國國國⟧",
33
- "groupSharedFeatures.threadedAnnotations.reply": "⟦萬 ҐēΡľγ 國⟧",
34
- "groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel": "⟦萬萬萬 ŘёΡľý ьũŧŧôň 國國國⟧",
35
- "groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel": "⟦萬萬 Ŗєѕоĺνę 國國⟧",
36
- "groupSharedFeatures.threadedAnnotations.resolvedStateAriaLabel": "⟦萬萬萬萬萬萬萬 Яéŝöļμŧϊóη şţâτцś mєśŝǻğę 國國國國國國國⟧",
37
- "groupSharedFeatures.threadedAnnotations.showMoreReplies": "⟦萬萬萬萬萬萬萬萬萬萬萬 {count, plural, one {# mōґę яεΡĺў} other {# mŏŕê геΡĺĭéś}} 國國國國國國國國國國國⟧",
38
- "groupSharedFeatures.threadedAnnotations.showReplies": "⟦萬萬萬萬萬萬萬萬萬萬萬萬萬 {number, plural, one {Şнőẃ # ѓèΡļγ} other {Ŝĥσώ # mοřé ŗêΡĺíèŝ}} 國國國國國國國國國國國國國⟧",
39
- "groupSharedFeatures.threadedAnnotations.showRepliesButtonAriaLabel": "⟦萬萬萬 ŔёΡľγ вûţťôń 國國國⟧",
40
- "groupSharedFeatures.threadedAnnotations.textMentionAriaLabel": "⟦萬萬萬 Úŝěѓ měňτĭőи 國國國⟧",
41
- "groupSharedFeatures.threadedAnnotations.textMessageAriaLabel": "⟦萬萬萬 Мëśѕǻĝέ τèхţ 國國國⟧",
42
- "groupSharedFeatures.threadedAnnotations.unresolveButtonAriaLabel": "⟦萬萬 Ūńřеśσļνĕ 國國⟧",
43
- "groupSharedFeatures.threadedAnnotations.userAvatar": "⟦萬萬萬 Úśėŗ ăνàťǻŕ 國國國⟧",
44
- "groupSharedFeatures.threadedAnnotations.userAvatarButtonAriaLabel": "⟦萬萬萬萬萬萬萬 Vίěẁ űѕėѓ Ρгσƒìĺе ьüŧŧöņ 國國國國國國國⟧"
18
+ "groupSharedFeatures.threadedAnnotations.messageEditor.characterLimitExceeded": "⟦萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬 Ϋоųґ çòmmέπť īŝ {excess, plural, one {# ¢нàѓąċťєг} other {# ċĥåѓá¢ŧєŕѕ}} ťòō ļŏńğ 國國國國國國國國國國國國國國國國國國⟧",
19
+ "groupSharedFeatures.threadedAnnotations.messageEditor.editorContentAriaLabel": "⟦萬萬萬萬 Мέŝѕǻğĕ еďιţõř 國國國國⟧",
20
+ "groupSharedFeatures.threadedAnnotations.messageEditor.placeholderAriaLabel": "⟦萬萬萬萬萬萬萬 Μёŝśãĝê їŋΡµŧ Ρĺάçёħóľďєг 國國國國國國國⟧",
21
+ "groupSharedFeatures.threadedAnnotations.messageEditor.placeholderPrefix": "⟦萬萬萬萬萬 Ẁяïťė ã çòmméиť öŕ 國國國國國⟧",
22
+ "groupSharedFeatures.threadedAnnotations.messageEditor.placeholderPrefixReply": "⟦萬萬萬萬 Ẃŕĭťє ā ŕĕΡļУ ôг 國國國國⟧",
23
+ "groupSharedFeatures.threadedAnnotations.messageEditor.placeholderSuffix": "⟦萬萬 ţø měпτįőη 國國⟧",
24
+ "groupSharedFeatures.threadedAnnotations.messageEditor.placeholderUplifted": "⟦萬萬萬萬萬萬萬萬萬 Ľєàνέ α ĉómmєηť οґ @ ţò mέńŧιöй 國國國國國國國國國⟧",
25
+ "groupSharedFeatures.threadedAnnotations.messageEditor.post": "⟦萬 Pôşţ 國⟧",
26
+ "groupSharedFeatures.threadedAnnotations.messageEditor.postButtonAriaLabel": "⟦萬萬萬 Pòŝť вùŧτοй 國國國⟧",
27
+ "groupSharedFeatures.threadedAnnotations.messageEditor.postLoading": "⟦萬萬 Ŀøǻďїηĝ... 國國⟧",
28
+ "groupSharedFeatures.threadedAnnotations.messageEditor.save": "⟦萬 Şãνę 國⟧",
29
+ "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "⟦萬萬 Ŝäνĭʼnğ... 國國⟧",
30
+ "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "⟦萬萬萬萬萬萬萬萬萬 Μêśŝăĝё ėďîτōг śċřоļļ ĉöиταîņєґ 國國國國國國國國國⟧",
31
+ "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "⟦萬萬萬萬萬 Моřε õΡτϊòʼnŝ вµťτóņ 國國國國國⟧",
32
+ "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "⟦萬萬萬萬萬萬萬萬 Όяιğĭиäĺ ĉòńťëпτ ẁąŝ ďеļėτëď 國國國國國國國國⟧",
33
+ "groupSharedFeatures.threadedAnnotations.reply": "⟦萬 ŖęΡĺỳ 國⟧",
34
+ "groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel": "⟦萬萬萬 ЯėΡĺÿ ьűţτóʼn 國國國⟧",
35
+ "groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel": "⟦萬萬 Γєşòļνε 國國⟧",
36
+ "groupSharedFeatures.threadedAnnotations.resolvedStateAriaLabel": "⟦萬萬萬萬萬萬萬 Řëѕοľůτĭοп ŝţǻţüś mêѕşäġę 國國國國國國國⟧",
37
+ "groupSharedFeatures.threadedAnnotations.showMoreReplies": "⟦萬萬萬萬萬萬萬萬萬萬萬 {count, plural, one {# mőŕе ѓęΡľỳ} other {# mσяê гêΡľïêŝ}} 國國國國國國國國國國國⟧",
38
+ "groupSharedFeatures.threadedAnnotations.showReplies": "⟦萬萬萬萬萬萬萬萬萬萬萬萬萬 {number, plural, one {Śĥŏώ # ѓēΡļУ} other {Şħõẁ # möгè ŗèΡļĩěŝ}} 國國國國國國國國國國國國國⟧",
39
+ "groupSharedFeatures.threadedAnnotations.showRepliesButtonAriaLabel": "⟦萬萬萬 ЃèΡĺγ вûŧţóŋ 國國國⟧",
40
+ "groupSharedFeatures.threadedAnnotations.textMentionAriaLabel": "⟦萬萬萬 Ŭŝёг mέŋτìοň 國國國⟧",
41
+ "groupSharedFeatures.threadedAnnotations.textMessageAriaLabel": "⟦萬萬萬 Μèśŝāğé ťè×τ 國國國⟧",
42
+ "groupSharedFeatures.threadedAnnotations.unresolveButtonAriaLabel": "⟦萬萬 Ųлгèşŏĺνę 國國⟧",
43
+ "groupSharedFeatures.threadedAnnotations.userAvatar": "⟦萬萬萬 Ŭśєŗ ãνãťăŕ 國國國⟧",
44
+ "groupSharedFeatures.threadedAnnotations.userAvatarButtonAriaLabel": "⟦萬萬萬萬萬萬萬 Vіěш цŝεя Ρŕōƒĩĺё вűţťόл 國國國國國國國⟧"
45
45
  }
@@ -1,86 +1,86 @@
1
1
  # Aria label for the threaded annotations container button
2
- boxui.threadedAnnotations.threadedAnnotationsAriaLabel = ⟦萬萬萬萬萬 Τнŗёāďēď άπņõŧąŧïōņ 國國國國國⟧
2
+ boxui.threadedAnnotations.threadedAnnotationsAriaLabel = ⟦萬萬萬萬萬 Ţĥŗёáďéď ąπŋσŧąτϊόй 國國國國國⟧
3
3
  # Aria label for annotation message container
4
- groupSharedFeatures.threadedAnnotations.annotationMessageAriaLabel = ⟦萬萬萬萬萬 Âňʼnοŧàţіŏň měşѕǻġê 國國國國國⟧
4
+ groupSharedFeatures.threadedAnnotations.annotationMessageAriaLabel = ⟦萬萬萬萬萬 Ăηńóŧάťĭōŋ męѕşáĝė 國國國國國⟧
5
5
  # Label showing the page number of an annotation target
6
- groupSharedFeatures.threadedAnnotations.annotationPage = ⟦萬萬 Pāġë {number} 國國⟧
6
+ groupSharedFeatures.threadedAnnotations.annotationPage = ⟦萬萬 Pǻġë {number} 國國⟧
7
7
  # Aria label for cancel delete button
8
- groupSharedFeatures.threadedAnnotations.cancelDeleteButtonAriaLabel = ⟦萬萬萬萬萬 Ċáлĉēĺ ďěļéţе ьμţτòŋ 國國國國國⟧
8
+ groupSharedFeatures.threadedAnnotations.cancelDeleteButtonAriaLabel = ⟦萬萬萬萬萬 Ĉαπçёļ ďĕļεŧë вцťτσʼn 國國國國國⟧
9
9
  # Delete button text
10
- groupSharedFeatures.threadedAnnotations.delete = ⟦萬 Ďєļēŧё 國⟧
10
+ groupSharedFeatures.threadedAnnotations.delete = ⟦萬 Ďêľēţē 國⟧
11
11
  # Aria label for delete button
12
- groupSharedFeatures.threadedAnnotations.deleteButtonAriaLabel = ⟦萬萬萬 Ďĕľέťĕ ьúŧŧóй 國國國⟧
12
+ groupSharedFeatures.threadedAnnotations.deleteButtonAriaLabel = ⟦萬萬萬 Ďеĺеťε вцŧŧοл 國國國⟧
13
13
  # Cancel button text for delete confirmation dialog
14
- groupSharedFeatures.threadedAnnotations.deleteCancel = ⟦萬 Ĉάń¢ёľ 國⟧
14
+ groupSharedFeatures.threadedAnnotations.deleteCancel = ⟦萬 Ĉáʼnĉёĺ 國⟧
15
15
  # Confirmation text asking user if they want to delete a comment
16
- groupSharedFeatures.threadedAnnotations.deleteCommentQuestion = ⟦萬萬萬萬萬萬萬萬萬萬 Ðö γоμ шǻŋţ ŧø ďëĺěŧé ţĥίś сòmmелτ? 國國國國國國國國國國⟧
16
+ groupSharedFeatures.threadedAnnotations.deleteCommentQuestion = ⟦萬萬萬萬萬萬萬萬萬萬 Ðø Уōμ шãňť ťо ďεľêţє ţħιś ĉőmmêлŧ? 國國國國國國國國國國⟧
17
17
  # Confirmation text asking user if they want to delete a comment and its replies
18
- groupSharedFeatures.threadedAnnotations.deleteCommentWithRepliesQuestion = ⟦萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬 Ðєĺëτë ţнϊş ¢ómmέήť àηď гěΡĺīēѕ? Ţнïş ăćτįοņ čăή'ŧ ве ũпďŏиε. 國國國國國國國國國國國國國國國國國國⟧
18
+ groupSharedFeatures.threadedAnnotations.deleteCommentWithRepliesQuestion = ⟦萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬 Ðεĺεŧê ŧнĭŝ ĉómmèиτ ãήď ŗëΡĺїèś? Ťнĩş āсťìοή çαи'τ вê űńďòиē. 國國國國國國國國國國國國國國國國國國⟧
19
19
  # Aria label for delete confirmation popover
20
- groupSharedFeatures.threadedAnnotations.deleteConfirmation = ⟦萬萬萬萬萬 Ðεļєτё ćōŋƒιѓmάŧïöή 國國國國國⟧
20
+ groupSharedFeatures.threadedAnnotations.deleteConfirmation = ⟦萬萬萬萬萬 Ðěľėťĕ ċöпƒíгmąţĩøή 國國國國國⟧
21
21
  # Edit option in message context menu
22
- groupSharedFeatures.threadedAnnotations.edit = ⟦萬 Ęďīť 國⟧
22
+ groupSharedFeatures.threadedAnnotations.edit = ⟦萬 Έďìŧ 國⟧
23
23
  # Button text to hide replies in threaded annotations
24
- groupSharedFeatures.threadedAnnotations.hideReplies = ⟦萬萬萬 Ĥίďé řĕΡĺįεŝ 國國國⟧
24
+ groupSharedFeatures.threadedAnnotations.hideReplies = ⟦萬萬萬 Ήìďё гėΡļϊèś 國國國⟧
25
25
  # Text shown after the author name when a comment thread is marked as resolved
26
- groupSharedFeatures.threadedAnnotations.markedAsResolved = ⟦萬萬萬萬萬 máŗкêď āŝ ŗέѕσļνёď 國國國國國⟧
26
+ groupSharedFeatures.threadedAnnotations.markedAsResolved = ⟦萬萬萬萬萬 máяķέď αş гéşόļνёď 國國國國國⟧
27
27
  # Cancel button text for message editor
28
- groupSharedFeatures.threadedAnnotations.messageEditor.cancel = ⟦萬 Čāйčěļ 國⟧
28
+ groupSharedFeatures.threadedAnnotations.messageEditor.cancel = ⟦萬 Čáńçēļ 國⟧
29
29
  # Aria label for the cancel button in message editor
30
- groupSharedFeatures.threadedAnnotations.messageEditor.cancelButtonAriaLabel = ⟦萬萬萬 Ċäήсĕĺ вũτţòņ 國國國⟧
30
+ groupSharedFeatures.threadedAnnotations.messageEditor.cancelButtonAriaLabel = ⟦萬萬萬 Çãňċéľ ьüţťόή 國國國⟧
31
31
  # Character count display showing current count and maximum allowed
32
32
  groupSharedFeatures.threadedAnnotations.messageEditor.characterCount = ⟦萬萬萬 {count}/{maxCount} 國國國⟧
33
33
  # Screen reader alert and tooltip text shown when character limit is exceeded
34
- groupSharedFeatures.threadedAnnotations.messageEditor.characterLimitExceeded = ⟦萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬 Ύõμг çŏmmèńţ īś {excess, plural, one {# çĥåґáĉţєѓ} other {# ćĥăřăčţеŕś}} ťōσ ľōηġ 國國國國國國國國國國國國國國國國國國⟧
34
+ groupSharedFeatures.threadedAnnotations.messageEditor.characterLimitExceeded = ⟦萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬 Ϋоųґ çòmmέπť īŝ {excess, plural, one {# ¢нàѓąċťєг} other {# ċĥåѓá¢ŧєŕѕ}} ťòō ļŏńğ 國國國國國國國國國國國國國國國國國國⟧
35
35
  # Aria label for the rich text editor content area
36
- groupSharedFeatures.threadedAnnotations.messageEditor.editorContentAriaLabel = ⟦萬萬萬萬 Μέşśãġé εďĭťσѓ 國國國國⟧
36
+ groupSharedFeatures.threadedAnnotations.messageEditor.editorContentAriaLabel = ⟦萬萬萬萬 Мέŝѕǻğĕ еďιţõř 國國國國⟧
37
37
  # Aria label for message editor placeholder
38
- groupSharedFeatures.threadedAnnotations.messageEditor.placeholderAriaLabel = ⟦萬萬萬萬萬萬萬 Μёśŝâġĕ ïńΡűτ Ρĺãçêнőľďεг 國國國國國國國⟧
38
+ groupSharedFeatures.threadedAnnotations.messageEditor.placeholderAriaLabel = ⟦萬萬萬萬萬萬萬 Μёŝśãĝê їŋΡµŧ Ρĺάçёħóľďєг 國國國國國國國⟧
39
39
  # First part of placeholder text before @ symbol
40
- groupSharedFeatures.threadedAnnotations.messageEditor.placeholderPrefix = ⟦萬萬萬萬萬 Ẁŗîŧё ą ¢õmméŋτ όѓ 國國國國國⟧
40
+ groupSharedFeatures.threadedAnnotations.messageEditor.placeholderPrefix = ⟦萬萬萬萬萬 Ẁяïťė ã çòmméиť öŕ 國國國國國⟧
41
41
  # First part of placeholder text before @ symbol for reply
42
- groupSharedFeatures.threadedAnnotations.messageEditor.placeholderPrefixReply = ⟦萬萬萬萬 Ŵґïτĕ å ŗëΡľў öř 國國國國⟧
42
+ groupSharedFeatures.threadedAnnotations.messageEditor.placeholderPrefixReply = ⟦萬萬萬萬 Ẃŕĭťє ā ŕĕΡļУ ôг 國國國國⟧
43
43
  # Last part of placeholder text after @ symbol
44
- groupSharedFeatures.threadedAnnotations.messageEditor.placeholderSuffix = ⟦萬萬 ťσ mёйťïôň 國國⟧
44
+ groupSharedFeatures.threadedAnnotations.messageEditor.placeholderSuffix = ⟦萬萬 ţø měпτįőη 國國⟧
45
45
  # Placeholder text for uplifted message editor
46
- groupSharedFeatures.threadedAnnotations.messageEditor.placeholderUplifted = ⟦萬萬萬萬萬萬萬萬萬 Ŀěάνę ǻ čòmmêйŧ οя @ ţô méлŧîôπ 國國國國國國國國國⟧
46
+ groupSharedFeatures.threadedAnnotations.messageEditor.placeholderUplifted = ⟦萬萬萬萬萬萬萬萬萬 Ľєàνέ α ĉómmєηť οґ @ ţò mέńŧιöй 國國國國國國國國國⟧
47
47
  # Post button text for message editor
48
- groupSharedFeatures.threadedAnnotations.messageEditor.post = ⟦萬 Pοŝτ 國⟧
48
+ groupSharedFeatures.threadedAnnotations.messageEditor.post = ⟦萬 Pôşţ 國⟧
49
49
  # Aria label for the post button in message editor
50
- groupSharedFeatures.threadedAnnotations.messageEditor.postButtonAriaLabel = ⟦萬萬萬 Pσşţ ьűţτőń 國國國⟧
50
+ groupSharedFeatures.threadedAnnotations.messageEditor.postButtonAriaLabel = ⟦萬萬萬 Pòŝť вùŧτοй 國國國⟧
51
51
  # Aria label for post button loading state
52
- groupSharedFeatures.threadedAnnotations.messageEditor.postLoading = ⟦萬萬 Ĺòαďìлġ... 國國⟧
52
+ groupSharedFeatures.threadedAnnotations.messageEditor.postLoading = ⟦萬萬 Ŀøǻďїηĝ... 國國⟧
53
53
  # Save button text for message editor
54
- groupSharedFeatures.threadedAnnotations.messageEditor.save = ⟦萬 Ѕàνé 國⟧
54
+ groupSharedFeatures.threadedAnnotations.messageEditor.save = ⟦萬 Şãνę 國⟧
55
55
  # Aria label for save button loading state
56
- groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading = ⟦萬萬 Ŝáνїŋġ... 國國⟧
56
+ groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading = ⟦萬萬 Ŝäνĭʼnğ... 國國⟧
57
57
  # Aria label for the scrollable message editor content container
58
- groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel = ⟦萬萬萬萬萬萬萬萬萬 Μêşşăġë ëďїťøґ ѕćяõļĺ ¢òʼnτāίйеŕ 國國國國國國國國國⟧
58
+ groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel = ⟦萬萬萬萬萬萬萬萬萬 Μêśŝăĝё ėďîτōг śċřоļļ ĉöиταîņєґ 國國國國國國國國國⟧
59
59
  # Aria label for more options button in annotation message
60
- groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel = ⟦萬萬萬萬萬 Μσŗε ŏΡťĩοňŝ вůţţŏň 國國國國國⟧
60
+ groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel = ⟦萬萬萬萬萬 Моřε õΡτϊòʼnŝ вµťτóņ 國國國國國⟧
61
61
  # Tooltip shown when the annotation badge refers to deleted content
62
- groupSharedFeatures.threadedAnnotations.originalContentDeleted = ⟦萬萬萬萬萬萬萬萬 Όгіġϊпάľ ĉôиţεиŧ ώãѕ ďєļēţέď 國國國國國國國國⟧
62
+ groupSharedFeatures.threadedAnnotations.originalContentDeleted = ⟦萬萬萬萬萬萬萬萬 Όяιğĭиäĺ ĉòńťëпτ ẁąŝ ďеļėτëď 國國國國國國國國⟧
63
63
  # Reply button text to start composing a reply
64
- groupSharedFeatures.threadedAnnotations.reply = ⟦萬 ҐēΡľγ 國⟧
64
+ groupSharedFeatures.threadedAnnotations.reply = ⟦萬 ŖęΡĺỳ 國⟧
65
65
  # Aria label for the reply button that opens the message editor
66
- groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel = ⟦萬萬萬 ŘёΡľý ьũŧŧôň 國國國⟧
66
+ groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel = ⟦萬萬萬 ЯėΡĺÿ ьűţτóʼn 國國國⟧
67
67
  # Aria label for resolve button
68
- groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel = ⟦萬萬 Ŗєѕоĺνę 國國⟧
68
+ groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel = ⟦萬萬 Γєşòļνε 國國⟧
69
69
  # Aria label for the resolution status message container
70
- groupSharedFeatures.threadedAnnotations.resolvedStateAriaLabel = ⟦萬萬萬萬萬萬萬 Яéŝöļμŧϊóη şţâτцś mєśŝǻğę 國國國國國國國⟧
70
+ groupSharedFeatures.threadedAnnotations.resolvedStateAriaLabel = ⟦萬萬萬萬萬萬萬 Řëѕοľůτĭοп ŝţǻţüś mêѕşäġę 國國國國國國國⟧
71
71
  # Button text to show more replies with count
72
- groupSharedFeatures.threadedAnnotations.showMoreReplies = ⟦萬萬萬萬萬萬萬萬萬萬萬 {count, plural, one {# mōґę яεΡĺў} other {# mŏŕê геΡĺĭéś}} 國國國國國國國國國國國⟧
72
+ groupSharedFeatures.threadedAnnotations.showMoreReplies = ⟦萬萬萬萬萬萬萬萬萬萬萬 {count, plural, one {# mőŕе ѓęΡľỳ} other {# mσяê гêΡľïêŝ}} 國國國國國國國國國國國⟧
73
73
  # Button text to show replies with count
74
- groupSharedFeatures.threadedAnnotations.showReplies = ⟦萬萬萬萬萬萬萬萬萬萬萬萬萬 {number, plural, one {Şнőẃ # ѓèΡļγ} other {Ŝĥσώ # mοřé ŗêΡĺíèŝ}} 國國國國國國國國國國國國國⟧
74
+ groupSharedFeatures.threadedAnnotations.showReplies = ⟦萬萬萬萬萬萬萬萬萬萬萬萬萬 {number, plural, one {Śĥŏώ # ѓēΡļУ} other {Şħõẁ # möгè ŗèΡļĩěŝ}} 國國國國國國國國國國國國國⟧
75
75
  # Aria label for the reply button
76
- groupSharedFeatures.threadedAnnotations.showRepliesButtonAriaLabel = ⟦萬萬萬 ŔёΡľγ вûţťôń 國國國⟧
76
+ groupSharedFeatures.threadedAnnotations.showRepliesButtonAriaLabel = ⟦萬萬萬 ЃèΡĺγ вûŧţóŋ 國國國⟧
77
77
  # Aria label for user mention links
78
- groupSharedFeatures.threadedAnnotations.textMentionAriaLabel = ⟦萬萬萬 Úŝěѓ měňτĭőи 國國國⟧
78
+ groupSharedFeatures.threadedAnnotations.textMentionAriaLabel = ⟦萬萬萬 Ŭŝёг mέŋτìοň 國國國⟧
79
79
  # Aria label for message text content
80
- groupSharedFeatures.threadedAnnotations.textMessageAriaLabel = ⟦萬萬萬 Мëśѕǻĝέ τèхţ 國國國⟧
80
+ groupSharedFeatures.threadedAnnotations.textMessageAriaLabel = ⟦萬萬萬 Μèśŝāğé ťè×τ 國國國⟧
81
81
  # Aria label for unresolve button
82
- groupSharedFeatures.threadedAnnotations.unresolveButtonAriaLabel = ⟦萬萬 Ūńřеśσļνĕ 國國⟧
82
+ groupSharedFeatures.threadedAnnotations.unresolveButtonAriaLabel = ⟦萬萬 Ųлгèşŏĺνę 國國⟧
83
83
  # Alt text for user avatar image
84
- groupSharedFeatures.threadedAnnotations.userAvatar = ⟦萬萬萬 Úśėŗ ăνàťǻŕ 國國國⟧
84
+ groupSharedFeatures.threadedAnnotations.userAvatar = ⟦萬萬萬 Ŭśєŗ ãνãťăŕ 國國國⟧
85
85
  # Aria label for clickable user avatar button
86
- groupSharedFeatures.threadedAnnotations.userAvatarButtonAriaLabel = ⟦萬萬萬萬萬萬萬 Vίěẁ űѕėѓ Ρгσƒìĺе ьüŧŧöņ 國國國國國國國⟧
86
+ groupSharedFeatures.threadedAnnotations.userAvatarButtonAriaLabel = ⟦萬萬萬萬萬萬萬 Vіěш цŝεя Ρŕōƒĩĺё вűţťόл 國國國國國國國⟧
@@ -29,7 +29,7 @@ export default {
29
29
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Guardando…",
30
30
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Contenedor de desplazamiento del editor de mensajes",
31
31
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Botón Más opciones",
32
- "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Original content was deleted",
32
+ "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Se ha eliminado el contenido original",
33
33
  "groupSharedFeatures.threadedAnnotations.reply": "Responder",
34
34
  "groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel": "Botón Responder",
35
35
  "groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel": "Resolver",
@@ -59,7 +59,7 @@ groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel =
59
59
  # Aria label for more options button in annotation message
60
60
  groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel = Botón Más opciones
61
61
  # Tooltip shown when the annotation badge refers to deleted content
62
- groupSharedFeatures.threadedAnnotations.originalContentDeleted = Original content was deleted
62
+ groupSharedFeatures.threadedAnnotations.originalContentDeleted = Se ha eliminado el contenido original
63
63
  # Reply button text to start composing a reply
64
64
  groupSharedFeatures.threadedAnnotations.reply = Responder
65
65
  # Aria label for the reply button that opens the message editor
@@ -29,7 +29,7 @@ export default {
29
29
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Guardando…",
30
30
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Contenedor de desplazamiento del editor de mensajes",
31
31
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Botón Más opciones",
32
- "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Original content was deleted",
32
+ "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Se ha eliminado el contenido original",
33
33
  "groupSharedFeatures.threadedAnnotations.reply": "Responder",
34
34
  "groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel": "Botón Responder",
35
35
  "groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel": "Resolver",
@@ -59,7 +59,7 @@ groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel =
59
59
  # Aria label for more options button in annotation message
60
60
  groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel = Botón Más opciones
61
61
  # Tooltip shown when the annotation badge refers to deleted content
62
- groupSharedFeatures.threadedAnnotations.originalContentDeleted = Original content was deleted
62
+ groupSharedFeatures.threadedAnnotations.originalContentDeleted = Se ha eliminado el contenido original
63
63
  # Reply button text to start composing a reply
64
64
  groupSharedFeatures.threadedAnnotations.reply = Responder
65
65
  # Aria label for the reply button that opens the message editor
@@ -29,7 +29,7 @@ export default {
29
29
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Tallennetaan...",
30
30
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Viestieditorin vierityssäiliö",
31
31
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Lisää asetuksia -painike",
32
- "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Original content was deleted",
32
+ "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Alkuperäinen sisältö poistettiin",
33
33
  "groupSharedFeatures.threadedAnnotations.reply": "Vastaus",
34
34
  "groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel": "Vastaa-painike",
35
35
  "groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel": "Ratkaise",
@@ -59,7 +59,7 @@ groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel =
59
59
  # Aria label for more options button in annotation message
60
60
  groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel = Lisää asetuksia -painike
61
61
  # Tooltip shown when the annotation badge refers to deleted content
62
- groupSharedFeatures.threadedAnnotations.originalContentDeleted = Original content was deleted
62
+ groupSharedFeatures.threadedAnnotations.originalContentDeleted = Alkuperäinen sisältö poistettiin
63
63
  # Reply button text to start composing a reply
64
64
  groupSharedFeatures.threadedAnnotations.reply = Vastaus
65
65
  # Aria label for the reply button that opens the message editor
@@ -29,7 +29,7 @@ export default {
29
29
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Enregistrement en cours",
30
30
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Conteneur de défilement de l’éditeur de message",
31
31
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Bouton Plus d'options",
32
- "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Original content was deleted",
32
+ "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Le contenu d’origine a été supprimé",
33
33
  "groupSharedFeatures.threadedAnnotations.reply": "Répondre",
34
34
  "groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel": "Bouton Répondre",
35
35
  "groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel": "Résolu",
@@ -59,7 +59,7 @@ groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel =
59
59
  # Aria label for more options button in annotation message
60
60
  groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel = Bouton Plus d'options
61
61
  # Tooltip shown when the annotation badge refers to deleted content
62
- groupSharedFeatures.threadedAnnotations.originalContentDeleted = Original content was deleted
62
+ groupSharedFeatures.threadedAnnotations.originalContentDeleted = Le contenu d’origine a été supprimé
63
63
  # Reply button text to start composing a reply
64
64
  groupSharedFeatures.threadedAnnotations.reply = Répondre
65
65
  # Aria label for the reply button that opens the message editor
@@ -29,7 +29,7 @@ export default {
29
29
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Enregistrement en cours",
30
30
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Conteneur de défilement de l’éditeur de message",
31
31
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Bouton Plus d'options",
32
- "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Original content was deleted",
32
+ "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Le contenu d’origine a été supprimé",
33
33
  "groupSharedFeatures.threadedAnnotations.reply": "Répondre",
34
34
  "groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel": "Bouton Répondre",
35
35
  "groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel": "Résolu",
@@ -59,7 +59,7 @@ groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel =
59
59
  # Aria label for more options button in annotation message
60
60
  groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel = Bouton Plus d'options
61
61
  # Tooltip shown when the annotation badge refers to deleted content
62
- groupSharedFeatures.threadedAnnotations.originalContentDeleted = Original content was deleted
62
+ groupSharedFeatures.threadedAnnotations.originalContentDeleted = Le contenu d’origine a été supprimé
63
63
  # Reply button text to start composing a reply
64
64
  groupSharedFeatures.threadedAnnotations.reply = Répondre
65
65
  # Aria label for the reply button that opens the message editor
@@ -29,7 +29,7 @@ export default {
29
29
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "सहेजा जा रहा है...",
30
30
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "संदेश संपादक स्क्रॉल कंटेनर",
31
31
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "अधिक विकल्प बटन",
32
- "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Original content was deleted",
32
+ "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "मूल कंटेंट को हटा दिया गया था",
33
33
  "groupSharedFeatures.threadedAnnotations.reply": "जवाब दें",
34
34
  "groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel": "उत्तर दें बटन",
35
35
  "groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel": "हल करें",
@@ -59,7 +59,7 @@ groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel =
59
59
  # Aria label for more options button in annotation message
60
60
  groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel = अधिक विकल्प बटन
61
61
  # Tooltip shown when the annotation badge refers to deleted content
62
- groupSharedFeatures.threadedAnnotations.originalContentDeleted = Original content was deleted
62
+ groupSharedFeatures.threadedAnnotations.originalContentDeleted = मूल कंटेंट को हटा दिया गया था
63
63
  # Reply button text to start composing a reply
64
64
  groupSharedFeatures.threadedAnnotations.reply = जवाब दें
65
65
  # Aria label for the reply button that opens the message editor
@@ -29,7 +29,7 @@ export default {
29
29
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Salvataggio in corso...",
30
30
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Contenitore di scorrimento dell’editor dei messaggi",
31
31
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Pulsante Altre opzioni",
32
- "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Original content was deleted",
32
+ "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Il contenuto originale è stato eliminato",
33
33
  "groupSharedFeatures.threadedAnnotations.reply": "Rispondi",
34
34
  "groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel": "Pulsante Rispondi",
35
35
  "groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel": "Risolvi",
@@ -59,7 +59,7 @@ groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel =
59
59
  # Aria label for more options button in annotation message
60
60
  groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel = Pulsante Altre opzioni
61
61
  # Tooltip shown when the annotation badge refers to deleted content
62
- groupSharedFeatures.threadedAnnotations.originalContentDeleted = Original content was deleted
62
+ groupSharedFeatures.threadedAnnotations.originalContentDeleted = Il contenuto originale è stato eliminato
63
63
  # Reply button text to start composing a reply
64
64
  groupSharedFeatures.threadedAnnotations.reply = Rispondi
65
65
  # Aria label for the reply button that opens the message editor
@@ -29,7 +29,7 @@ export default {
29
29
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "저장 중...",
30
30
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "메시지 편집기 스크롤 컨테이너",
31
31
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "추가 옵션 버튼",
32
- "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Original content was deleted",
32
+ "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "원본 콘텐츠가 삭제되었습니다",
33
33
  "groupSharedFeatures.threadedAnnotations.reply": "답글",
34
34
  "groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel": "답글 버튼",
35
35
  "groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel": "해결",
@@ -59,7 +59,7 @@ groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel =
59
59
  # Aria label for more options button in annotation message
60
60
  groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel = 추가 옵션 버튼
61
61
  # Tooltip shown when the annotation badge refers to deleted content
62
- groupSharedFeatures.threadedAnnotations.originalContentDeleted = Original content was deleted
62
+ groupSharedFeatures.threadedAnnotations.originalContentDeleted = 원본 콘텐츠가 삭제되었습니다
63
63
  # Reply button text to start composing a reply
64
64
  groupSharedFeatures.threadedAnnotations.reply = 답글
65
65
  # Aria label for the reply button that opens the message editor
@@ -29,7 +29,7 @@ export default {
29
29
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Lagrer ...",
30
30
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Rullebeholder for meldingsredaktør",
31
31
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Knapp for flere alternativer",
32
- "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Original content was deleted",
32
+ "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Opprinnelig innhold ble slettet",
33
33
  "groupSharedFeatures.threadedAnnotations.reply": "Svar",
34
34
  "groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel": "Svar-knapp",
35
35
  "groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel": "Avklar",
@@ -59,7 +59,7 @@ groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel =
59
59
  # Aria label for more options button in annotation message
60
60
  groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel = Knapp for flere alternativer
61
61
  # Tooltip shown when the annotation badge refers to deleted content
62
- groupSharedFeatures.threadedAnnotations.originalContentDeleted = Original content was deleted
62
+ groupSharedFeatures.threadedAnnotations.originalContentDeleted = Opprinnelig innhold ble slettet
63
63
  # Reply button text to start composing a reply
64
64
  groupSharedFeatures.threadedAnnotations.reply = Svar
65
65
  # Aria label for the reply button that opens the message editor
@@ -29,7 +29,7 @@ export default {
29
29
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Wordt opgeslagen …",
30
30
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Scrolcontainer berichteneditor",
31
31
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Knop Meer opties",
32
- "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Original content was deleted",
32
+ "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Oorspronkelijke inhoud is verwijderd",
33
33
  "groupSharedFeatures.threadedAnnotations.reply": "Beantwoorden",
34
34
  "groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel": "Knop Beantwoorden",
35
35
  "groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel": "Oplossen",
@@ -59,7 +59,7 @@ groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel =
59
59
  # Aria label for more options button in annotation message
60
60
  groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel = Knop Meer opties
61
61
  # Tooltip shown when the annotation badge refers to deleted content
62
- groupSharedFeatures.threadedAnnotations.originalContentDeleted = Original content was deleted
62
+ groupSharedFeatures.threadedAnnotations.originalContentDeleted = Oorspronkelijke inhoud is verwijderd
63
63
  # Reply button text to start composing a reply
64
64
  groupSharedFeatures.threadedAnnotations.reply = Beantwoorden
65
65
  # Aria label for the reply button that opens the message editor
@@ -29,7 +29,7 @@ export default {
29
29
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Trwa zapisywanie...",
30
30
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Kontener przewijania edytora wiadomości",
31
31
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Przycisk większej liczby opcji",
32
- "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Original content was deleted",
32
+ "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Oryginalna zawartość została usunięta",
33
33
  "groupSharedFeatures.threadedAnnotations.reply": "Odpowiedz",
34
34
  "groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel": "Przycisk odpowiedzi",
35
35
  "groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel": "Rozstrzygnij",
@@ -59,7 +59,7 @@ groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel =
59
59
  # Aria label for more options button in annotation message
60
60
  groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel = Przycisk większej liczby opcji
61
61
  # Tooltip shown when the annotation badge refers to deleted content
62
- groupSharedFeatures.threadedAnnotations.originalContentDeleted = Original content was deleted
62
+ groupSharedFeatures.threadedAnnotations.originalContentDeleted = Oryginalna zawartość została usunięta
63
63
  # Reply button text to start composing a reply
64
64
  groupSharedFeatures.threadedAnnotations.reply = Odpowiedz
65
65
  # Aria label for the reply button that opens the message editor
@@ -29,7 +29,7 @@ export default {
29
29
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Salvando...",
30
30
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Contêiner de rolagem do editor de mensagens",
31
31
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Botão Mais opções",
32
- "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Original content was deleted",
32
+ "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "O conteúdo original foi excluído",
33
33
  "groupSharedFeatures.threadedAnnotations.reply": "Responder",
34
34
  "groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel": "Botão Responder",
35
35
  "groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel": "Resolver",
@@ -59,7 +59,7 @@ groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel =
59
59
  # Aria label for more options button in annotation message
60
60
  groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel = Botão Mais opções
61
61
  # Tooltip shown when the annotation badge refers to deleted content
62
- groupSharedFeatures.threadedAnnotations.originalContentDeleted = Original content was deleted
62
+ groupSharedFeatures.threadedAnnotations.originalContentDeleted = O conteúdo original foi excluído
63
63
  # Reply button text to start composing a reply
64
64
  groupSharedFeatures.threadedAnnotations.reply = Responder
65
65
  # Aria label for the reply button that opens the message editor
@@ -29,7 +29,7 @@ export default {
29
29
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Сохранение...",
30
30
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Контейнер прокрутки редактора сообщений",
31
31
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Кнопка дополнительных параметров",
32
- "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Original content was deleted",
32
+ "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Оригинальный контент удален",
33
33
  "groupSharedFeatures.threadedAnnotations.reply": "Ответить",
34
34
  "groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel": "Кнопка ответа",
35
35
  "groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel": "Разрешить",
@@ -59,7 +59,7 @@ groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel =
59
59
  # Aria label for more options button in annotation message
60
60
  groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel = Кнопка дополнительных параметров
61
61
  # Tooltip shown when the annotation badge refers to deleted content
62
- groupSharedFeatures.threadedAnnotations.originalContentDeleted = Original content was deleted
62
+ groupSharedFeatures.threadedAnnotations.originalContentDeleted = Оригинальный контент удален
63
63
  # Reply button text to start composing a reply
64
64
  groupSharedFeatures.threadedAnnotations.reply = Ответить
65
65
  # Aria label for the reply button that opens the message editor
@@ -29,7 +29,7 @@ export default {
29
29
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Sparar ...",
30
30
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Skrollbar behållare för meddelanderedaktör",
31
31
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Knappen fler alternativ",
32
- "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Original content was deleted",
32
+ "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Ursprungligt innehåll raderades",
33
33
  "groupSharedFeatures.threadedAnnotations.reply": "Svara",
34
34
  "groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel": "Knappen Svara",
35
35
  "groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel": "Löst",
@@ -59,7 +59,7 @@ groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel =
59
59
  # Aria label for more options button in annotation message
60
60
  groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel = Knappen fler alternativ
61
61
  # Tooltip shown when the annotation badge refers to deleted content
62
- groupSharedFeatures.threadedAnnotations.originalContentDeleted = Original content was deleted
62
+ groupSharedFeatures.threadedAnnotations.originalContentDeleted = Ursprungligt innehåll raderades
63
63
  # Reply button text to start composing a reply
64
64
  groupSharedFeatures.threadedAnnotations.reply = Svara
65
65
  # Aria label for the reply button that opens the message editor
@@ -29,7 +29,7 @@ export default {
29
29
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Kaydediliyor...",
30
30
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Mesaj düzenleyici kaydırma konteyneri",
31
31
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Diğer seçenekler düğmesi",
32
- "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Original content was deleted",
32
+ "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Orijinal içerik silindi",
33
33
  "groupSharedFeatures.threadedAnnotations.reply": "Yanıtla",
34
34
  "groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel": "Yanıtla düğmesi",
35
35
  "groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel": "Çöz",
@@ -59,7 +59,7 @@ groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel =
59
59
  # Aria label for more options button in annotation message
60
60
  groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel = Diğer seçenekler düğmesi
61
61
  # Tooltip shown when the annotation badge refers to deleted content
62
- groupSharedFeatures.threadedAnnotations.originalContentDeleted = Original content was deleted
62
+ groupSharedFeatures.threadedAnnotations.originalContentDeleted = Orijinal içerik silindi
63
63
  # Reply button text to start composing a reply
64
64
  groupSharedFeatures.threadedAnnotations.reply = Yanıtla
65
65
  # Aria label for the reply button that opens the message editor
@@ -29,7 +29,7 @@ export default {
29
29
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "正在保存...",
30
30
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "消息编辑器滚动容器",
31
31
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "更多选项按钮",
32
- "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Original content was deleted",
32
+ "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "原始内容已删除",
33
33
  "groupSharedFeatures.threadedAnnotations.reply": "回复",
34
34
  "groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel": "回复按钮",
35
35
  "groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel": "解决",
@@ -59,7 +59,7 @@ groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel =
59
59
  # Aria label for more options button in annotation message
60
60
  groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel = 更多选项按钮
61
61
  # Tooltip shown when the annotation badge refers to deleted content
62
- groupSharedFeatures.threadedAnnotations.originalContentDeleted = Original content was deleted
62
+ groupSharedFeatures.threadedAnnotations.originalContentDeleted = 原始内容已删除
63
63
  # Reply button text to start composing a reply
64
64
  groupSharedFeatures.threadedAnnotations.reply = 回复
65
65
  # Aria label for the reply button that opens the message editor
@@ -29,7 +29,7 @@ export default {
29
29
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "儲存中...",
30
30
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "訊息編輯者捲動容器",
31
31
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "更多選項按鈕",
32
- "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Original content was deleted",
32
+ "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "原始內容已刪除",
33
33
  "groupSharedFeatures.threadedAnnotations.reply": "回覆",
34
34
  "groupSharedFeatures.threadedAnnotations.replyButtonAriaLabel": "回覆按鈕",
35
35
  "groupSharedFeatures.threadedAnnotations.resolveButtonAriaLabel": "已回覆",
@@ -59,7 +59,7 @@ groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel =
59
59
  # Aria label for more options button in annotation message
60
60
  groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel = 更多選項按鈕
61
61
  # Tooltip shown when the annotation badge refers to deleted content
62
- groupSharedFeatures.threadedAnnotations.originalContentDeleted = Original content was deleted
62
+ groupSharedFeatures.threadedAnnotations.originalContentDeleted = 原始內容已刪除
63
63
  # Reply button text to start composing a reply
64
64
  groupSharedFeatures.threadedAnnotations.reply = 回覆
65
65
  # Aria label for the reply button that opens the message editor
@@ -1,5 +1,10 @@
1
1
  import { UserContactType } from '@box/user-selector';
2
+ import { Editor } from '@tiptap/core';
2
3
  import { EditorMentionAttributes } from '../../../../v2/types';
3
- export declare const useMentionUserSelection: (command: ((props: EditorMentionAttributes) => void) | null) => {
4
+ export type MentionSelectionTarget = {
5
+ command: (props: EditorMentionAttributes) => void;
6
+ editor: Editor;
7
+ };
8
+ export declare const useMentionUserSelection: (target: MentionSelectionTarget | null) => {
4
9
  onUserSelected: (user: UserContactType) => Promise<void>;
5
10
  };
@@ -1,3 +1,8 @@
1
+ import { UserContactType } from '@box/user-selector';
1
2
  import { MessageEditorProps } from '../message-editor';
2
3
  export declare const defaultUserSelectorProps: Omit<import('@box/user-selector').HeadlessUserSelectorProps, "value" | "open" | "rootElement" | "onSelectedUserChange" | "inputElementRef">;
3
- export declare const DefaultMessageEditor: (props: MessageEditorProps) => import("react/jsx-runtime").JSX.Element;
4
+ type DefaultMessageEditorProps = MessageEditorProps & {
5
+ fetchCollaboratorState?: (user: UserContactType) => Promise<boolean>;
6
+ };
7
+ export declare const DefaultMessageEditor: ({ fetchCollaboratorState, ...props }: DefaultMessageEditorProps) => import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -7,12 +7,17 @@ export declare enum AnnotationBadgeType {
7
7
  }
8
8
  /**
9
9
  * Describes the annotation target for a root annotation message.
10
- * Highlight annotations display the highlighted text excerpt.
10
+ * Highlight annotations display the highlighted text excerpt, falling back to the page number when the text is unavailable.
11
11
  * Frame annotations display a formatted timestamp.
12
12
  * Drawing, point, and region annotations display the page number.
13
13
  */
14
14
  export type AnnotationBadgeTargetType = {
15
15
  highlightedText: string;
16
+ page?: number;
17
+ type: AnnotationBadgeType.Highlight;
18
+ } | {
19
+ highlightedText?: null;
20
+ page: number;
16
21
  type: AnnotationBadgeType.Highlight;
17
22
  } | {
18
23
  page: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@box/threaded-annotations",
3
- "version": "1.84.5",
3
+ "version": "1.84.7",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "dependencies": {
6
6
  "@tanstack/react-virtual": "^3.10.8",
@@ -16,23 +16,23 @@
16
16
  "uuid": "^9.0.1"
17
17
  },
18
18
  "peerDependencies": {
19
- "@box/blueprint-web": "^14.24.0",
20
- "@box/blueprint-web-assets": "^4.115.11",
21
- "@box/collaboration-popover": "^1.61.17",
22
- "@box/readable-time": "^1.40.17",
23
- "@box/user-selector": "^1.75.17",
19
+ "@box/blueprint-web": "^14.24.1",
20
+ "@box/blueprint-web-assets": "^4.115.12",
21
+ "@box/collaboration-popover": "^1.61.19",
22
+ "@box/readable-time": "^1.40.19",
23
+ "@box/user-selector": "^1.75.19",
24
24
  "clsx": "^1.2.1",
25
25
  "react": "^18.0.0",
26
26
  "react-dom": "^18.0.0",
27
27
  "react-intl": "^6.4.2"
28
28
  },
29
29
  "devDependencies": {
30
- "@box/blueprint-web": "^14.24.0",
31
- "@box/blueprint-web-assets": "^4.115.11",
32
- "@box/eslint-plugin-blueprint": "1.1.18",
33
- "@box/readable-time": "^1.40.17",
34
- "@box/storybook-utils": "^0.18.11",
35
- "@box/user-selector": "^1.75.17",
30
+ "@box/blueprint-web": "^14.24.1",
31
+ "@box/blueprint-web-assets": "^4.115.12",
32
+ "@box/eslint-plugin-blueprint": "1.1.19",
33
+ "@box/readable-time": "^1.40.19",
34
+ "@box/storybook-utils": "^0.18.12",
35
+ "@box/user-selector": "^1.75.19",
36
36
  "react": "^18.0.0",
37
37
  "react-dom": "^18.0.0"
38
38
  },