@box/threaded-annotations 1.84.6 → 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 +6 -6
@@ -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": "⟦萬萬萬萬萬 Τĥŕεǻďëď αʼnʼnσťãτīøń 國國國國國⟧",
3
- "groupSharedFeatures.threadedAnnotations.annotationMessageAriaLabel": "⟦萬萬萬萬萬 Ăńйоταţìøń mêŝśăġè 國國國國國⟧",
4
- "groupSharedFeatures.threadedAnnotations.annotationPage": "⟦萬萬 Pǻĝė {number} 國國⟧",
5
- "groupSharedFeatures.threadedAnnotations.cancelDeleteButtonAriaLabel": "⟦萬萬萬萬萬 Čäηçéļ ďèľėŧë ьцŧŧôл 國國國國國⟧",
6
- "groupSharedFeatures.threadedAnnotations.delete": "⟦萬 Ðёľèτє 國⟧",
7
- "groupSharedFeatures.threadedAnnotations.deleteButtonAriaLabel": "⟦萬萬萬 Ðëĺęŧĕ ьûťţòи 國國國⟧",
8
- "groupSharedFeatures.threadedAnnotations.deleteCancel": "⟦萬 Çáʼnсεļ 國⟧",
9
- "groupSharedFeatures.threadedAnnotations.deleteCommentQuestion": "⟦萬萬萬萬萬萬萬萬萬萬 Ďô ÿőц шąņţ τö ďéĺєţĕ ťĥïş ćómměŋţ? 國國國國國國國國國國⟧",
10
- "groupSharedFeatures.threadedAnnotations.deleteCommentWithRepliesQuestion": "⟦萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬萬 Ďèļėτέ τħīѕ čоmměńţ ǻŋď яёΡļιέş? Ţнìѕ äĉτιőʼn ¢ãивë ųŋďöņê. 國國國國國國國國國國國國國國國國國國⟧",
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": "⟦萬萬 Ľοãďĩʼnğ... 國國⟧",
28
- "groupSharedFeatures.threadedAnnotations.messageEditor.save": "⟦萬 Ѕàνë 國⟧",
29
- "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "⟦萬萬 Ŝάνιήĝ... 國國⟧",
30
- "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "⟦萬萬萬萬萬萬萬萬萬 Мεşŝάğέ ėďïţòŗ śċřôļĺ čόиţαιńεґ 國國國國國國國國國⟧",
31
- "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "⟦萬萬萬萬萬 Мöґė ŏΡτіоηѕ вµττόņ 國國國國國⟧",
32
- "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "⟦萬萬萬萬萬萬萬萬 Ōгíĝìήăļ ċôņťëʼnŧ ωäş ďєľèťеď 國國國國國國國國⟧",
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íèш űşēř Ρŗŏƒіĺė ьũţŧоп 國國國國國國國⟧"
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 = ⟦萬萬萬萬萬 Τĥŕεǻďëď αʼnʼnσťãτīøń 國國國國國⟧
2
+ boxui.threadedAnnotations.threadedAnnotationsAriaLabel = ⟦萬萬萬萬萬 Ţĥŗёáďéď ąπŋσŧąτϊόй 國國國國國⟧
3
3
  # Aria label for annotation message container
4
- groupSharedFeatures.threadedAnnotations.annotationMessageAriaLabel = ⟦萬萬萬萬萬 Ăńйоταţìøń 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 = ⟦萬 Çáʼnсεļ 國⟧
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ěńţ ǻŋď яёΡļιέş? Ţнìѕ äĉτιőʼn ¢ãивë ųŋďöņê. 國國國國國國國國國國國國國國國國國國⟧
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 = ⟦萬萬 Ľοãďĩʼnğ... 國國⟧
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 = ⟦萬萬萬萬萬萬萬萬萬 Мεşŝάğέ ėďïţòŗ śċřôļĺ čόиţαιńεґ 國國國國國國國國國⟧
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 = ⟦萬萬萬萬萬萬萬萬 Ōгíĝìήăļ ċôņťëʼnŧ ωäş ďєľèťеď 國國國國國國國國⟧
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 = ⟦萬萬萬 ŔєΡļУ вųτŧόʼn 國國國⟧
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.6",
3
+ "version": "1.84.7",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "dependencies": {
6
6
  "@tanstack/react-virtual": "^3.10.8",
@@ -18,9 +18,9 @@
18
18
  "peerDependencies": {
19
19
  "@box/blueprint-web": "^14.24.1",
20
20
  "@box/blueprint-web-assets": "^4.115.12",
21
- "@box/collaboration-popover": "^1.61.18",
22
- "@box/readable-time": "^1.40.18",
23
- "@box/user-selector": "^1.75.18",
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",
@@ -30,9 +30,9 @@
30
30
  "@box/blueprint-web": "^14.24.1",
31
31
  "@box/blueprint-web-assets": "^4.115.12",
32
32
  "@box/eslint-plugin-blueprint": "1.1.19",
33
- "@box/readable-time": "^1.40.18",
33
+ "@box/readable-time": "^1.40.19",
34
34
  "@box/storybook-utils": "^0.18.12",
35
- "@box/user-selector": "^1.75.18",
35
+ "@box/user-selector": "^1.75.19",
36
36
  "react": "^18.0.0",
37
37
  "react-dom": "^18.0.0"
38
38
  },