@antscorp/antsomi-ui 1.3.5-beta.831 → 1.3.5-beta.833

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.
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import type { PayloadInfo } from '@antscorp/antsomi-ui/es/types';
2
3
  export type TDisplayFormat = 'number' | 'percentage' | 'currency' | 'datetime';
3
4
  type DisplayFormatProps = {
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /* eslint-disable no-param-reassign */
3
3
  // Libraries
4
- import { memo, useCallback, useEffect, useMemo } from 'react';
4
+ import { memo, useCallback, useEffect, useMemo, useState } from 'react';
5
5
  import { useImmer } from 'use-immer';
6
6
  import _ from 'lodash';
7
7
  // Components & Styled
@@ -18,6 +18,7 @@ const { Text } = Typography;
18
18
  const emojiListParsed = JSON.parse(JSON.stringify(ICON_EMOJI_COMMON));
19
19
  const CommonCollection = ({ onEmojiClick }) => {
20
20
  // States
21
+ const [visibleCount, setVisibleCount] = useState(40);
21
22
  const [state, setState] = useImmer({
22
23
  collectionActive: SMILEYS_BODY,
23
24
  txtSearch: '',
@@ -47,10 +48,22 @@ const CommonCollection = ({ onEmojiClick }) => {
47
48
  });
48
49
  }
49
50
  }, [setState]);
51
+ const onScroll = useCallback((e, collectionLength) => {
52
+ const { scrollTop, scrollHeight, clientHeight } = e.target;
53
+ if (scrollHeight - scrollTop <= clientHeight * 1.5) {
54
+ setVisibleCount(prev => {
55
+ const newCount = prev + 30;
56
+ if (newCount >= collectionLength)
57
+ return collectionLength;
58
+ return newCount;
59
+ });
60
+ }
61
+ }, []);
50
62
  const handleChangeSelect = useCallback((newCollection) => {
51
63
  setState(draft => {
52
64
  draft.collectionActive = newCollection;
53
65
  });
66
+ setVisibleCount(prev => prev + 10);
54
67
  }, [setState]);
55
68
  useEffect(() => () => {
56
69
  setState(() => ({
@@ -72,13 +85,14 @@ const CommonCollection = ({ onEmojiClick }) => {
72
85
  (_.isArray(emojiCollection) && emojiCollection.length === 0)) {
73
86
  return (_jsx(EmptyEmoji, { image: _jsx(Button, { type: "text", shape: "round", icon: _jsx(EmojiSmileIcon, { color: globalToken?.bw5, style: { width: 30, height: 30 } }), style: { width: 60, height: 60, background: globalToken?.bw2 } }), imageStyle: { height: 60, marginBottom: 15 }, description: _jsx("span", { style: { color: globalToken?.bw8 }, children: "No emoji matches your keyword" }) }));
74
87
  }
75
- const content = emojiCollection.map((item) => {
88
+ const list = emojiCollection.slice(0, Math.min(visibleCount, emojiCollection.length));
89
+ const content = list.map((item) => {
76
90
  const { emoji, slug = '', unicode_version: unicodeVersion = '' } = item;
77
91
  const key = `${slug}-${unicodeVersion}`;
78
92
  return (_jsx(Emoji, { type: "text", onClick: () => onEmojiClick(emoji), children: _jsx("span", { style: { fontSize: '30px' }, children: emoji }) }, key));
79
93
  });
80
- return (_jsx(Scrollbars, { autoHeight: true, autoHeightMax: 150, children: _jsx(Flex, { wrap: "wrap", children: content }) }));
81
- }, [emojiCollection, onEmojiClick]);
94
+ return (_jsx(Scrollbars, { autoHeight: true, autoHeightMax: 150, onScroll: e => onScroll(e, emojiCollection.length), children: _jsx(Flex, { wrap: "wrap", children: content }) }));
95
+ }, [emojiCollection, visibleCount, onScroll, onEmojiClick]);
82
96
  return (_jsxs(WrapperCollection, { children: [_jsxs(Flex, { gap: 20, justify: "space-between", align: "flex-end", children: [_jsx(Input, { placeholder: "Search...", suffix: _jsx(SearchIcon, { color: globalToken?.bw8 }), styles: { affixWrapper: { minWidth: 280 } }, onChange: handleChangeInput }), _jsx(Select, { placeholder: "Select collection", value: state.collectionActive, style: { width: 200 }, options: collectionOptions, optionRender: renderOption, onChange: handleChangeSelect })] }), _jsx(EmojiList, { children: renderCommonCollection() })] }));
83
97
  };
84
98
  CommonCollection.defaultProps = {
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /* eslint-disable no-param-reassign */
3
3
  // Libraries
4
- import { memo, useCallback, useEffect, useMemo } from 'react';
4
+ import { memo, useCallback, useEffect, useMemo, useState } from 'react';
5
5
  import _ from 'lodash';
6
6
  import { useImmer } from 'use-immer';
7
7
  // Components & Styled
@@ -14,6 +14,7 @@ import { LINE_MESSAGE_EMOJIS, TAB_LINE_MESSAGE_EMOJIS } from './constants';
14
14
  import { globalToken } from '@antscorp/antsomi-ui/es/constants';
15
15
  const LineCollection = ({ onEmojiClick }) => {
16
16
  // States
17
+ const [visibleCount, setVisibleCount] = useState(40);
17
18
  const [state, setState] = useImmer({
18
19
  collectionActive: TAB_LINE_MESSAGE_EMOJIS[0]?.key || '',
19
20
  });
@@ -23,7 +24,19 @@ const LineCollection = ({ onEmojiClick }) => {
23
24
  setState(draft => {
24
25
  draft.collectionActive = newCollection;
25
26
  });
27
+ setVisibleCount(prev => prev + 10);
26
28
  }, [setState]);
29
+ const onScroll = useCallback((e, collectionLength) => {
30
+ const { scrollTop, scrollHeight, clientHeight } = e.target;
31
+ if (scrollHeight - scrollTop <= clientHeight * 1.5) {
32
+ setVisibleCount(prev => {
33
+ const newCount = prev + 30;
34
+ if (newCount >= collectionLength)
35
+ return collectionLength;
36
+ return newCount;
37
+ });
38
+ }
39
+ }, []);
27
40
  useEffect(() => () => {
28
41
  setState(draft => {
29
42
  draft.collectionActive = TAB_LINE_MESSAGE_EMOJIS[0]?.key || '';
@@ -40,13 +53,14 @@ const LineCollection = ({ onEmojiClick }) => {
40
53
  if (_.isArray(emojiList) && !emojiList.length) {
41
54
  return (_jsx(EmptyEmoji, { image: _jsx(Button, { type: "text", shape: "round", icon: _jsx(EmojiSmileIcon, { color: globalToken?.bw5, style: { width: 30, height: 30 } }), style: { width: 60, height: 60, background: globalToken?.bw2 } }), imageStyle: { height: 60, marginBottom: 15 }, description: _jsx("span", { style: { color: globalToken?.bw8 }, children: "No emoji matches your keyword" }) }));
42
55
  }
43
- const content = emojiList.map((emojiId) => {
56
+ const list = emojiList.slice(0, Math.min(visibleCount, emojiList.length));
57
+ const content = list.map((emojiId) => {
44
58
  const src = getLinkLineURLImage(state.collectionActive, emojiId);
45
59
  const code = `$((${PREFIX_PATTERN_LINE_MESSAGE}:${state.collectionActive}:${emojiId}))`;
46
60
  return (_jsx(Emoji, { type: "text", icon: _jsx(EmojiImage, { src: src, alt: emojiId }), onClick: () => onEmojiClick(code) }, emojiId));
47
61
  });
48
- return (_jsx(Scrollbars, { autoHeight: true, autoHeightMax: 150, children: _jsx(Flex, { wrap: "wrap", children: content }) }));
49
- }, [emojiList, state.collectionActive, onEmojiClick]);
62
+ return (_jsx(Scrollbars, { autoHeight: true, autoHeightMax: 150, onScroll: e => onScroll(e, emojiList.length), children: _jsx(Flex, { wrap: "wrap", children: content }) }));
63
+ }, [emojiList, visibleCount, state.collectionActive, onEmojiClick, onScroll]);
50
64
  return (_jsx(WrapperCollection, { children: _jsxs(Flex, { vertical: true, children: [renderLineCategory(), _jsx(EmojiList, { children: renderLineEmoji() })] }) }));
51
65
  };
52
66
  LineCollection.defaultProps = {
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /* eslint-disable no-param-reassign */
3
3
  // Libraries
4
- import { memo, useCallback, useEffect, useMemo } from 'react';
4
+ import { memo, useCallback, useEffect, useMemo, useState } from 'react';
5
5
  import { useImmer } from 'use-immer';
6
6
  import _ from 'lodash';
7
7
  // Hooks
@@ -16,6 +16,7 @@ import { globalToken } from '@antscorp/antsomi-ui/es/constants';
16
16
  const listEmoji = Object.values(iconsViber);
17
17
  const ViberCollection = ({ onEmojiClick }) => {
18
18
  // States
19
+ const [visibleCount, setVisibleCount] = useState(40);
19
20
  const [state, setState] = useImmer({
20
21
  txtSearch: '',
21
22
  });
@@ -36,6 +37,17 @@ const ViberCollection = ({ onEmojiClick }) => {
36
37
  });
37
38
  }
38
39
  }, [setState]);
40
+ const onScroll = useCallback((e, collectionLength) => {
41
+ const { scrollTop, scrollHeight, clientHeight } = e.target;
42
+ if (scrollHeight - scrollTop <= clientHeight * 1.5) {
43
+ setVisibleCount(prev => {
44
+ const newCount = prev + 30;
45
+ if (newCount >= collectionLength)
46
+ return collectionLength;
47
+ return newCount;
48
+ });
49
+ }
50
+ }, []);
39
51
  useEffect(() => () => {
40
52
  setState(draft => {
41
53
  draft.txtSearch = '';
@@ -45,14 +57,15 @@ const ViberCollection = ({ onEmojiClick }) => {
45
57
  if (_.isArray(listEmojiMemoized) && !listEmojiMemoized.length) {
46
58
  return (_jsx(EmptyEmoji, { image: _jsx(Button, { type: "text", shape: "round", icon: _jsx(EmojiSmileIcon, { color: globalToken?.bw5, style: { width: 30, height: 30 } }), style: { width: 60, height: 60, background: globalToken?.bw2 } }), imageStyle: { height: 60, marginBottom: 15 }, description: _jsx("span", { style: { color: globalToken?.bw8 }, children: "No emoji matches your keyword" }) }));
47
59
  }
48
- const content = listEmojiMemoized.map(emojiFileName => {
60
+ const list = listEmojiMemoized.slice(0, Math.min(visibleCount, listEmojiMemoized.length));
61
+ const content = list.map(emojiFileName => {
49
62
  const src = getImageSourceViberEmoji(emojiFileName);
50
63
  const [emoji] = emojiFileName.split('.');
51
64
  const code = `(${emoji})`;
52
65
  return (_jsx(Emoji, { type: "text", icon: _jsx(EmojiImage, { src: src, alt: emojiFileName }), onClick: () => onEmojiClick(code) }, emojiFileName));
53
66
  });
54
- return (_jsx(Scrollbars, { autoHeight: true, autoHeightMax: 150, children: _jsx(Flex, { wrap: "wrap", children: content }) }));
55
- }, [listEmojiMemoized, onEmojiClick]);
67
+ return (_jsx(Scrollbars, { autoHeight: true, autoHeightMax: 150, onScroll: e => onScroll(e, listEmojiMemoized.length), children: _jsx(Flex, { wrap: "wrap", children: content }) }));
68
+ }, [listEmojiMemoized, visibleCount, onEmojiClick, onScroll]);
56
69
  return (_jsx(WrapperCollection, { children: _jsxs(Flex, { vertical: true, children: [_jsx(Input, { placeholder: "Search...", suffix: _jsx(SearchIcon, { color: globalToken?.bw8 }), onChange: handleChangeInput }), _jsx(EmojiList, { children: renderViberCollection() })] }) }));
57
70
  };
58
71
  ViberCollection.defaultProps = {
@@ -66,7 +66,7 @@ const EmojiPopover = ({ disabled, collections, isForceHide, children, onEmojiCli
66
66
  children: renderCollection(collection.key),
67
67
  }));
68
68
  }, [collections, renderCollection]);
69
- return (_jsx(EmojiPopoverStyled, { content: _jsx(EmojiTabs, { activeKey: state.collectionActive, onTabClick: handleClickCollection, items: emojiCollections }), placement: "topLeft", trigger: "click", style: { padding: 15 }, arrow: false, rootClassName: "antsomi-emoji-popover", open: state.isOpen, onOpenChange: handleOpenChange, children: children || (_jsx(Button, { type: "link", icon: _jsx(EmojiSmileIcon, {}), disabled: disabled, onClick: () => handleOpenChange(true) })) }));
69
+ return (_jsx(EmojiPopoverStyled, { content: _jsx(EmojiTabs, { activeKey: state.collectionActive, onTabClick: handleClickCollection, items: emojiCollections }), placement: "topLeft", trigger: "click", fresh: false, style: { padding: 15 }, arrow: false, rootClassName: "antsomi-emoji-popover", open: state.isOpen, onOpenChange: handleOpenChange, children: children || (_jsx(Button, { type: "link", icon: _jsx(EmojiSmileIcon, {}), disabled: disabled, onClick: () => handleOpenChange(true) })) }));
70
70
  };
71
71
  EmojiPopover.defaultProps = {
72
72
  disabled: false,
@@ -17,7 +17,7 @@ import '@yaireo/tagify/dist/tagify.css';
17
17
  // Styled
18
18
  import { TagTextArea, TagifyWrapper, WrapperPlaceHolder } from './styled';
19
19
  // Utils
20
- import { parseTagStringToTagify, convertInputStringToOriginal, emojiManufacturer, getEmojiTag, isPersonalizeTagType, generateTagContent, unescapeString, hasLineBreak, selectTextRange, isTagClickable, findURLInTextNodes, } from './utils';
20
+ import { parseTagStringToTagify, convertInputStringToOriginal, emojiManufacturer, getEmojiTag, isPersonalizeTagType, generateTagContent, unescapeString, hasLineBreak, selectRange, isTagClickable, findURLInTextNodes, } from './utils';
21
21
  import { acceptablePatternChecking, detectURLRegex, getCachedRegex, getPersonalizeTagInfo, patternHandlers, } from './patternHandlers';
22
22
  // Constants
23
23
  import { DETECT_LINK, EMOJI, INVALID_TAG, PERSONALIZE_PTN, PROMOTION_CODE, READONLY_TAG, SHORT_LINK, SHORT_LINK_PTN, defaultCssVariables, tagifyDefaultProps, } from './constants';
@@ -120,22 +120,34 @@ const TagifyInput = forwardRef((props, ref) => {
120
120
  // If the last range is lost, need to select the last text node of the input
121
121
  const { input: inputElement } = tagifyRef.current.DOM;
122
122
  if (inputElement) {
123
- // Get all child nodes that are of type TEXT_NODE
124
- const textNodes = Array.from(inputElement.childNodes).filter((node) => node.nodeType === Node.TEXT_NODE);
125
- // In case have text nodes
126
- // -> need to place the caret at the end of the last text
127
- if (textNodes.length) {
128
- const lastTextNode = textNodes[textNodes.length - 1];
129
- if (lastTextNode?.textContent) {
130
- const textNodeLength = lastTextNode.textContent.length;
123
+ // Get all child nodes that are of type TEXT_NODE or ELEMENT_NODE with nodeName TAG
124
+ const nodeList = Array.from(inputElement.childNodes).filter((node) => {
125
+ if (node.nodeType === Node.ELEMENT_NODE) {
126
+ return node.nodeName === 'TAG';
127
+ }
128
+ return node.nodeType === Node.TEXT_NODE;
129
+ });
130
+ if (nodeList.length && selection) {
131
+ const lastNode = nodeList[nodeList.length - 1];
132
+ // In case have the last text nodes
133
+ // -> need to place the caret at the end of the last text
134
+ if (lastNode.nodeType === Node.TEXT_NODE && lastNode?.textContent) {
135
+ const textNodeLength = lastNode.textContent.length;
131
136
  // Place the caret at the end of the last text
132
- selectTextRange(lastTextNode, textNodeLength, textNodeLength);
137
+ selectRange(lastNode, textNodeLength, textNodeLength);
138
+ onSyncSelectionStateTagify();
139
+ }
140
+ else if (lastNode.nodeType === Node.ELEMENT_NODE && lastNode?.nodeName === 'TAG') {
141
+ // In case no text nodes but have an element node
142
+ const lastNodeExceptBrLength = inputElement.childNodes.length - 1; // Exclude the last <br>
143
+ // Place the caret at the end of the last element node
144
+ selectRange(inputElement, lastNodeExceptBrLength, lastNodeExceptBrLength);
133
145
  onSyncSelectionStateTagify();
134
146
  }
135
147
  }
136
148
  else if (DOM?.scope?.classList?.contains(empty)) {
137
149
  // In case no text nodes and the input is empty
138
- selectTextRange(inputElement, 0, 0);
150
+ selectRange(inputElement, 0, 0);
139
151
  onSyncSelectionStateTagify();
140
152
  }
141
153
  }
@@ -82,31 +82,34 @@ export declare const isValidTagType: (str: string) => boolean;
82
82
  */
83
83
  export declare const hasLineBreak: (str: string) => boolean;
84
84
  /**
85
- * Selects a range of text within a given text node.
85
+ * Selects a range of text within a given DOM node.
86
86
  *
87
- * @param {Node} textNode - The text node containing the text to be selected.
88
- * @param {number} start - The starting index of the selection within the text node.
89
- * @param {number} end - The ending index of the selection within the text node.
90
- *
91
- * @throws {Error} If there's an issue creating the range or applying the selection.
87
+ * @param {Node} node - The DOM node containing the text to be selected.
88
+ * @param {number} start - The starting index position of the selection.
89
+ * @param {number} end - The ending index position of the selection.
92
90
  *
93
91
  * @example
94
92
  * const paragraph = document.querySelector('p');
95
- * const textNode = paragraph.firstChild;
96
- * selectTextRange(textNode, 5, 10);
93
+ * if (paragraph.firstChild) {
94
+ * selectRange(paragraph.firstChild, 5, 10);
95
+ * }
97
96
  *
98
97
  * @description
99
- * This function creates a new range from the given start and end positions within
100
- * the provided text node. It then applies this range to the current window selection,
101
- * effectively selecting the specified text. If any errors occur during this process,
102
- * they are caught and logged to the console along with the input parameters.
103
- *
104
- * Note: This function will only visually select the text. It does not copy the text
105
- * or perform any actions on it. The selection may not be visible if the containing
106
- * element is not focusable or if the browser prevents programmatic selection for
107
- * security reasons.
98
+ * Creates a new DOM Range from the given start and end positions within the provided node
99
+ * and applies it to the current window selection. This visually selects the specified
100
+ * portion of text in the browser.
101
+ *
102
+ * Important considerations:
103
+ * - The node should be a text node or a node that can contain text content
104
+ * - The start and end indices must be valid positions within the node's text content
105
+ * - The selection may not be visible if the containing element is not focusable
106
+ * - Some browsers may prevent programmatic selection for security reasons
107
+ * - Any errors during selection are caught and logged to the console
108
+ *
109
+ * Note that this function only creates a visual selection - it does not copy the text
110
+ * or modify it in any way.
108
111
  */
109
- export declare function selectTextRange(textNode: Node, start: number, end: number): void;
112
+ export declare function selectRange(node: Node, start: number, end: number): void;
110
113
  /**
111
114
  * Determines whether a tag is clickable based on its properties and the Tagify instance settings.
112
115
  *
@@ -458,35 +458,38 @@ export const isValidTagType = (str) => Object.values(TAG_TYPE).includes(str);
458
458
  */
459
459
  export const hasLineBreak = (str) => str.includes('\n');
460
460
  /**
461
- * Selects a range of text within a given text node.
461
+ * Selects a range of text within a given DOM node.
462
462
  *
463
- * @param {Node} textNode - The text node containing the text to be selected.
464
- * @param {number} start - The starting index of the selection within the text node.
465
- * @param {number} end - The ending index of the selection within the text node.
466
- *
467
- * @throws {Error} If there's an issue creating the range or applying the selection.
463
+ * @param {Node} node - The DOM node containing the text to be selected.
464
+ * @param {number} start - The starting index position of the selection.
465
+ * @param {number} end - The ending index position of the selection.
468
466
  *
469
467
  * @example
470
468
  * const paragraph = document.querySelector('p');
471
- * const textNode = paragraph.firstChild;
472
- * selectTextRange(textNode, 5, 10);
469
+ * if (paragraph.firstChild) {
470
+ * selectRange(paragraph.firstChild, 5, 10);
471
+ * }
473
472
  *
474
473
  * @description
475
- * This function creates a new range from the given start and end positions within
476
- * the provided text node. It then applies this range to the current window selection,
477
- * effectively selecting the specified text. If any errors occur during this process,
478
- * they are caught and logged to the console along with the input parameters.
479
- *
480
- * Note: This function will only visually select the text. It does not copy the text
481
- * or perform any actions on it. The selection may not be visible if the containing
482
- * element is not focusable or if the browser prevents programmatic selection for
483
- * security reasons.
474
+ * Creates a new DOM Range from the given start and end positions within the provided node
475
+ * and applies it to the current window selection. This visually selects the specified
476
+ * portion of text in the browser.
477
+ *
478
+ * Important considerations:
479
+ * - The node should be a text node or a node that can contain text content
480
+ * - The start and end indices must be valid positions within the node's text content
481
+ * - The selection may not be visible if the containing element is not focusable
482
+ * - Some browsers may prevent programmatic selection for security reasons
483
+ * - Any errors during selection are caught and logged to the console
484
+ *
485
+ * Note that this function only creates a visual selection - it does not copy the text
486
+ * or modify it in any way.
484
487
  */
485
- export function selectTextRange(textNode, start, end) {
488
+ export function selectRange(node, start, end) {
486
489
  try {
487
490
  const range = document.createRange();
488
- range.setStart(textNode, start);
489
- range.setEnd(textNode, end);
491
+ range.setStart(node, start);
492
+ range.setEnd(node, end);
490
493
  const selection = window.getSelection();
491
494
  if (selection) {
492
495
  selection.removeAllRanges();
@@ -495,7 +498,7 @@ export function selectTextRange(textNode, start, end) {
495
498
  }
496
499
  catch (error) {
497
500
  // eslint-disable-next-line no-console
498
- console.log('Error selecting text range', error, { textNode, start, end });
501
+ console.log('Error selecting range', error, { node, start, end });
499
502
  }
500
503
  }
501
504
  /**
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  // Libraries
3
3
  import axios from 'axios';
4
4
  import clsx from 'clsx';
@@ -860,15 +860,15 @@ export const AccountSetting = memo(forwardRef((props, ref) => {
860
860
  (logoManual && logoManual.url) ||
861
861
  (!loading ? Image : '');
862
862
  try {
863
- return (_jsxs(Spin, { spinning: loading, children: [_jsxs(AccountDetail, { className: "wrap-table", children: [_jsxs("div", { className: "form-profile", children: [_jsxs("div", { className: "left-profile", children: [logo && _jsx("img", { src: avatarUrl, alt: "" }), _jsxs("div", { className: "preview mt-10", children: [isDisabledEdit || isPreview ? null : (_jsxs(_Fragment, { children: [_jsx("div", { className: "block-choose-input-file", children: _jsx(UploadAvatar
863
+ return (_jsxs(Spin, { spinning: loading, children: [_jsxs(AccountDetail, { className: "wrap-table", children: [_jsxs("div", { className: "form-profile", children: [_jsxs("div", { className: "left-profile", children: [logo && _jsx("img", { src: avatarUrl, alt: "" }), _jsxs("div", { className: "preview mt-10", children: [isDisabledEdit || isPreview ? null : (_jsxs("div", { className: "block-choose-input-file", children: [_jsx(UploadAvatar
864
+ // ref={input => {
865
+ // this.fileInput = input;
866
+ // }}
867
+ , {
864
868
  // ref={input => {
865
869
  // this.fileInput = input;
866
870
  // }}
867
- , {
868
- // ref={input => {
869
- // this.fileInput = input;
870
- // }}
871
- onFileUploading: onFileUploading, onFileUploaded: handleChangeLogo, callbackFileError: showFileError, dimensions: { width: 5000, height: 5000 }, extensions: ['png', 'jpg', 'PNG', 'JPG'], maxFileSize: 3072, iamDomain: iamDomain, authStr: `?_token=${token}&_user_id=${accountId}&_account_id=${accountId}`, setLoading: setLoading }) }), _jsx("span", { className: "choose-file-text", children: "Change avatar" })] })), errors.avatar ? (_jsxs("div", { className: "error", style: {
871
+ onFileUploading: onFileUploading, onFileUploaded: handleChangeLogo, callbackFileError: showFileError, dimensions: { width: 5000, height: 5000 }, extensions: ['png', 'jpg', 'PNG', 'JPG'], maxFileSize: 3072, iamDomain: iamDomain, authStr: `?_token=${token}&_user_id=${accountId}&_account_id=${accountId}`, setLoading: setLoading }), _jsx("span", { className: "choose-file-text", children: "Change avatar" })] })), errors.avatar ? (_jsxs("div", { className: "error", style: {
872
872
  width: 'fit-content',
873
873
  textAlign: 'left',
874
874
  margin: '0 auto',
@@ -3,4 +3,5 @@
3
3
  * Asynchronously loads the component for TemplateListing
4
4
  *
5
5
  */
6
+ /// <reference types="react" />
6
7
  export declare const TemplateListing: (props: import("./types").TemplateListingProps<{}>) => JSX.Element;
@@ -2,7 +2,7 @@
2
2
  "_ACT_ACTION": "アクション",
3
3
  "_ACT_ADD_AN_OPTION": "オプションを追加する",
4
4
  "_ACT_ADD_BRANCH": "ブランチを追加する",
5
- "_ACT_ADD_CONDITION": "条件の追加",
5
+ "_ACT_ADD_CONDITION": "条件を追加",
6
6
  "_ACT_ADD_CRITERIA": "基準を追加する",
7
7
  "_ACT_ADD_DELAY_TIME": "その日の時刻まで遅延する",
8
8
  "_ACT_ADD_EVENT": "イベント",
@@ -33,7 +33,7 @@
33
33
  "_ACT_CHANGE": "変化",
34
34
  "_ACT_CHANGE_ASSIGN_GROUP": "割り当てグループの変更",
35
35
  "_ACT_CHANGE_FORMAT": "フォーマットの変更",
36
- "_ACT_CHANGE_PORTAL": "ポータルの変更",
36
+ "_ACT_CHANGE_PORTAL": "変更ポータル",
37
37
  "_ACT_CHANGE_TEMPLATE": "テンプレートの変更",
38
38
  "_ACT_CHART_TYPE": "グラフの種類",
39
39
  "_ACT_CHOOSE_FILE_UPLOAD": "アップロードする画像を選択してください",
@@ -47,7 +47,7 @@
47
47
  "_ACT_COPY_TO_CLIPBOARD": "クリップボードにコピー",
48
48
  "_ACT_CREATE": "作成する",
49
49
  "_ACT_CREATE_ASSIGN_ROLE": "役割の作成と割り当て",
50
- "_ACT_CREATE_NEW_EVENT_ACTION": "新しいイベントアクションの作成",
50
+ "_ACT_CREATE_NEW_EVENT_ACTION": "新しいイベントアクションを作成する",
51
51
  "_ACT_CREATE_NEW_EVENT_CATEGORY": "新しいイベント カテゴリを作成する",
52
52
  "_ACT_CREATE_NEW_MODEL": "新しいモデルを作成する",
53
53
  "_ACT_CUSTOMER_SEGMENT": "顧客セグメント",
@@ -233,7 +233,7 @@
233
233
  "_BOX_TITL_REMOVE_EVENT_ATTRIBUTE": "イベント属性の削除",
234
234
  "_BOX_TITL_REMOVE_FIELD": "フィールドの削除",
235
235
  "_BOX_TITL_REMOVE_GROUP": "グループの削除",
236
- "_BOX_TITL_REMOVE_IMAGE": "画像を削除する",
236
+ "_BOX_TITL_REMOVE_IMAGE": "画像を削除",
237
237
  "_BOX_TITL_REMOVE_MODEL": "モデルの削除",
238
238
  "_BOX_TITL_REPLACE_FILTER": "フィルターセットを交換する",
239
239
  "_BOX_TITL_SAVE_FILTER": "フィルターセットに名前を付けます",
@@ -365,7 +365,7 @@
365
365
  "_DECRYPT_DURATION_PAGE_REFRESH": "ページの更新",
366
366
  "_DECRYPT_DURATION_TIME_OUT_30": "タイムアウト30分",
367
367
  "_DELIVERY_ALGORITHM_RANDOMIZATION": "ランダム化",
368
- "_DESTINATION_DESIGN_OPTION_EXIST": "既存のデザインをロード",
368
+ "_DESTINATION_DESIGN_OPTION_EXIST": "既存のデザインをロードする",
369
369
  "_DESTINATION_DESIGN_OPTION_EXIST_INTRO": "別のキャンペーンのデザインをコピーする",
370
370
  "_DESTINATION_DESIGN_OPTION_SCRATCH": "ゼロからデザインする",
371
371
  "_DESTINATION_DESIGN_OPTION_SCRATCH_INTRO": "キャンペーンをカスタムデザインする",
@@ -382,11 +382,11 @@
382
382
  "_DURATION_CUSTOM": "カスタム",
383
383
  "_DURATION_LAST_1_HOUR": "最後の 1 時間",
384
384
  "_DURATION_LAST_14_DAY": "過去 14 日間",
385
- "_DURATION_LAST_15_MINUTE": "最後の 15 分間",
385
+ "_DURATION_LAST_15_MINUTE": "最後の 15 ",
386
386
  "_DURATION_LAST_3_HOUR": "過去 3 時間",
387
387
  "_DURATION_LAST_30_DAYS": "過去 30 日間",
388
388
  "_DURATION_LAST_30_MINUTE": "最後の 30 分",
389
- "_DURATION_LAST_5_MINUTE": "最後の 5 分間",
389
+ "_DURATION_LAST_5_MINUTE": "最後の 5 ",
390
390
  "_DURATION_LAST_6_HOUR": "過去6時間",
391
391
  "_DURATION_LAST_7_DAY": "過去 7 日間",
392
392
  "_DURATION_LAST_MONTH": "先月",
@@ -425,7 +425,7 @@
425
425
  "_EVENT_DES_CLICK_ADVERTISING": "{{customer_name}} さんがキャンペーン {{campaign_name}} をクリックしました",
426
426
  "_EVENT_DES_CLICK_EMAIL_ADVERTISING": "{{customer_name}} が広告 {{advertising_name}} のメールをクリックしました",
427
427
  "_EVENT_DES_CLICK_PRODUCT": "{{customer_name}} さんが商品 {{product_name}} をクリックしました",
428
- "_EVENT_DES_CLICK_TRACKING_ADVERTISING": "{{customer_name}} がトラッキング広告 {{advertising_name}} をクリックしました",
428
+ "_EVENT_DES_CLICK_TRACKING_ADVERTISING": "{{customer_name}} さんがトラッキング広告 {{advertising_name}} をクリックしました",
429
429
  "_EVENT_DES_IDENTIFY_USER": "匿名訪問者プロファイル {{user_id}} は、この顧客プロファイルに関連付けられていました。",
430
430
  "_EVENT_DES_IMPRESSION_ADVERTISING": "キャンペーン {{campaign_name}} は {{customer_name}} に送信されました",
431
431
  "_EVENT_DES_PURCHASE_TRANSACTION": "{{customer_name}} が、{{num_of_products}} 個の製品 {{store_link}} のトランザクション購入 ID {{order_id}} を実行しました",
@@ -435,7 +435,7 @@
435
435
  "_EVENT_DES_PERFORM_EVENT": "{{customer_name}} がイベント {{event_name}} を実行しました",
436
436
  "_EVENT_DES_PERFORM_OTHER_EVENT": "他の {{x}} アクションを実行しました",
437
437
  "_EVENT_DES_PURCHASE_OFFLINE": "{{customer_name}} は、{{num_of_products}} 個の商品 {{store_link}} のトランザクション ID {{transaction_id}} を使用してオフライン購入を実行しました",
438
- "_EVENT_DES_TRANSACTION_COMMON": "{{customer_name}} は、{{num_of_products}} 製品 {{store_link}} のトランザクション ID {{transaction_id}} で {{event_name}} を実行しました",
438
+ "_EVENT_DES_TRANSACTION_COMMON": "{{customer_name}} は、{{num_of_products}} 個の商品 {{store_link}} のトランザクション ID {{transaction_id}} で {{event_name}} を実行しました",
439
439
  "_EVENT_DES_PURCHASE_PRODUCT": "{{customer_name}} は注文 ID {{order_id}} の {{num_of_products}} 個の商品を正常に購入しました",
440
440
  "_EVENT_DES_REFUND_ORDER": "{{customer_name}} は注文 ID {{order_id}} のお金を払い戻されました",
441
441
  "_EVENT_DES_REGISTER_LEAD": "{{customer_name}} がリードとして登録されました",
@@ -515,7 +515,7 @@
515
515
  "_IMPORT_FILE_META_INCORRECT": "不正なメタデータ",
516
516
  "_IMPORT_FILE_NOT_FOUND": "ファイルが見つかりません",
517
517
  "_IMPORT_INVALID_FILE": "無効なファイル",
518
- "_IMPORT_LIMIT_COLUMNS_SIZE": "許可された制限を超えたファイル列",
518
+ "_IMPORT_LIMIT_COLUMNS_SIZE": "ファイル列が許容制限を超えています",
519
519
  "_IMPORT_LIMIT_ROWS_SIZE": "ファイル行が許容制限を超えています",
520
520
  "_IMPORT_MAPPING_FIELDS_ERROR": "フィールドのマッピングエラー",
521
521
  "_IMPORT_MISSING_REQUIRED_FIELD": "必須フィールドが欠落しています",
@@ -597,7 +597,7 @@
597
597
  "_INFO_STORY_EVERY_DAY": "日",
598
598
  "_INFO_STORY_EVERY_MONTH": "月",
599
599
  "_INFO_STORY_EVERY_WEEK": "週",
600
- "_INFO_STORY_EXE_BRANCH_NO": "他のブランチの条件がいずれも一致しない場合、オーディエンスはこのブランチに誘導されます。",
600
+ "_INFO_STORY_EXE_BRANCH_NO": "他のブランチの条件がどれも一致しない場合、オーディエンスはこのブランチに誘導されます。",
601
601
  "_INFO_STORY_FILTER_CONDITION": "状態",
602
602
  "_INFO_STORY_FILTER_TYPE": "フィルターの種類",
603
603
  "_INFO_STORY_FREQUENCY": "トリガージャーニー",
@@ -616,7 +616,7 @@
616
616
  "_INFO_STORY_SELECT_END_DATE": "締め日を選択してください",
617
617
  "_INFO_STORY_SELECT_WEEK_DAY": "曜日にトリガー",
618
618
  "_INFO_STORY_SETTING": "一般設定",
619
- "_INFO_STORY_SETTING_FREQ": "観客はこの旅に何回参加する必要があるでしょうか?",
619
+ "_INFO_STORY_SETTING_FREQ": "観客はこの旅に何回参加すべきでしょうか?",
620
620
  "_INFO_STORY_START_DATE": "開始日",
621
621
  "_INFO_STORY_START_TIME": "開始時間",
622
622
  "_INFO_STORY_STATUS_ABORTED": "中止されました",
@@ -725,7 +725,7 @@
725
725
  "_NOTI_ADD_CRITERIA": "少なくとも 1 つの条件を追加してください",
726
726
  "_NOTI_ADD_EVENT_BEFORE_ASSIGN_ATTRIBUTE": "イベント属性と参照オブジェクトを割り当てる前に、ソースにイベントを追加する必要があります",
727
727
  "_NOTI_ALERT_EDIT_DESTINATION": "この宛先を編集すると、他の機能の入力に影響します",
728
- "_NOTI_AM_BEING_COMPUTED": "このモデルは計算中です。構築プロセスが完了するまで一部のフィールドを変更できません",
728
+ "_NOTI_AM_BEING_COMPUTED": "このモデルは計算中です。構築プロセスが完了するまで一部のフィールドは変更できません",
729
729
  "_NOTI_ASSIGN_ATTRIBUTE_ERROR": "属性の割り当てエラー",
730
730
  "_NOTI_ATTR_HAS_BEEN_REMOVE": "属性が削除されました",
731
731
  "_NOTI_ATTRIBUTE_BEING_COMPUTED": "この属性は計算中です。構築プロセスが完了するまで一部のフィールドは変更できません",
@@ -868,7 +868,7 @@
868
868
  "_RECOMD_FACTORIZATION_VIEW": "因数分解ビューイベント",
869
869
  "_RECOMD_ITEM_SIMILARITY_PURCHASE": "アイテム類似購入イベント",
870
870
  "_RECOMD_ITEM_SIMILARITY_VIEW": "アイテム類似性表示イベント",
871
- "_RECOMD_NO_PRODUCT": "推奨される製品はありません。",
871
+ "_RECOMD_NO_PRODUCT": "おすすめの商品はありません。",
872
872
  "_RECOMD_RANK_FACTORIZATION_PURCHASE": "ランク因数分解購入イベント",
873
873
  "_RECOMD_RANK_FACTORIZATION_VIEW": "ランク因数分解ビューイベント",
874
874
  "_RENDER_FORMAT": "表示形式",
@@ -1018,7 +1018,7 @@
1018
1018
  "_TITL_COMPRESS_FILE": "ファイルを圧縮する",
1019
1019
  "_TITL_COMPUTE_SCHEDULE": "コンピューティングスケジュール",
1020
1020
  "_TITL_COMPUTE_TIME_RANGE": "計算時間範囲",
1021
- "_TITL_COMPUTE_WITH_CONDITION": "以下の条件で計算します",
1021
+ "_TITL_COMPUTE_WITH_CONDITION": "以下の条件で計算してください",
1022
1022
  "_TITL_COMPUTED_ATTR_TYPE": "計算された属性のタイプ",
1023
1023
  "_TITL_CONFIGURE_FIELD": "フィールドの構成",
1024
1024
  "_TITL_CONFIGURE_LAYOUT_VARIABLE": "レイアウト変数を設定する",
@@ -1052,7 +1052,7 @@
1052
1052
  "_TITL_DELIVERED": "納品済み",
1053
1053
  "_TITL_DELIVERED_PROBABILITY": "配信確率",
1054
1054
  "_TITL_DELIVERY_ALGORITHM": "配信アルゴリズム",
1055
- "_TITL_DELIVERY_DETAIL": "配送詳細",
1055
+ "_TITL_DELIVERY_DETAIL": "納品詳細",
1056
1056
  "_TITL_DELIVERY_PERFORMANCE": "配信パフォーマンス",
1057
1057
  "_TITL_DELIVERY_RATE": "配送率",
1058
1058
  "_TITL_DELIVERY_RESULT": "納品実績",
@@ -1217,7 +1217,7 @@
1217
1217
  "_TITL_ORIGINAL_NAME": "オリジナル",
1218
1218
  "_TITL_PAGE_DOWNLOAD": "ページのダウンロード",
1219
1219
  "_TITL_PERCENTAGE": "パーセンテージ",
1220
- "_TITL_PERCENTAGE_SETTING": "パーセント設定",
1220
+ "_TITL_PERCENTAGE_SETTING": "パーセンテージ設定",
1221
1221
  "_TITL_PERFORM_EVENT": "イベントを行う",
1222
1222
  "_TITL_PERSONALIZATION_CODE": "コードをマージ",
1223
1223
  "_TITL_PERSONALIZATION_TAG": "タグを結合",
@@ -1335,7 +1335,7 @@
1335
1335
  "_USER_GUIDE_AUDIDENCE_PARENT_NODE": "親ノードからの {{percent}} 視聴者",
1336
1336
  "_USER_GUIDE_CATALOG_CLOUD": "データをクラウド アプリから当社のシステムに効果的に同期すると、すべてのフラグメント データを相互接続して、ビジネス運営の 1 つの詳細な概要を得ることができます。",
1337
1337
  "_USER_GUIDE_CATALOG_MOBILE_APP": "ビジネス モバイル アプリをデータ ソースとして接続し、ユーザーが製品やアプリとどのようにやり取りしているかを確認します。",
1338
- "_USER_GUIDE_CATALOG_SERVER": "お客様のサーバーから当社のシステムにデータを直接送信することで、当社の分析ツールの多くを使用して顧客と業績をより深く理解できるようになります。",
1338
+ "_USER_GUIDE_CATALOG_SERVER": "データをサーバーから当社のシステムに直接送信することで、当社の分析ツールの多くを使用して顧客と業績をより深く理解できるようになります。",
1339
1339
  "_USER_GUIDE_CATALOG_WEBSITE": "ビジネス Web サイトをデータ ソースとして接続し、製品に対するユーザーの意図に関する驚くべき洞察を発見します。",
1340
1340
  "_USER_GUIDE_CHOOOSE_ATTR_DISPLAY": "顧客/訪問者の各プロファイルに表示される属性を選択します",
1341
1341
  "_USER_GUIDE_CHOOSE_EVENT_ATTRIBUTE_OBJECT": "イベント属性とオブジェクトの選択",
@@ -1404,7 +1404,7 @@
1404
1404
  "_USER_GUIDE_SEE_SAMPLE_ITEM": "このコレクションのアイテムのサンプルを見る",
1405
1405
  "_USER_GUIDE_SEE_SAMPLE_USER": "この対象ユーザーのサンプルを見る",
1406
1406
  "_USER_GUIDE_SEGMENT_CREATE_CRITERIA": "ファイルの情報を使用して、このセグメントに適した視聴者を見つけるための基準を作成します",
1407
- "_USER_GUIDE_SEGMENT_CREATE_CRITERIA_INTRO": "システムは条件を満たす視聴者を探して、このセグメントに追加します。",
1407
+ "_USER_GUIDE_SEGMENT_CREATE_CRITERIA_INTRO": "システムは基準を満たす視聴者を探し、このセグメントに追加します。",
1408
1408
  "_USER_GUIDE_SEGMENT_CREATE_CRITERIA_NOTE": "<b>注:</b> アップロードされたファイルからは、このシステムに存在する ID を持つ視聴者のみを作成するセグメントに追加できます。アップロードされたファイルは最後に使用されてから 6 か月間保存され、その後は使用できなくなります。",
1409
1409
  "_USER_GUIDE_SELECT_A_ATTRIBUTE": "属性を選択してください",
1410
1410
  "_USER_GUIDE_SELECT_A_CATALOG": "カタログを選択してください",
@@ -1424,7 +1424,7 @@
1424
1424
  "_USER_GUIDE_TOTAL_ATTR_MEASURE": "合計 {{num_attr}} 個の属性と {{num_measure}} 個のメジャーが選択されました",
1425
1425
  "_USER_GUIDE_TOTAL_BRANCH": "注: 合計 100%",
1426
1426
  "_USER_GUIDE_TOTAL_FIELD": "{{x}} 個の選択されたフィールド",
1427
- "_USER_GUIDE_UPLOAD_FILE": "- サポートされているファイル形式は次のとおりです: .csv、.xls、.xlsx <br />\n- .xlsx ファイルの最初の行はヘッダー行とみなされます<br />\n- デフォルトのデータエンコーディングはUTF-8です。",
1427
+ "_USER_GUIDE_UPLOAD_FILE": "- サポートされているファイル形式は次のとおりです: .csv、.xls、.xlsx <br />\n- .xlsx ファイルの最初の行はヘッダー行とみなされます<br />\n- デフォルトのデータエンコーディングはUTF-8です",
1428
1428
  "_USER_GUIDE_UPLOAD_FILE_BEFORE_MAPPING": "属性をマッピングする前にファイルをアップロードする必要があります",
1429
1429
  "_USER_GUIDE_UPLOAD_WAITING": "システムの処理が完了するまで 10 分間お待ちください。<br />\nページを更新してデータを確認します",
1430
1430
  "_USER_GUIDE_USER_NOT_FOUND": "ユーザーが見つかりません",
@@ -1513,7 +1513,7 @@
1513
1513
  "_TITL_EXPIRATION_TIME": "有効期限",
1514
1514
  "_USER_GUIDE_UPLOAD_PROMOTION_CODE": "<b>注:</b>\n </br> - CDP 365 に存在しない新しいコードのみをインポートできます\n </br> - アップロードされたファイルは最後に使用されてから 6 か月間保存され、その後は使用できなくなります。",
1515
1515
  "_TAB_PROMOTION_CODE": "プロモーションコード",
1516
- "_TAB_POOL_SETTING": "プールの設定",
1516
+ "_TAB_POOL_SETTING": "プール設定",
1517
1517
  "_TITL_PROMOTION_CODE_INFO": "プロモーションコード情報",
1518
1518
  "_TITL_CODE_GENERAL_INFO": "コードの一般情報",
1519
1519
  "_TITL_CODE_DELIVERY_INFO": "コード配信情報",
@@ -1536,7 +1536,7 @@
1536
1536
  "_CODE_RULE_EMPTY": "無効なコードです!コードを空にすることはできません。",
1537
1537
  "_CODE_RULE_INVALID_FORMAT": "aud_*、number_*、および sgmt_* 形式のコードはシステム用に予約されています。",
1538
1538
  "_CODE_RULE_INVALID_FORMAT_EVT": "*_id 、 aud_* 、number_* および sgmt_* 形式のコードはシステム用に予約されています。",
1539
- "_NAME_RULE_INVALID_CHARACTER": "名前が無効です!名前は文字 a ~ Z またはアンダースコアで始める必要があります。",
1539
+ "_NAME_RULE_INVALID_CHARACTER": "名前が無効です!名前は文字 a ~ Z またはアンダースコアで始まる必要があります。",
1540
1540
  "_NAME_RULE_INVALID_MAX_LENGTH": "名前が無効です!名前は 255 文字以内です。",
1541
1541
  "_NAME_RULE_EMPTY": "名前が無効です!名前を空にすることはできません。",
1542
1542
  "_DELIVERY_STATUS_SENT": "送信済み",
@@ -1579,8 +1579,8 @@
1579
1579
  "_TITL_ADD_FIELD": "フィールドの追加",
1580
1580
  "_ITEM_NAME_LINE_ITEM_ATTRIBUTE": "ラインアイテム属性",
1581
1581
  "_CHK_IGNORE_DUPLICATE": "予定された旅行の重複メッセージを無視する",
1582
- "_CHK_LIMITED_FREQ_JOURNEY": "旅行の頻度を制限します(期間は 3 か月)",
1583
- "_CHK_LIMITED_FREQ_DESTINATION": "宛先の頻度を制限する",
1582
+ "_CHK_LIMITED_FREQ_JOURNEY": "旅行の回数制限(3ヶ月間)",
1583
+ "_CHK_LIMITED_FREQ_DESTINATION": "宛先の周波数を制限する",
1584
1584
  "_TITL_TIME_PER_PERSON": "1人あたりの時間",
1585
1585
  "_TITL_MEMBER_INPUT_METHOD": "メンバー入力方法",
1586
1586
  "_TITL_SET_UP_ALERT": "アラートを設定する",
@@ -1627,7 +1627,7 @@
1627
1627
  "_TITL_PREPARE_REPORT": "レポートを準備する",
1628
1628
  "_TITL_ENABLE_PARAMETER_FILTER": "パラメータフィルターを有効にする",
1629
1629
  "_TITL_ENABLE_MASTER_FILTER": "マスターフィルターを有効にする",
1630
- "_TITL_PPL_W_ACCESS": "アクセスできる人",
1630
+ "_TITL_PPL_W_ACCESS": "アクセス権のある人",
1631
1631
  "_TITL_PUBLIC_REPORT": "ポータルで公開",
1632
1632
  "_TITL_FILTER_TYPE": "フィルターの種類",
1633
1633
  "_TITL_DATA_SOURCE": "データソース",
@@ -1749,7 +1749,7 @@
1749
1749
  "_USER_GUIDE_SEG_STATUS_ARCHIVE": "セグメントは間隔の構築を停止したため、他のオブジェクトでは使用できません",
1750
1750
  "_USER_GUIDE_COL_STATUS_ENABLE": "コレクションはインターバルビルド可能で、他のオブジェクトでも使用可能",
1751
1751
  "_USER_GUIDE_COL_STATUS_DISABLE": "コレクションは間隔の構築を停止しました。 コレクションは他のオブジェクトで使用できますが、新しいデータは使用できません",
1752
- "_USER_GUIDE_COL_STATUS_ARCHIVE": "コレクションは間隔構築を停止したため、他のオブジェクトでは使用できません",
1752
+ "_USER_GUIDE_COL_STATUS_ARCHIVE": "コレクションは間隔構築を停止したため、他のオブジェクトは使用できません",
1753
1753
  "_USER_GUIDE_COMPUTE_STATUS_WAITING_INITIAL": "オブジェクトは計算スケジュールを待っています",
1754
1754
  "_USER_GUIDE_COMPUTE_STATUS_WAITING": "オブジェクトは計算を待っています",
1755
1755
  "_USER_GUIDE_COMPUTE_STATUS_COMPUTING": "オブジェクトは計算中です",
@@ -1775,7 +1775,7 @@
1775
1775
  "_PORTAL_LIMITATION_DES_COL_DELETE": "までに回復しない場合、コレクションは完全に削除されます",
1776
1776
  "_PORTAL_LIMITATION_DES_BO_DISABLED": "データ オブジェクトは、次の場所で使用されない場合は無効になります。",
1777
1777
  "_PORTAL_LIMITATION_DES_BO_ARCHIVED": "データオブジェクトは、使用されない場合はアーカイブされます。",
1778
- "_PORTAL_LIMITATION_DES_BO_DELETE": "次の期間に回復しない場合、データ オブジェクトは完全に削除されます",
1778
+ "_PORTAL_LIMITATION_DES_BO_DELETE": "データオブジェクトは、次の期間に回復しない場合は完全に削除されます。",
1779
1779
  "_PORTAL_LIMITATION_DES_ATTR_DISABLED": "で使用されない場合、属性は無効になります。 ",
1780
1780
  "_PORTAL_LIMITATION_DES_ATTR_ARCHIVED": "属性が使用されない場合はアーカイブされます。",
1781
1781
  "_PORTAL_LIMITATION_DES_ATTR_DELETE": "属性は、次の期間に回復しない場合は完全に削除されます。",
@@ -1786,7 +1786,7 @@
1786
1786
  "_COMPUTATION_SEGMENT_PROPERTY_DELETED": "セグメントのプロパティで使用されているオブジェクトが存在しません",
1787
1787
  "_COMPUTATION_ATTRIBUTE_PROPERTY_ARCHIVED": "属性のプロパティで使用されるオブジェクトはアーカイブされています",
1788
1788
  "_COMPUTATION_ATTRIBUTE_PROPERTY_DELETED": "属性のプロパティで使用されているオブジェクトが存在しません",
1789
- "_MEASURE_TYPE_UC_APPROXIMATE_DATASKETCHES": "一意の数の概算 (データスケッチ)",
1789
+ "_MEASURE_TYPE_UC_APPROXIMATE_DATASKETCHES": "一意のおおよその数 (データスケッチ)",
1790
1790
  "_TITL_ASSOCIATE_UTM": "UTMと連携する",
1791
1791
  "_TITL_PLANNING": "企画",
1792
1792
  "_TITLE_PLAN_ALL_PLANS": "すべてのプラン",
@@ -1816,7 +1816,7 @@
1816
1816
  "_USER_GUIDE_PLAN_PROCESSING": "処理...",
1817
1817
  "_USER_GUIDE_MOVE_GROUP_INCLUDE": "人を含めるためにグループをここに移動します",
1818
1818
  "_USER_GUIDE_MOVE_GROUP_EXCLUDE": "ユーザーを除外するにはグループをここに移動します",
1819
- "_USER_GUIDE_NOTIFY_PROCESSING_SUCCESS": "{{セグメント名}}セグメントのデータ処理が完了しました",
1819
+ "_USER_GUIDE_NOTIFY_PROCESSING_SUCCESS": "{{セグメント名}} セグメントのデータ処理が完了しました",
1820
1820
  "_USER_GUIDE_NOTIFY_PROCESSING_FAILT": "{{セグメント名}} セグメントのデータ処理に失敗しました",
1821
1821
  "_TITLE_NOTIFY_HIDE": "隠れる",
1822
1822
  "_TITLE_BTN_RECOMPUTED": "再計算された",
@@ -1941,14 +1941,14 @@
1941
1941
  "_WARN_ATTR_COMPUTATIONAL_LIMIT": "現在、計算制限に達しているため、システムは次の有効な時間にこの属性を計算します。",
1942
1942
  "_WARN_TITLE_AM_WARN_TOTAL": "警告 分析モデルの合計制限数",
1943
1943
  "_WARN_AM_WARN_TOTAL_CONTENT_CREATE": "分析モデルの数が制限に達しました。\n新しい分析モデルを作成する場合は、使用されていない分析モデルを削除してください。",
1944
- "_ACT_WARN_AM_GO_TO_LIST": "分析モデルのリストに移動",
1944
+ "_ACT_WARN_AM_GO_TO_LIST": "解析モデルリストに移動",
1945
1945
  "_TITLE_SELECTED_AM": "選択した分析モデル",
1946
1946
  "_WARN_TITLE_AM_NAME": "解析モデル名",
1947
1947
  "_WARN_TITLE_AM_STATUS": "状態",
1948
1948
  "_WARN_TITLE_AM_CREATED_BY": "作成者",
1949
1949
  "_ERROR_MESS_AM_COMPUTED_LIMIT": "この時間内に構築される分析モデルの数の制限に達しました。",
1950
1950
  "_WARN_TITLE_AM_COMPUTATIONAL_LIMIT": "警告 分析モデルの計算制限",
1951
- "_WARN_AM_COMPUTATIONAL_LIMIT": "現在、計算制限に達しているため、システムは次の有効な時間内にこの分析モデルを計算します。",
1951
+ "_WARN_AM_COMPUTATIONAL_LIMIT": "現在、計算制限に達しているため、システムは次の有効な時間にこの分析モデルを計算します。",
1952
1952
  "_WARN_TITLE_BO_WARN_TOTAL": "警告 ビジネス オブジェクトの合計制限",
1953
1953
  "_WARN_BO_WARN_TOTAL_CONTENT_CREATE": "ビジネス オブジェクトの数が制限に達しました。\n新しいビジネス オブジェクトを作成する場合は、未使用のビジネス オブジェクトをアーカイブしてください。",
1954
1954
  "_ACT_WARN_BO_GO_TO_LIST": "ビジネスオブジェクトリストに移動",
@@ -1983,7 +1983,7 @@
1983
1983
  "_WARN_COLL_WARN_TOTAL_CONTENT_RECOVER": "{{dynamic_collections}} {{static_collections}} の数が制限に達しました。\nコレクションを回復したい場合は、未使用のコレクションをアーカイブしてください。",
1984
1984
  "_ERROR_MESS_COLL_COMPUTED_LIMIT": "この時間内に構築されるコレクションの数の制限に達しました。",
1985
1985
  "_WARN_TITLE_COLL_COMPUTATIONAL_LIMIT": "警告収集の計算制限",
1986
- "_WARN_COLL_COMPUTATIONAL_LIMIT": "現在、計算制限に達しているため、システムは次の有効な時間にこのコレクションを計算します。",
1986
+ "_WARN_COLL_COMPUTATIONAL_LIMIT": "現在、計算制限に達しているため、システムは次の有効な時間内にこのコレクションを計算します。",
1987
1987
  "_OPTION_SEGMENT_SCHEDULE_DETAILS_HOUR_AM": "{{x}} 時間ごとに {{HH:MM}} 時",
1988
1988
  "_OPTION_SEGMENT_SCHEDULE_DETAILS_HOUR_PM": "{{x}} 時間ごとに 午後{{HH:MM}} 時",
1989
1989
  "_OPTION_SEGMENT_SCHEDULE_DETAILS_DAY_AM": "{{x}}日ごとの {{HH:MM}} 時",
@@ -2171,7 +2171,7 @@
2171
2171
  "_EVENT_CLICK_VIBER": "{{customer_name}} さんが Journey {{journey_name}} からの Viber メッセージをクリックしました",
2172
2172
  "_EVENT_CLICK_SMS": "{{customer_name}} さんが Journey {{journey_name}} からの SMS メッセージをクリックしました",
2173
2173
  "_EVENT_SENT_WEB_PERSONALIZA": "ジャーニー {{journey_name}} が {{customer_name}} に送信されました",
2174
- "_EVENT_SENT_WEB_PUSH": "ジャーニー {{journey_name}} がウェブプッシュ通知経由で {{customer_name}} に送信されました",
2174
+ "_EVENT_SENT_WEB_PUSH": "ジャーニー {{journey_name}} がウェブ プッシュ通知経由で {{customer_name}} に送信されました",
2175
2175
  "_EVENT_SENT_APP PUSH": "ジャーニー {{journey_name}} がアプリのプッシュ通知経由で {{customer_name}} に送信されました",
2176
2176
  "_EVENT_SENT_EMAIL": "Journey {{journey_name}} からのメールが {{customer_name}} に送信されました",
2177
2177
  "_EVENT_SENT_FB": "Journey {{journey_name}} からの Facebook メッセージが {{customer_name}} に送信されました",
@@ -2284,13 +2284,13 @@
2284
2284
  "_BLCK_OTP_EVENT": "イベント",
2285
2285
  "_BLCK_OTP_EVENT_SOURCE": "イベントソース",
2286
2286
  "_CHANNEL_CUSTOM_API": "カスタムチャンネル",
2287
- "_CHANNEL_DES_WEB": "ユーザーの行動や好みに基づいて Web サイトのコンテンツを動的に調整し、エンゲージメントとコンバージョン率を最適化します。",
2287
+ "_CHANNEL_DES_WEB": "ユーザーの行動や好みに基づいて Web サイトのコンテンツを動的に調整し、エンゲージメント率とコンバージョン率を最適化します。",
2288
2288
  "_CHANNEL_DES_WEB_NOTI": "リアルタイムのメッセージを送信して Web サイト訪問者を引きつけ、タイムリーなインタラクションとコンバージョンを促進します",
2289
2289
  "_CHANNEL_DES_APP_NOTI": "即時通知をモバイル アプリのみに送信し、即時のエンゲージメントとインタラクションを促進します",
2290
2290
  "_CHANNEL_DES_EMAIL": "パーソナライズされたメッセージをユーザーの受信箱に直接配信し、ターゲットを絞ったコンテンツでのエンゲージメントとコンバージョンを促進します。",
2291
2291
  "_CHANNEL_DES_SMS": "直接的かつ即時のコミュニケーションを提供し、ユーザーのモバイル デバイスに到達して即時のエンゲージメントとインタラクションを実現します。",
2292
2292
  "_CHANNEL_DES_SMART_INB": "プッシュ通知のコンテンツを一元管理して管理とエンゲージメントを合理化",
2293
- "_CHANNEL_DES_FB_MESS": "直接的な会話型のコミュニケーションを提供し、使い慣れたソーシャル メディア プラットフォームでユーザーを惹きつけます",
2293
+ "_CHANNEL_DES_FB_MESS": "直接的で会話的なコミュニケーションを提供し、使い慣れたソーシャル メディア プラットフォームでユーザーを引き付ける",
2294
2294
  "_CHANNEL_DES_VIBER": "ダイレクト メッセージング機能を提供し、安全で使い慣れたソーシャル メディア プラットフォームでユーザーを魅了します。",
2295
2295
  "_CHANNEL_DES_ZALO": "OA や ZNS などのサービス用のさまざまなテンプレートを使用したダイレクト メッセージング機能を提供します",
2296
2296
  "_CHANNEL_DES_WHATSAPP": "関連性のあるメッセージを顧客の WhatsApp アカウントに直接配信し、より強力な関係を促進し、エンゲージメントを高めます",
@@ -2445,7 +2445,7 @@
2445
2445
  "_OBJ_DES_APP_NOTI_4": "ユーザーの興味や好みに合わせた関連性の高い有益な通知を送信することで、ユーザーの関心を維持し、さらに戻ってくるようにします。",
2446
2446
  "_OBJ_DES_APP_NOTI_5": "アカウント、トランザクション更新などの関連情報をユーザーのブラウザに直接配信します。",
2447
2447
  "_OBJ_DES_EMAIL_1": "魅力的なコンテンツと電子メールの行動喚起 (CTA) でユーザーを Web サイトに誘導します",
2448
- "_OBJ_DES_EMAIL_2": "貴重なコンテンツやインセンティブを提供してサインアップや問い合わせを促進することで見込み顧客を獲得します。",
2448
+ "_OBJ_DES_EMAIL_2": "貴重なコンテンツとインセンティブを提供してサインアップや問い合わせを促進することで見込み顧客を獲得します。",
2449
2449
  "_OBJ_DES_EMAIL_3": "ターゲットを絞ったコンテンツと自動化された電子メール シーケンスを使用して、セールス ファネルを通じてリードを誘導します。",
2450
2450
  "_OBJ_DES_EMAIL_4": "関連するアップデート、オファー、限定コンテンツで顧客の関心とロイヤルティを維持します",
2451
2451
  "_OBJ_DES_EMAIL_5": "製品やサービスを紹介して売上とコンバージョンを促進する",
@@ -2453,48 +2453,48 @@
2453
2453
  "_OBJ_DES_SMS_1": "時間制限のある更新、プロモーション、アラートでユーザーに即座に連絡します",
2454
2454
  "_OBJ_DES_SMS_2": "ターゲットを絞ったプロモーションやオファーをブロードキャストして、エンゲージメントと販売を促進します",
2455
2455
  "_OBJ_DES_SMS_3": "情報の再発行や登録確認など、迅速かつ便利なサポートを提供します",
2456
- "_OBJ_DES_SMS_4": "予定や予約のリマインダーや確認を送信してノーショーを減らします",
2456
+ "_OBJ_DES_SMS_4": "予定や予約のリマインダーと確認を送信してノーショーを減らします",
2457
2457
  "_OBJ_DES_SMS_5": "注文確認、出荷通知、アカウント更新をリアルタイムで提供します",
2458
2458
  "_OBJ_DES_SMART_INB_1": "通知を集約し、ユーザーがメッセージを 1 か所で簡単に表示および管理できるようにします。",
2459
2459
  "_OBJ_DES_SMART_INB_2": "プラットフォーム間で通知にアクセスし、操作するためのシームレスで直感的なインターフェイスを提供します。",
2460
- "_OBJ_DES_SMART_INB_3": "通知によるタイムリーな応答と対話を促進し、ユーザー エンゲージメントと満足度を最大化します",
2460
+ "_OBJ_DES_SMART_INB_3": "通知によるタイムリーな応答と対話を促進し、ユーザー エンゲージメントと満足度を最大化します。",
2461
2461
  "_OBJ_DES_SMART_INB_4": "Web プッシュやアプリ プッシュなどのさまざまなチャネルからの通知を統合し、ユーザーとの一貫性のある一貫したコミュニケーションを確保します。",
2462
2462
  "_OBJ_DES_FB_MESS_1": "ターゲットを絞ったプロモーションやオファーをブロードキャストして、エンゲージメントと販売を促進します",
2463
2463
  "_OBJ_DES_FB_MESS_2": "鮮やかなメッセージ テンプレートを使用してタイムリーで関連性のある更新を提供します",
2464
- "_OBJ_DES_FB_MESS_3": "タイムリーかつ効率的な顧客サポートを提供し、メッセンジャー内で直接問い合わせに対応し、問題を解決します。",
2465
- "_OBJ_DES_FB_MESS_4": "予定や予約のリマインダーや確認を送信してノーショーを減らします",
2464
+ "_OBJ_DES_FB_MESS_3": "タイムリーかつ効率的な顧客サポートを提供し、Messenger 内で直接問い合わせに対応し、問題を解決します。",
2465
+ "_OBJ_DES_FB_MESS_4": "予定や予約のリマインダーと確認を送信してノーショーを減らします",
2466
2466
  "_OBJ_DES_FB_MESS_5": "アンケートやインタラクティブなテンプレートを通じて、ユーザーから貴重な洞察とフィードバックを直接収集します",
2467
2467
  "_OBJ_DES_VIBER_1": "ターゲットを絞ったプロモーションやオファーをブロードキャストして、エンゲージメントと販売を促進します",
2468
2468
  "_OBJ_DES_VIBER_2": "鮮やかなメッセージ テンプレートを使用してタイムリーで関連性のある更新を提供します",
2469
- "_OBJ_DES_VIBER_3": "予定や予約のリマインダーや確認を送信してノーショーを減らします",
2469
+ "_OBJ_DES_VIBER_3": "予定や予約のリマインダーと確認を送信してノーショーを減らします",
2470
2470
  "_OBJ_DES_VIBER_4": "注文確認、配送の最新情報、または予約のリマインダーを送信する",
2471
2471
  "_OBJ_DES_VIBER_5": "アンケートやインタラクティブなテンプレートを通じて、ユーザーから貴重な洞察とフィードバックを直接収集します",
2472
2472
  "_OBJ_DES_ZALO_1": "ターゲットを絞ったプロモーションやオファーをブロードキャストして、エンゲージメントと販売を促進します",
2473
2473
  "_OBJ_DES_ZALO_2": "インタラクティブな要素を使用してセールスファネルを通じてリードと見込み顧客を育成する",
2474
2474
  "_OBJ_DES_ZALO_3": "タイムリーなコミュニケーションを確保するために、注文確認、配送の最新情報、または予約のリマインダーを送信します。",
2475
- "_OBJ_DES_ZALO_4": "重要なお知らせ、アップデート、ニュースをユーザーと共有して常に最新情報を入手します。",
2475
+ "_OBJ_DES_ZALO_4": "重要なお知らせ、アップデート、ニュースをユーザーと共有して最新情報を入手します。",
2476
2476
  "_OBJ_DES_ZALO_5": "一貫性があり、有益で魅力的なコンテンツを通じてブランド アイデンティティと価値を強化する",
2477
2477
  "_OBJ_DES_WHATSAPP_1": "ターゲットを絞ったプロモーションやオファーをブロードキャストして、エンゲージメントと販売を促進します",
2478
2478
  "_OBJ_DES_WHATSAPP_2": "鮮やかなメッセージ テンプレートを使用してタイムリーで関連性のある更新を提供します",
2479
2479
  "_OBJ_DES_WHATSAPP_3": "インタラクティブな要素を使用してセールスファネルを通じてリードと見込み顧客を育成する",
2480
- "_OBJ_DES_WHATSAPP_4": "予定や予約のリマインダーや確認を送信してノーショーを減らします",
2481
- "_OBJ_DES_WHATSAPP_5": "重要なお知らせ、アップデート、ニュースをユーザーと共有して常に最新情報を入手します。",
2480
+ "_OBJ_DES_WHATSAPP_4": "予定や予約のリマインダーと確認を送信してノーショーを減らします",
2481
+ "_OBJ_DES_WHATSAPP_5": "重要なお知らせ、アップデート、ニュースをユーザーと共有して最新情報を入手します。",
2482
2482
  "_OBJ_DES_TELEGRAM_1": "ターゲットを絞ったプロモーションやオファーをブロードキャストして、エンゲージメントと販売を促進します",
2483
2483
  "_OBJ_DES_TELEGRAM_2": "鮮やかなメッセージ テンプレートを使用してタイムリーで関連性のある更新を提供します",
2484
2484
  "_OBJ_DES_TELEGRAM_3": "インタラクティブなテンプレート要素を使用して販売目標到達プロセスをガイドし、リードと見込み客を育成します。",
2485
- "_OBJ_DES_TELEGRAM_4": "予定や予約のリマインダーや確認を送信してノーショーを減らします",
2486
- "_OBJ_DES_TELEGRAM_5": "重要なお知らせ、アップデート、ニュースをユーザーと共有して常に最新情報を入手します。",
2485
+ "_OBJ_DES_TELEGRAM_4": "予定や予約のリマインダーと確認を送信してノーショーを減らします",
2486
+ "_OBJ_DES_TELEGRAM_5": "重要なお知らせ、アップデート、ニュースをユーザーと共有して最新情報を入手します。",
2487
2487
  "_OBJ_DES_LINE_1": "ターゲットを絞ったプロモーションやオファーをブロードキャストして、エンゲージメントと販売を促進します",
2488
2488
  "_OBJ_DES_LINE_2": "Line のリッチ メニューを利用して、メッセージ内のインタラクティブなオプションとナビゲーションをユーザーに提供します",
2489
2489
  "_OBJ_DES_LINE_3": "インタラクティブなテンプレート要素を使用して販売目標到達プロセスをガイドし、リードと見込み客を育成します。",
2490
- "_OBJ_DES_LINE_4": "予定や予約のリマインダーや確認を送信してノーショーを減らします",
2491
- "_OBJ_DES_LINE_5": "重要なお知らせ、アップデート、ニュースをユーザーと共有して常に最新情報を入手します。",
2490
+ "_OBJ_DES_LINE_4": "予定や予約のリマインダーと確認を送信してノーショーを減らします",
2491
+ "_OBJ_DES_LINE_5": "重要なお知らせ、アップデート、ニュースをユーザーと共有して最新情報を入手します。",
2492
2492
  "_OBJ_DES_FILE_TRANSFER_1": "さまざまなシステム間での大規模なデータセットの共有を自動化し、より迅速かつ正確なデータ処理を実現します。",
2493
2493
  "_OBJ_DES_FILE_TRANSFER_2": "マーケティング資料やキャンペーン資産をチームメンバーや外部関係者に簡単に配布し、より良いコラボレーションとコミュニケーションを促進します。",
2494
2494
  "_OBJ_DES_FILE_TRANSFER_3": "ファイル転送をマーケティングオートメーションに統合して時間と人的リソースを節約する",
2495
2495
  "_OBJ_DES_ORCHES_1": "さまざまなチャネルを通じて顧客にリーチし、ブランドの認知度と市場浸透を強化することで、ブランドの認知度を高めます。",
2496
- "_OBJ_DES_ORCHES_2": "顧客を好みのプラットフォームでエンゲージし、ロイヤルティと支持を促進するシームレスで記憶に残るインタラクションを生み出します。",
2497
- "_OBJ_DES_ORCHES_3": "チャネル全体でターゲットを絞ったメッセージを送信して購入者の購買行動をガイドし、コンバージョンを促進し、販売機会を最大化します。",
2496
+ "_OBJ_DES_ORCHES_2": "好みのプラットフォームで顧客を引き込み、ロイヤルティと支持を促進するシームレスで記憶に残るインタラクションを生み出します。",
2497
+ "_OBJ_DES_ORCHES_3": "チャネル全体でターゲットを絞ったメッセージを送信することで、見込み客をバイヤージャーニーに導き、コンバージョンを促進し、販売機会を最大化します。",
2498
2498
  "_OBJ_DES_ORCHES_4": "チャネルの好みや行動に基づいて特定の視聴者セグメントに合わせてキャンペーンを調整し、共感を呼び、コンバージョンにつながるパーソナライズされたエクスペリエンスを提供します。",
2499
2499
  "_OBJ_DES_ORCHES_5": "すべてのチャネルにわたって包括的な分析を取得し、データ主導の意思決定と継続的なキャンペーンの改善を強化して、最適な結果と ROI を実現します。",
2500
2500
  "_WEBPER_TEMP_OBJ_DES_POP_1": "潜在顧客からの情報、または既存顧客からのレビューやフィードバックを収集してデータを充実させます",
@@ -2508,7 +2508,7 @@
2508
2508
  "_WEBPER_TEMP_OBJ_DES_POP_9": "ソーシャル メディア プラットフォームでコミュニティを拡大し、ブランドの存在感を高めます",
2509
2509
  "_WEBPER_TEMP_OBJ_DES_POP_10": "参加者と興奮を促進する注目を集めるイベント プロモーションで成功への舞台を整えます。",
2510
2510
  "_WEBPER_TEMP_OBJ_DES_POP_11": "魅力的な運ゲーやインタラクティブなコンテンツで興奮を呼び起こし、エンゲージメントを高め、ユーザーを何度もリピートさせ続ける",
2511
- "_WEBPER_TEMP_OBJ_DES_POP_12": "新規ユーザーを支援し、提供された回答に基づいてパーソナライズされた推奨事項を提供します",
2511
+ "_WEBPER_TEMP_OBJ_DES_POP_12": "新しいユーザーを支援し、提供された回答に基づいてパーソナライズされた推奨事項を提供します",
2512
2512
  "_WEBPER_TEMP_OBJ_DES_POP_13": "直接リンクまたは QR コードを介してモバイル アプリをダウンロードしてスキャンするようユーザーに奨励します。",
2513
2513
  "_WEBPER_TEMP_OBJ_DES_FLOAT_1": "リード獲得フォームを含めて、訪問者にニュースレター、プロモーション、その他のマーケティング資料への登録を促します。",
2514
2514
  "_WEBPER_TEMP_OBJ_DES_FLOAT_2": "カウントダウンタイマー付きの特別セールや限定プロモーションで視聴者の目を引き、さらに探索するよう促します。",
@@ -2536,7 +2536,7 @@
2536
2536
  "_WEBPER_TEMP_OBJ_DES_SLIDEIN_5": "顧客のレビュー、評価、お客様の声などの社会的証明要素を紹介して、購入の意思決定に影響を与える信頼と信用を構築します。",
2537
2537
  "_WEBPER_TEMP_OBJ_DES_SLIDEIN_6": "期間限定のオファー、カウントダウンタイマー、またはフラッシュセール通知を提示することで、緊迫感を醸成し、即時行動を促します。",
2538
2538
  "_WEBPER_TEMP_OBJ_DES_SLIDEIN_7": "ターゲットを絞ったオファー、インセンティブ、またはリマインダーを使用して、躊躇している買い物客に購入を完了させるよう促します。",
2539
- "_WEBPER_TEMP_OBJ_DES_SLIDEIN_8": "顧客からの問い合わせの必要性を減らし、ショッピング体験の全体的な満足度を向上させるために、顧客が遭遇する可能性のある一般的な懸念事項や問題のトラブルシューティングに対処します。",
2539
+ "_WEBPER_TEMP_OBJ_DES_SLIDEIN_8": "顧客からの問い合わせの必要性を減らし、ショッピング体験の全体的な満足度を向上させるために、顧客が遭遇する可能性のある一般的な懸念事項や問題のトラブルシューティングに対処する",
2540
2540
  "_WEBPER_TEMP_OBJ_DES_SLIDEIN_9": "登録や出欠確認のオプションを提供して、ウェビナー、ワークショップ、イベントに参加するようユーザーを招待し、参加とエンゲージメントを促進します。",
2541
2541
  "_LINE_MESS_OBJ_DES_1": "各ユーザーの好み、行動、過去のやり取りに基づいてメッセージをカスタマイズする",
2542
2542
  "_LINE_MESS_OBJ_DES_2": "画像、ビデオ、ステッカーなどのマルチメディア コンテンツでメッセージを充実させます",
@@ -2550,7 +2550,7 @@
2550
2550
  "_LINE_RM_DEFAULT_OBJ_DES_3": "今後のイベント、ウェビナー、またはワークショップを宣伝する",
2551
2551
  "_LINE_RM_DEFAULT_OBJ_DES_4": "ユーザーを注目の記事、ビデオ、またはブログ投稿に誘導するオプションを提供します",
2552
2552
  "_LINE_RM_DEFAULT_OBJ_DES_5": "他のソーシャル メディア プラットフォームでコミュニティを拡大することで、ブランドの存在感を高めます。",
2553
- "_LINE_RM_DEFAULT_OBJ_DES_6": "メニューの選択に基づいて、さまざまなインタラクションを通じてユーザーをガイドします。\n\n たとえば、「カスタマー サポート」のメニュー項目を選択すると、「技術サポート」や「請求に関する問い合わせ」など、必要なサポートの種類を選択するオプションがユーザーに表示される場合があります。",
2553
+ "_LINE_RM_DEFAULT_OBJ_DES_6": "メニューの選択に基づいて、さまざまな操作を通じてユーザーをガイドします。\n\n たとえば、「カスタマー サポート」のメニュー項目を選択すると、「技術サポート」や「請求に関する問い合わせ」など、必要なサポートの種類を選択するオプションがユーザーに表示される場合があります。",
2554
2554
  "_LINE_RM_DEFAULT_OBJ_DES_7": "購読フォームや登録プロンプトを備えたLDPにユーザーを誘導して、ユーザー情報を取得します。",
2555
2555
  "_LINE_RM_SINGLE_OBJ_DES_1": "各ユーザーの好み、行動、Line チャネルとの過去のやり取りに基づいて、各ユーザーに表示されるメニュー オプションとコンテンツをカスタマイズします。",
2556
2556
  "_LINE_RM_SINGLE_OBJ_DES_2": "各ユーザーの興味、閲覧履歴、人口統計に合わせたパーソナライズされた推奨事項や提案を提供し、関連性とエンゲージメントを強化します。",
@@ -2580,7 +2580,7 @@
2580
2580
  "_EVENT_TEMPLATE_ECOMMERCE_DES_5": "チェックアウトプロセスを追跡してドロップオフポイントを特定し、ファネルを最適化してコンバージョン率を高めます。",
2581
2581
  "_EVENT_TEMPLATE_ECOMMERCE_OBJ_6": "顧客サポートの向上",
2582
2582
  "_EVENT_TEMPLATE_ECOMMERCE_DES_6": "ユーザー インタラクションに関するデータを使用して、より優れた顧客サポートを提供し、一般的な問題に効果的に対処します。",
2583
- "_REALTIME_FACEBOOK_LEAD": "「Facebook Lead」テンプレートを使用すると、Facebook 広告キャンペーンを通じて配布されたフォームに記入したユーザーからリアルタイムで簡単に情報を収集し、この情報を CDP 365 で管理できます。この機能により、顧客データを迅速に一元化し、マーケティングを最適化できます。戦略を立て、コンバージョン率を向上させます。",
2583
+ "_REALTIME_FACEBOOK_LEAD": "「Facebook Lead」テンプレートを使用すると、Facebook 広告キャンペーンを通じて配布されたフォームに記入するユーザーからリアルタイムで簡単に情報を収集し、この情報を CDP 365 で管理できます。この機能により、顧客データを迅速に一元管理し、マーケティングを最適化できます。戦略を立て、コンバージョン率を向上させます。",
2584
2584
  "_REALTIME_FACEBOOK_LEAD_OBJ_1": "リードを顧客に変える",
2585
2585
  "_REALTIME_FACEBOOK_LEAD_DES_1": "収集した情報を使用して潜在的な見込み客と直接連絡を取り、相談し、彼らを実際の顧客に変えます。",
2586
2586
  "_REALTIME_FACEBOOK_LEAD_OBJ_2": "マーケティング戦略の強化",
@@ -2055,7 +2055,7 @@
2055
2055
  "_PREDICT_MODEL_ALL_PREDICTIVE_MODELS": "Tất cả các mô hình dự đoán",
2056
2056
  "_PREDICT_MODEL_CREATE_NEW_MODEL": "Tạo mới",
2057
2057
  "_PREDICT_MODEL_RFM_MODEL": "Mô hình RFM",
2058
- "_PREDICT_MODEL_RFM_DESCRIPTION": "Xếp hạng định lượng phân nhóm khách hàng dựa trên mức độ gần đây, tần suất và tổng số tiền trong hành vi chi tiêu của họ",
2058
+ "_PREDICT_MODEL_RFM_DESCRIPTION": "Xếp hạng và nhóm khách hàng một cách định lượng dựa trên mức độ gần đây, tần suất và tổng số tiền trong hành vi chi tiêu của họ",
2059
2059
  "_PREDICT_MODEL_ERFM_MODEL": "Mô hình eRFM",
2060
2060
  "_PREDICT_MODEL_ERFM_DESCRIPTION": "Mô hình eRFM là mô hình RFM rộng hơn, phân tích khách hàng dựa trên hành vi chi tiêu và mức độ tương tác qua email của họ",
2061
2061
  "_PREDICT_MODEL_PROPENSITY_TO_BUY_MODEL": "Xu hướng mua mô hình",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antscorp/antsomi-ui",
3
- "version": "1.3.5-beta.831",
3
+ "version": "1.3.5-beta.833",
4
4
  "description": "An enterprise-class UI design language and React UI library.",
5
5
  "sideEffects": [
6
6
  "dist/*",
@@ -252,4 +252,3 @@
252
252
  "react-router-dom": ">= 5.1.0"
253
253
  }
254
254
  }
255
-