tiptapify 0.3.5 → 0.4.1
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.
- package/dist/content.css +28 -0
- package/dist/tiptapify.css +1 -1
- package/dist/tiptapify.mjs +110770 -65623
- package/dist/tiptapify.umd.js +106 -89
- package/index.d.ts +37 -0
- package/package.json +3 -2
- package/src/components/ImageBubbleMenu.vue +5 -33
- package/src/components/MenuBubble.test.ts +120 -0
- package/src/components/MenuBubble.vue +124 -134
- package/src/components/MenuFloating.vue +48 -45
- package/src/components/Tiptapify.upload.test.ts +10 -0
- package/src/components/Tiptapify.vue +85 -45
- package/src/components/Toolbar/Index.vue +10 -0
- package/src/components/UI/BubbleRow.vue +41 -0
- package/src/components/UI/TiptapifyDialog.test.ts +37 -3
- package/src/components/UI/TiptapifyDialog.vue +15 -4
- package/src/components/editorExtensions.test.ts +9 -0
- package/src/components/editorExtensions.ts +21 -1
- package/src/composables/fakeUploadEndpoint.ts +65 -0
- package/src/composables/useTiptapifyConfig.ts +19 -0
- package/src/composables/useTiptapifyLinkPreview.test.ts +51 -0
- package/src/composables/useTiptapifyLinkPreview.ts +60 -0
- package/src/composables/useTiptapifyUpload.test.ts +96 -0
- package/src/composables/useTiptapifyUpload.ts +126 -0
- package/src/extensions/components/ai/Dialog.test.ts +335 -0
- package/src/extensions/components/ai/Dialog.vue +607 -310
- package/src/extensions/components/ai/backend.test.ts +1 -0
- package/src/extensions/components/ai/backend.ts +2 -1
- package/src/extensions/components/ai/context.test.ts +149 -0
- package/src/extensions/components/ai/context.ts +145 -0
- package/src/extensions/components/ai/diff.test.ts +65 -0
- package/src/extensions/components/ai/diff.ts +120 -0
- package/src/extensions/components/ai/errors.test.ts +45 -0
- package/src/extensions/components/ai/errors.ts +67 -0
- package/src/extensions/components/ai/result.test.ts +144 -0
- package/src/extensions/components/ai/result.ts +101 -0
- package/src/extensions/components/ai/thinking.test.ts +45 -0
- package/src/extensions/components/ai/thinking.ts +58 -0
- package/src/extensions/components/formatExtra/sub/Button.vue +1 -1
- package/src/extensions/components/formatExtra/sup/Button.vue +1 -1
- package/src/extensions/components/media/iframe/Button.vue +6 -7
- package/src/extensions/components/media/iframe/IframeDialog.test.ts +177 -0
- package/src/extensions/components/media/iframe/IframeDialog.vue +477 -105
- package/src/extensions/components/media/iframe/embed.test.ts +123 -0
- package/src/extensions/components/media/iframe/embed.ts +236 -0
- package/src/extensions/components/media/iframe/index.test.ts +123 -0
- package/src/extensions/components/media/iframe/index.ts +92 -10
- package/src/extensions/components/media/image/ImageDialog.vue +430 -132
- package/src/extensions/components/media/image/caption.test.ts +66 -1
- package/src/extensions/components/media/image/caption.ts +27 -1
- package/src/extensions/components/media/image/imageDialog.test.ts +210 -0
- package/src/extensions/components/media/image/imageDialog.ts +117 -0
- package/src/extensions/components/media/image/index.ts +2 -1
- package/src/extensions/components/media/link/Button.test.ts +96 -0
- package/src/extensions/components/media/link/Button.vue +6 -2
- package/src/extensions/components/media/link/LinkDialog.display.test.ts +363 -0
- package/src/extensions/components/media/link/LinkDialog.vue +687 -61
- package/src/extensions/components/media/link/index.ts +111 -6
- package/src/extensions/components/media/link/link.marks.test.ts +89 -0
- package/src/extensions/components/media/link/linkDialog.test.ts +296 -0
- package/src/extensions/components/media/link/linkDialog.ts +154 -0
- package/src/extensions/components/media/linkCard/PasteCardMenu.test.ts +133 -0
- package/src/extensions/components/media/linkCard/PasteCardMenu.vue +168 -0
- package/src/extensions/components/media/linkCard/index.test.ts +146 -0
- package/src/extensions/components/media/linkCard/index.ts +177 -0
- package/src/extensions/components/media/linkCard/linkCardDialog.test.ts +87 -0
- package/src/extensions/components/media/linkCard/linkCardDialog.ts +62 -0
- package/src/extensions/components/media/linkCard/linkPreview.test.ts +102 -0
- package/src/extensions/components/media/linkCard/linkPreview.ts +84 -0
- package/src/extensions/components/media/linkCard/makeLinkCard.test.ts +59 -0
- package/src/extensions/components/media/linkCard/makeLinkCard.ts +58 -0
- package/src/extensions/components/media/linkCard/pasteCard.test.ts +190 -0
- package/src/extensions/components/media/linkCard/pasteCard.ts +153 -0
- package/src/extensions/components/media/video/Button.vue +2 -1
- package/src/extensions/components/media/video/VideoDialog.test.ts +233 -0
- package/src/extensions/components/media/video/VideoDialog.vue +748 -59
- package/src/extensions/components/media/video/index.test.ts +154 -0
- package/src/extensions/components/media/video/index.ts +70 -5
- package/src/extensions/components/media/video/providers.test.ts +148 -0
- package/src/extensions/components/media/video/providers.ts +241 -0
- package/src/extensions/components/media/video/videoFile.test.ts +98 -0
- package/src/extensions/components/media/video/videoFile.ts +142 -0
- package/src/extensions/components/misc/fullscreen/Button.test.ts +55 -0
- package/src/extensions/components/misc/fullscreen/Button.vue +2 -2
- package/src/extensions/components/style/StyleColor.test.ts +255 -0
- package/src/extensions/components/style/StyleColor.vue +358 -208
- package/src/extensions/components/style/color/Button.vue +1 -3
- package/src/extensions/components/style/color/colors.test.ts +191 -0
- package/src/extensions/components/style/color/colors.ts +168 -0
- package/src/extensions/components/style/highlight/Button.vue +1 -3
- package/src/i18n/locales/ar.json +226 -23
- package/src/i18n/locales/bg.json +225 -22
- package/src/i18n/locales/ch.json +226 -23
- package/src/i18n/locales/cz.json +226 -23
- package/src/i18n/locales/de.json +226 -23
- package/src/i18n/locales/el.json +225 -22
- package/src/i18n/locales/en.json +225 -22
- package/src/i18n/locales/es.json +226 -23
- package/src/i18n/locales/et.json +225 -22
- package/src/i18n/locales/fi.json +226 -23
- package/src/i18n/locales/fr.json +226 -23
- package/src/i18n/locales/he.json +225 -22
- package/src/i18n/locales/hi.json +225 -22
- package/src/i18n/locales/hr.json +225 -22
- package/src/i18n/locales/hu.json +226 -23
- package/src/i18n/locales/id.json +225 -22
- package/src/i18n/locales/it.json +226 -23
- package/src/i18n/locales/ja.json +226 -23
- package/src/i18n/locales/ko.json +226 -23
- package/src/i18n/locales/la.json +226 -23
- package/src/i18n/locales/lt.json +226 -23
- package/src/i18n/locales/nl.json +226 -23
- package/src/i18n/locales/no.json +227 -24
- package/src/i18n/locales/pl.json +226 -23
- package/src/i18n/locales/pt-BR.json +225 -22
- package/src/i18n/locales/pt.json +226 -23
- package/src/i18n/locales/ro.json +225 -22
- package/src/i18n/locales/ru.json +227 -24
- package/src/i18n/locales/se.json +226 -23
- package/src/i18n/locales/sk.json +225 -22
- package/src/i18n/locales/sl.json +225 -22
- package/src/i18n/locales/sr.json +225 -22
- package/src/i18n/locales/th.json +226 -23
- package/src/i18n/locales/tr.json +226 -23
- package/src/i18n/locales/uk.json +227 -24
- package/src/i18n/locales/vi.json +226 -23
- package/src/index.ts +10 -0
- package/src/skins/registry.test.ts +1 -1
- package/src/skins/tokens.reachability.test.ts +1 -0
- package/src/skins/tokens.ts +3 -3
- package/src/types/editor.ts +40 -1
- package/src/utils/contentStyles.test.ts +116 -0
- package/src/utils/contentStyles.ts +175 -0
- package/src/utils/mediaSize.test.ts +22 -0
- package/src/utils/mediaSize.ts +27 -0
- package/src/utils/validateHref.test.ts +47 -2
- package/src/utils/validateHref.ts +47 -7
package/src/i18n/locales/uk.json
CHANGED
|
@@ -4,7 +4,20 @@
|
|
|
4
4
|
"undo": "Відміна"
|
|
5
5
|
},
|
|
6
6
|
"ai": {
|
|
7
|
+
"another_version": "Інший варіант",
|
|
7
8
|
"append": "Додати в кінець",
|
|
9
|
+
"change_vs_original": "{percent} до початкового",
|
|
10
|
+
"changes": "Зміни",
|
|
11
|
+
"context": {
|
|
12
|
+
"characters": "{n} симв.",
|
|
13
|
+
"cursor": "У позиції курсора",
|
|
14
|
+
"document": "Весь текст",
|
|
15
|
+
"excerpt": "«{text}»",
|
|
16
|
+
"paragraphs": "{n} абз.",
|
|
17
|
+
"selection": "Виділено: {paragraphs}, {characters}"
|
|
18
|
+
},
|
|
19
|
+
"copied": "Скопійовано",
|
|
20
|
+
"copy": "Копіювати",
|
|
8
21
|
"defaultExamples": {
|
|
9
22
|
"expand": {
|
|
10
23
|
"prompt": "Розширте цей текст у більш детальну версію.",
|
|
@@ -23,19 +36,58 @@
|
|
|
23
36
|
"title": "Підсумувати"
|
|
24
37
|
}
|
|
25
38
|
},
|
|
39
|
+
"effort_label": {
|
|
40
|
+
"default": "Рівень: типовий",
|
|
41
|
+
"high": "Рівень: високий",
|
|
42
|
+
"low": "Рівень: низький",
|
|
43
|
+
"max": "Рівень: максимальний",
|
|
44
|
+
"medium": "Рівень: середній",
|
|
45
|
+
"xhigh": "Рівень: дуже високий"
|
|
46
|
+
},
|
|
47
|
+
"effort_levels": {
|
|
48
|
+
"default": "Типовий",
|
|
49
|
+
"high": "Високий",
|
|
50
|
+
"low": "Низький",
|
|
51
|
+
"max": "Максимальний",
|
|
52
|
+
"medium": "Середній",
|
|
53
|
+
"xhigh": "Дуже високий"
|
|
54
|
+
},
|
|
26
55
|
"error": "Помилка генерації ШІ",
|
|
56
|
+
"errors": {
|
|
57
|
+
"auth": "AI-сервіс відхилив запит: перевірте API-ключ або права доступу.",
|
|
58
|
+
"network": "Не вдалося зв'язатися з AI-сервісом. Перевірте, що він запущений і дозволяє запити з цієї сторінки (CORS): причину покаже консоль браузера.",
|
|
59
|
+
"not_found": "Адресу AI-сервісу не знайдено: перевірте шлях ендпоінту.",
|
|
60
|
+
"rate_limit": "Забагато запитів до AI-сервісу. Зачекайте трохи й спробуйте знову.",
|
|
61
|
+
"request": "AI-сервіс не зміг обробити запит.",
|
|
62
|
+
"service_says": "Відповідь сервісу:",
|
|
63
|
+
"timeout": "AI-сервіс не відповів вчасно. Спробуйте ще раз.",
|
|
64
|
+
"unavailable": "AI-сервіс недоступний: можливо, він завантажує модель або зайнятий. Спробуйте пізніше."
|
|
65
|
+
},
|
|
27
66
|
"generate": "Згенерувати",
|
|
28
67
|
"insert": "Вставити",
|
|
29
|
-
"
|
|
68
|
+
"insert_below": "Вставити нижче",
|
|
69
|
+
"limit_exceeded": "Результат перевищує ліміт символів редактора. Попросіть коротший варіант.",
|
|
30
70
|
"loading": "Генерація...",
|
|
31
71
|
"prompt": "Запит",
|
|
72
|
+
"prompt_placeholder": "Попросіть написати або змінити текст",
|
|
32
73
|
"quick_prompts": "Швидкі запити",
|
|
33
74
|
"reasoning_effort": "Рівень роздумів",
|
|
34
|
-
"
|
|
75
|
+
"replace_selection": "Замінити виділене",
|
|
35
76
|
"result": "Результат",
|
|
77
|
+
"send_hint": "Enter — надіслати",
|
|
36
78
|
"stop": "Зупинити",
|
|
37
79
|
"thinking": "Роздумування",
|
|
38
|
-
"
|
|
80
|
+
"thinking_label": {
|
|
81
|
+
"off": "Роздумування: вимк.",
|
|
82
|
+
"on": "Роздумування: увімк."
|
|
83
|
+
},
|
|
84
|
+
"thinking_now": "Розмірковує…",
|
|
85
|
+
"thinking_states": {
|
|
86
|
+
"off": "Вимкнено",
|
|
87
|
+
"on": "Увімкнено"
|
|
88
|
+
},
|
|
89
|
+
"thought_for": "Розмірковував {seconds} с",
|
|
90
|
+
"title": "Асистент",
|
|
39
91
|
"unavailable": "Налаштуйте провайдера ШІ, щоб скористатися цією дією"
|
|
40
92
|
},
|
|
41
93
|
"alignment": "Вирівнювання",
|
|
@@ -51,50 +103,163 @@
|
|
|
51
103
|
"defaultValue": "Значення за замовчуванням",
|
|
52
104
|
"dialog": {
|
|
53
105
|
"apply": "Застосувати",
|
|
106
|
+
"cancel": "Скасувати",
|
|
54
107
|
"clear": "Очистити",
|
|
55
108
|
"close": "Закрити",
|
|
56
109
|
"iframe": {
|
|
57
|
-
"
|
|
58
|
-
"
|
|
110
|
+
"advanced": "Додатково",
|
|
111
|
+
"allow": "Дозволи (allow)",
|
|
112
|
+
"allow_hint": "Наприклад: autoplay; fullscreen; clipboard-write",
|
|
113
|
+
"apply_failed": "Сюди не можна вставити вбудовування.",
|
|
114
|
+
"border": "Показувати рамку",
|
|
115
|
+
"code_invalid": "Вставте код одного iframe з адресою. Коди зі скриптами або іншими тегами не підтримуються.",
|
|
116
|
+
"code_parsed": "Код розпізнано: {fields}.",
|
|
59
117
|
"height": "Висота",
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
118
|
+
"input": "Посилання або код вбудовування",
|
|
119
|
+
"input_hint": "Вставте адресу або код iframe з меню «Поділитися» чи «Вбудувати» на сайті.",
|
|
120
|
+
"keep_ratio": "Зберігати пропорції",
|
|
121
|
+
"lazy": "Завантажувати під час прокручування до нього",
|
|
122
|
+
"name": "Ім'я",
|
|
123
|
+
"parsed_allow": "дозволи",
|
|
124
|
+
"parsed_fullscreen": "повноекранний режим",
|
|
125
|
+
"parsed_loading": "відкладене завантаження",
|
|
126
|
+
"parsed_name": "ім'я",
|
|
127
|
+
"parsed_sandbox": "пісочниця",
|
|
128
|
+
"parsed_size": "розмір {width} × {height}",
|
|
129
|
+
"parsed_src": "адреса",
|
|
130
|
+
"parsed_title": "заголовок",
|
|
131
|
+
"preview": "Попередній перегляд вбудовування",
|
|
132
|
+
"preview_empty": "Попередній перегляд з'явиться, коли адреса буде правильною.",
|
|
133
|
+
"sandbox": "Пісочниця (sandbox)",
|
|
134
|
+
"sandbox_hint": "Порожньо: без обмежень. Наприклад: allow-scripts allow-same-origin",
|
|
135
|
+
"size": "Розмір",
|
|
136
|
+
"size_custom": "Власний",
|
|
137
|
+
"size_invalid": "Вкажіть розмір у пікселях.",
|
|
138
|
+
"size_responsive": "Адаптивний",
|
|
139
|
+
"size_responsive_hint": "Займає ширину тексту в пропорціях {ratio}.",
|
|
140
|
+
"src_invalid": "Для вбудовування потрібна вебадреса, що починається з https:// або http://.",
|
|
141
|
+
"src_protocol": "Додайте протокол до адреси: https:// або http://.",
|
|
142
|
+
"src_required": "Вставте посилання або код вбудовування.",
|
|
143
|
+
"title_edit": "Змінити вбудовування",
|
|
144
|
+
"title_insert": "Вбудувати контент",
|
|
145
|
+
"title_missing": "Екранні читачі озвучують вбудовування за заголовком. Опишіть, що в ньому показано.",
|
|
146
|
+
"title_text": "Заголовок для екранних читачів",
|
|
64
147
|
"width": "Ширина"
|
|
65
148
|
},
|
|
66
149
|
"image": {
|
|
67
|
-
"
|
|
150
|
+
"alt_missing": "Без альтернативного тексту зображення не прочитають екранні диктори та пошуковики.",
|
|
151
|
+
"alt_text": "Альтернативний текст для екранних дикторів",
|
|
152
|
+
"apply_error": "Не вдалося зберегти зображення тут.",
|
|
68
153
|
"caption": "Підпис",
|
|
69
154
|
"caption_placeholder": "Додайте підпис…",
|
|
70
|
-
"dialog_title": "Додавання/зміна зображення",
|
|
71
155
|
"height": "Висота",
|
|
72
156
|
"keep_ratio": "Зберігати пропорції",
|
|
157
|
+
"original_size": "Оригінал {width} × {height}",
|
|
158
|
+
"position": "Розташування",
|
|
159
|
+
"position_center": "По центру",
|
|
160
|
+
"position_left": "Ліворуч",
|
|
161
|
+
"position_right": "Праворуч",
|
|
162
|
+
"remove_error": "Не вдалося видалити зображення.",
|
|
163
|
+
"size": "Розмір",
|
|
164
|
+
"size_custom": "Власний",
|
|
165
|
+
"size_original": "Оригінал",
|
|
166
|
+
"size_text": "За шириною тексту",
|
|
167
|
+
"source_upload": "Завантажити",
|
|
168
|
+
"source_url": "За посиланням",
|
|
73
169
|
"src": "Адреса зображення",
|
|
74
|
-
"
|
|
170
|
+
"title_edit": "Редагувати зображення",
|
|
171
|
+
"title_insert": "Вставити зображення",
|
|
172
|
+
"upload_cancel": "Скасувати завантаження",
|
|
173
|
+
"upload_error": "Не вдалося завантажити зображення.",
|
|
174
|
+
"upload_file": "Файл зображення",
|
|
75
175
|
"width": "Ширина"
|
|
76
176
|
},
|
|
177
|
+
"insert": "Вставити",
|
|
77
178
|
"link": {
|
|
179
|
+
"advanced": "Додатково",
|
|
180
|
+
"apply_error": "Не вдалося застосувати посилання.",
|
|
78
181
|
"class": "CSS клас",
|
|
79
182
|
"href": "Адреса посилання",
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
183
|
+
"href_invalid": "Введіть адресу посилання, наприклад https://example.com, #якір або /сторінка.",
|
|
184
|
+
"new_tab": "Відкривати в новій вкладці",
|
|
185
|
+
"protocol_missing": "Немає протоколу. Додати:",
|
|
186
|
+
"rel": "Атрибути rel",
|
|
187
|
+
"rel_hint": "Будь-яке значення: Enter, пробіл або кома додають його.",
|
|
188
|
+
"rel_new_tab_hint": "Посилання, що відкривається в новій вкладці, також отримує noopener і noreferrer.",
|
|
189
|
+
"remove": "Видалити посилання",
|
|
190
|
+
"text": "Текст",
|
|
191
|
+
"text_hint": "Залиште порожнім, щоб текстом стала адреса.",
|
|
192
|
+
"title_edit": "Редагування посилання",
|
|
193
|
+
"title_insert": "Вставлення посилання"
|
|
194
|
+
},
|
|
195
|
+
"linkCard": {
|
|
196
|
+
"apply_failed": "Картку не можна вставити в це місце.",
|
|
197
|
+
"description": "Опис",
|
|
198
|
+
"display": "Показати як",
|
|
199
|
+
"display_card": "Картка",
|
|
200
|
+
"display_link": "Посилання",
|
|
201
|
+
"fetch_failed": "Не вдалося отримати дані сторінки: {error}. Поля можна заповнити вручну.",
|
|
202
|
+
"href_invalid": "Введіть повну адресу сторінки, наприклад https://example.com/page.",
|
|
203
|
+
"image": "Зображення",
|
|
204
|
+
"image_choose": "Вибрати зображення",
|
|
205
|
+
"image_failed": "Не вдалося завантажити зображення. Спробуйте ще раз.",
|
|
206
|
+
"image_remove": "Видалити зображення",
|
|
207
|
+
"image_replace": "Замінити",
|
|
208
|
+
"layout": "Відображення",
|
|
209
|
+
"layout_compact": "Компактна",
|
|
210
|
+
"layout_large": "Велика",
|
|
211
|
+
"layout_text": "Без зображення",
|
|
212
|
+
"loading": "Завантажуються дані сторінки…",
|
|
213
|
+
"page_title": "Заголовок",
|
|
214
|
+
"paste_dismiss": "Залишити посилання",
|
|
215
|
+
"paste_error": "Немає превʼю для цієї сторінки.",
|
|
216
|
+
"protocol_missing": "Почніть адресу з https:// або http://.",
|
|
217
|
+
"refresh": "Оновити дані",
|
|
218
|
+
"site_name": "Назва сайту",
|
|
219
|
+
"title_edit": "Редагувати картку посилання",
|
|
220
|
+
"title_insert": "Вставити картку посилання"
|
|
86
221
|
},
|
|
87
222
|
"preview": {
|
|
88
223
|
"title": "Попередній перегляд"
|
|
89
224
|
},
|
|
225
|
+
"remove": "Видалити",
|
|
226
|
+
"save": "Зберегти",
|
|
90
227
|
"source": {
|
|
91
228
|
"prettify": "prettify",
|
|
92
229
|
"title": "Перегляд вихідного коду"
|
|
93
230
|
},
|
|
94
231
|
"video": {
|
|
232
|
+
"apply_failed": "Сюди не можна вставити відео.",
|
|
233
|
+
"autoplay": "Автозапуск без звуку",
|
|
234
|
+
"controls": "Показувати елементи керування",
|
|
95
235
|
"height": "Висота",
|
|
96
|
-
"
|
|
97
|
-
"
|
|
236
|
+
"keep_ratio": "Зберігати пропорції",
|
|
237
|
+
"loop": "Повтор",
|
|
238
|
+
"poster": "Обкладинка",
|
|
239
|
+
"poster_choose": "Вибрати зображення",
|
|
240
|
+
"poster_hint": "Необов'язково. Показується до запуску відео.",
|
|
241
|
+
"poster_url": "URL зображення обкладинки",
|
|
242
|
+
"preview": "Попередній перегляд відео",
|
|
243
|
+
"preview_empty": "Попередній перегляд з'явиться, коли посилання буде розпізнано.",
|
|
244
|
+
"size": "Розмір",
|
|
245
|
+
"size_custom": "Власний",
|
|
246
|
+
"size_invalid": "Вкажіть розмір у пікселях.",
|
|
247
|
+
"size_responsive": "Адаптивний",
|
|
248
|
+
"size_responsive_embed": "Адаптивний 16:9",
|
|
249
|
+
"source_upload": "Завантажити",
|
|
250
|
+
"source_url": "За посиланням",
|
|
251
|
+
"start": "Почати з",
|
|
252
|
+
"start_invalid": "Вкажіть час у форматі х:сс або г:хх:сс.",
|
|
253
|
+
"title_edit": "Редагувати відео",
|
|
254
|
+
"title_insert": "Вставити відео",
|
|
255
|
+
"upload_choose": "Виберіть відеофайл",
|
|
256
|
+
"upload_failed": "Не вдалося завантажити файл. Спробуйте ще раз.",
|
|
257
|
+
"upload_progress": "{loaded} з {total} МБ",
|
|
258
|
+
"upload_replace": "Замінити",
|
|
259
|
+
"url": "Посилання на відео",
|
|
260
|
+
"url_file_protocol": "Додайте протокол до посилання на файл: https:// або http://.",
|
|
261
|
+
"url_required": "Вставте посилання на YouTube, Vimeo або відеофайл.",
|
|
262
|
+
"url_unsupported": "Підходять посилання на YouTube, Vimeo або відеофайл (.mp4, .webm, .ogg, .mov). Для інших сайтів використовуйте код вставлення.",
|
|
98
263
|
"width": "Ширина"
|
|
99
264
|
}
|
|
100
265
|
},
|
|
@@ -171,7 +336,7 @@
|
|
|
171
336
|
"search": "Пошук емодзі...",
|
|
172
337
|
"title": "Емодзі"
|
|
173
338
|
},
|
|
174
|
-
"iframe": "
|
|
339
|
+
"iframe": "Вбудовування",
|
|
175
340
|
"image": "Зображення",
|
|
176
341
|
"image_toolbar": {
|
|
177
342
|
"align_left": "Ліворуч, з обтіканням",
|
|
@@ -212,10 +377,48 @@
|
|
|
212
377
|
},
|
|
213
378
|
"style": {
|
|
214
379
|
"color": {
|
|
215
|
-
"custom": "Власний
|
|
380
|
+
"custom": "Власний колір",
|
|
381
|
+
"default": "За замовчуванням",
|
|
382
|
+
"eyedropper": "Узяти колір з екрана",
|
|
383
|
+
"hex": "HEX-код кольору",
|
|
384
|
+
"hex_invalid": "Введіть колір у форматі #rgb або #rrggbb.",
|
|
216
385
|
"highlight": "Колір виділення",
|
|
217
|
-
"
|
|
218
|
-
|
|
386
|
+
"names": {
|
|
387
|
+
"amber": "Бурштиновий",
|
|
388
|
+
"black": "Чорний",
|
|
389
|
+
"blue": "Синій",
|
|
390
|
+
"dark_amber": "Темно-бурштиновий",
|
|
391
|
+
"dark_blue": "Темно-синій",
|
|
392
|
+
"dark_green": "Темно-зелений",
|
|
393
|
+
"dark_grey": "Темно-сірий",
|
|
394
|
+
"dark_orange": "Темно-помаранчевий",
|
|
395
|
+
"dark_pink": "Темно-рожевий",
|
|
396
|
+
"dark_purple": "Темно-фіолетовий",
|
|
397
|
+
"dark_red": "Темно-червоний",
|
|
398
|
+
"dark_teal": "Темно-бірюзовий",
|
|
399
|
+
"green": "Зелений",
|
|
400
|
+
"grey": "Сірий",
|
|
401
|
+
"light_amber": "Світло-бурштиновий",
|
|
402
|
+
"light_blue": "Світло-синій",
|
|
403
|
+
"light_green": "Світло-зелений",
|
|
404
|
+
"light_grey": "Світло-сірий",
|
|
405
|
+
"light_orange": "Світло-помаранчевий",
|
|
406
|
+
"light_pink": "Світло-рожевий",
|
|
407
|
+
"light_purple": "Світло-фіолетовий",
|
|
408
|
+
"light_red": "Світло-червоний",
|
|
409
|
+
"light_teal": "Світло-бірюзовий",
|
|
410
|
+
"medium_grey": "Середньо-сірий",
|
|
411
|
+
"orange": "Помаранчевий",
|
|
412
|
+
"pale_grey": "Блідо-сірий",
|
|
413
|
+
"pink": "Рожевий",
|
|
414
|
+
"purple": "Фіолетовий",
|
|
415
|
+
"red": "Червоний",
|
|
416
|
+
"teal": "Бірюзовий",
|
|
417
|
+
"white": "Білий"
|
|
418
|
+
},
|
|
419
|
+
"no_highlight": "Без виділення",
|
|
420
|
+
"recent": "Нещодавні",
|
|
421
|
+
"text": "Колір тексту"
|
|
219
422
|
},
|
|
220
423
|
"fontFamily": "Шрифт",
|
|
221
424
|
"fontSize": "Розмір",
|
package/src/i18n/locales/vi.json
CHANGED
|
@@ -4,7 +4,20 @@
|
|
|
4
4
|
"undo": "Hoàn tác"
|
|
5
5
|
},
|
|
6
6
|
"ai": {
|
|
7
|
+
"another_version": "Phiên bản khác",
|
|
7
8
|
"append": "Thêm vào cuối",
|
|
9
|
+
"change_vs_original": "{percent} so với bản gốc",
|
|
10
|
+
"changes": "Thay đổi",
|
|
11
|
+
"context": {
|
|
12
|
+
"characters": "{n} ký tự",
|
|
13
|
+
"cursor": "Tại vị trí con trỏ",
|
|
14
|
+
"document": "Toàn bộ văn bản",
|
|
15
|
+
"excerpt": "“{text}”",
|
|
16
|
+
"paragraphs": "{n} đoạn",
|
|
17
|
+
"selection": "Đã chọn: {paragraphs}, {characters}"
|
|
18
|
+
},
|
|
19
|
+
"copied": "Đã sao chép",
|
|
20
|
+
"copy": "Sao chép",
|
|
8
21
|
"defaultExamples": {
|
|
9
22
|
"expand": {
|
|
10
23
|
"prompt": "Mở rộng đoạn văn này thành phiên bản chi tiết hơn.",
|
|
@@ -23,19 +36,58 @@
|
|
|
23
36
|
"title": "Tóm tắt"
|
|
24
37
|
}
|
|
25
38
|
},
|
|
39
|
+
"effort_label": {
|
|
40
|
+
"default": "Mức: mặc định",
|
|
41
|
+
"high": "Mức: cao",
|
|
42
|
+
"low": "Mức: thấp",
|
|
43
|
+
"max": "Mức: tối đa",
|
|
44
|
+
"medium": "Mức: trung bình",
|
|
45
|
+
"xhigh": "Mức: rất cao"
|
|
46
|
+
},
|
|
47
|
+
"effort_levels": {
|
|
48
|
+
"default": "Mặc định",
|
|
49
|
+
"high": "Cao",
|
|
50
|
+
"low": "Thấp",
|
|
51
|
+
"max": "Tối đa",
|
|
52
|
+
"medium": "Trung bình",
|
|
53
|
+
"xhigh": "Rất cao"
|
|
54
|
+
},
|
|
26
55
|
"error": "Tạo nội dung AI thất bại",
|
|
56
|
+
"errors": {
|
|
57
|
+
"auth": "Dịch vụ AI đã từ chối yêu cầu: hãy kiểm tra khóa API hoặc quyền truy cập.",
|
|
58
|
+
"network": "Không thể kết nối dịch vụ AI. Hãy kiểm tra dịch vụ đang chạy và cho phép yêu cầu từ trang này (CORS): bảng điều khiển của trình duyệt cho biết nguyên nhân.",
|
|
59
|
+
"not_found": "Không tìm thấy địa chỉ dịch vụ AI: hãy kiểm tra đường dẫn endpoint.",
|
|
60
|
+
"rate_limit": "Quá nhiều yêu cầu tới dịch vụ AI. Hãy chờ một chút rồi thử lại.",
|
|
61
|
+
"request": "Dịch vụ AI không thể xử lý yêu cầu.",
|
|
62
|
+
"service_says": "Phản hồi của dịch vụ:",
|
|
63
|
+
"timeout": "Dịch vụ AI không phản hồi kịp thời. Hãy thử lại.",
|
|
64
|
+
"unavailable": "Dịch vụ AI không khả dụng: có thể đang tải mô hình hoặc đang bận. Hãy thử lại sau."
|
|
65
|
+
},
|
|
27
66
|
"generate": "Tạo",
|
|
28
67
|
"insert": "Chèn",
|
|
29
|
-
"
|
|
68
|
+
"insert_below": "Chèn bên dưới",
|
|
69
|
+
"limit_exceeded": "Kết quả dài hơn giới hạn ký tự của trình soạn thảo. Hãy yêu cầu một phiên bản ngắn hơn.",
|
|
30
70
|
"loading": "Đang tạo...",
|
|
31
71
|
"prompt": "Lệnh",
|
|
72
|
+
"prompt_placeholder": "Yêu cầu viết hoặc chỉnh sửa văn bản",
|
|
32
73
|
"quick_prompts": "Lệnh nhanh",
|
|
33
74
|
"reasoning_effort": "Mức độ suy luận",
|
|
34
|
-
"
|
|
75
|
+
"replace_selection": "Thay thế vùng chọn",
|
|
35
76
|
"result": "Kết quả",
|
|
77
|
+
"send_hint": "Enter — gửi",
|
|
36
78
|
"stop": "Dừng",
|
|
37
79
|
"thinking": "Tư duy",
|
|
38
|
-
"
|
|
80
|
+
"thinking_label": {
|
|
81
|
+
"off": "Suy luận: tắt",
|
|
82
|
+
"on": "Suy luận: bật"
|
|
83
|
+
},
|
|
84
|
+
"thinking_now": "Đang suy nghĩ…",
|
|
85
|
+
"thinking_states": {
|
|
86
|
+
"off": "Tắt",
|
|
87
|
+
"on": "Bật"
|
|
88
|
+
},
|
|
89
|
+
"thought_for": "Đã suy nghĩ {seconds} giây",
|
|
90
|
+
"title": "Trợ lý",
|
|
39
91
|
"unavailable": "Hãy cấu hình nhà cung cấp AI để sử dụng thao tác này"
|
|
40
92
|
},
|
|
41
93
|
"alignment": "Căn chỉnh",
|
|
@@ -51,50 +103,163 @@
|
|
|
51
103
|
"defaultValue": "Giá trị mặc định",
|
|
52
104
|
"dialog": {
|
|
53
105
|
"apply": "Áp dụng",
|
|
106
|
+
"cancel": "Hủy",
|
|
54
107
|
"clear": "Xóa",
|
|
55
108
|
"close": "Đóng",
|
|
56
109
|
"iframe": {
|
|
57
|
-
"
|
|
58
|
-
"
|
|
110
|
+
"advanced": "Nâng cao",
|
|
111
|
+
"allow": "Quyền (allow)",
|
|
112
|
+
"allow_hint": "Ví dụ: autoplay; fullscreen; clipboard-write",
|
|
113
|
+
"apply_failed": "Không thể chèn nội dung nhúng tại đây.",
|
|
114
|
+
"border": "Hiện viền",
|
|
115
|
+
"code_invalid": "Hãy dán mã của một iframe duy nhất có địa chỉ. Không hỗ trợ mã chứa script hoặc thẻ khác.",
|
|
116
|
+
"code_parsed": "Đã nhận dạng mã: {fields}.",
|
|
59
117
|
"height": "Chiều cao",
|
|
118
|
+
"input": "Liên kết hoặc mã nhúng",
|
|
119
|
+
"input_hint": "Dán địa chỉ hoặc mã iframe từ menu Chia sẻ hoặc Nhúng của trang web.",
|
|
120
|
+
"keep_ratio": "Giữ tỷ lệ",
|
|
121
|
+
"lazy": "Tải khi cuộn đến",
|
|
60
122
|
"name": "Tên",
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
123
|
+
"parsed_allow": "quyền",
|
|
124
|
+
"parsed_fullscreen": "toàn màn hình",
|
|
125
|
+
"parsed_loading": "tải chậm",
|
|
126
|
+
"parsed_name": "tên",
|
|
127
|
+
"parsed_sandbox": "sandbox",
|
|
128
|
+
"parsed_size": "kích thước {width} × {height}",
|
|
129
|
+
"parsed_src": "địa chỉ",
|
|
130
|
+
"parsed_title": "tiêu đề",
|
|
131
|
+
"preview": "Xem trước nội dung nhúng",
|
|
132
|
+
"preview_empty": "Bản xem trước sẽ xuất hiện khi địa chỉ hợp lệ.",
|
|
133
|
+
"sandbox": "Sandbox",
|
|
134
|
+
"sandbox_hint": "Để trống: không giới hạn. Ví dụ: allow-scripts allow-same-origin",
|
|
135
|
+
"size": "Kích thước",
|
|
136
|
+
"size_custom": "Tùy chỉnh",
|
|
137
|
+
"size_invalid": "Hãy nhập kích thước bằng pixel.",
|
|
138
|
+
"size_responsive": "Thích ứng",
|
|
139
|
+
"size_responsive_hint": "Lấp đầy chiều rộng văn bản theo tỷ lệ {ratio}.",
|
|
140
|
+
"src_invalid": "Nội dung nhúng cần địa chỉ web bắt đầu bằng https:// hoặc http://.",
|
|
141
|
+
"src_protocol": "Hãy thêm giao thức vào địa chỉ: https:// hoặc http://.",
|
|
142
|
+
"src_required": "Hãy dán liên kết hoặc mã nhúng.",
|
|
143
|
+
"title_edit": "Chỉnh sửa nội dung nhúng",
|
|
144
|
+
"title_insert": "Nhúng nội dung",
|
|
145
|
+
"title_missing": "Trình đọc màn hình thông báo nội dung nhúng theo tiêu đề. Hãy mô tả nội dung được hiển thị.",
|
|
146
|
+
"title_text": "Tiêu đề cho trình đọc màn hình",
|
|
64
147
|
"width": "Chiều rộng"
|
|
65
148
|
},
|
|
66
149
|
"image": {
|
|
67
|
-
"
|
|
150
|
+
"alt_missing": "Trình đọc màn hình và công cụ tìm kiếm không thể đọc hình ảnh không có văn bản thay thế.",
|
|
151
|
+
"alt_text": "Văn bản thay thế cho trình đọc màn hình",
|
|
152
|
+
"apply_error": "Không thể lưu hình ảnh tại đây.",
|
|
68
153
|
"caption": "Chú thích",
|
|
69
154
|
"caption_placeholder": "Thêm chú thích…",
|
|
70
|
-
"dialog_title": "Thêm/sửa hình ảnh",
|
|
71
155
|
"height": "Chiều cao",
|
|
72
156
|
"keep_ratio": "Giữ tỷ lệ khung hình",
|
|
157
|
+
"original_size": "Gốc {width} × {height}",
|
|
158
|
+
"position": "Vị trí",
|
|
159
|
+
"position_center": "Giữa",
|
|
160
|
+
"position_left": "Trái",
|
|
161
|
+
"position_right": "Phải",
|
|
162
|
+
"remove_error": "Không thể xóa hình ảnh.",
|
|
163
|
+
"size": "Kích thước",
|
|
164
|
+
"size_custom": "Tùy chỉnh",
|
|
165
|
+
"size_original": "Gốc",
|
|
166
|
+
"size_text": "Rộng bằng văn bản",
|
|
167
|
+
"source_upload": "Tải lên",
|
|
168
|
+
"source_url": "Qua URL",
|
|
73
169
|
"src": "Nguồn",
|
|
74
|
-
"
|
|
170
|
+
"title_edit": "Sửa hình ảnh",
|
|
171
|
+
"title_insert": "Chèn hình ảnh",
|
|
172
|
+
"upload_cancel": "Hủy tải lên",
|
|
173
|
+
"upload_error": "Không thể tải hình ảnh lên.",
|
|
174
|
+
"upload_file": "Tệp hình ảnh",
|
|
75
175
|
"width": "Chiều rộng"
|
|
76
176
|
},
|
|
177
|
+
"insert": "Chèn",
|
|
77
178
|
"link": {
|
|
179
|
+
"advanced": "Nâng cao",
|
|
180
|
+
"apply_error": "Không thể áp dụng liên kết.",
|
|
78
181
|
"class": "Lớp CSS",
|
|
79
182
|
"href": "Địa chỉ liên kết",
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
183
|
+
"href_invalid": "Nhập địa chỉ liên kết, ví dụ https://example.com, #neo hoặc /trang.",
|
|
184
|
+
"new_tab": "Mở trong tab mới",
|
|
185
|
+
"protocol_missing": "Thiếu giao thức. Thêm:",
|
|
186
|
+
"rel": "Thuộc tính rel",
|
|
187
|
+
"rel_hint": "Giá trị bất kỳ: nhấn Enter, dấu cách hoặc dấu phẩy để thêm.",
|
|
188
|
+
"rel_new_tab_hint": "Liên kết mở trong tab mới cũng sẽ có noopener và noreferrer.",
|
|
189
|
+
"remove": "Xóa liên kết",
|
|
190
|
+
"text": "Văn bản",
|
|
191
|
+
"text_hint": "Để trống để dùng địa chỉ làm văn bản.",
|
|
192
|
+
"title_edit": "Sửa liên kết",
|
|
193
|
+
"title_insert": "Chèn liên kết"
|
|
194
|
+
},
|
|
195
|
+
"linkCard": {
|
|
196
|
+
"apply_failed": "Không thể chèn thẻ tại đây.",
|
|
197
|
+
"description": "Mô tả",
|
|
198
|
+
"display": "Hiển thị dạng",
|
|
199
|
+
"display_card": "Thẻ",
|
|
200
|
+
"display_link": "Liên kết",
|
|
201
|
+
"fetch_failed": "Không thể tải dữ liệu trang: {error}. Có thể điền các trường theo cách thủ công.",
|
|
202
|
+
"href_invalid": "Nhập địa chỉ đầy đủ của trang, ví dụ https://example.com/page.",
|
|
203
|
+
"image": "Hình ảnh",
|
|
204
|
+
"image_choose": "Chọn hình ảnh",
|
|
205
|
+
"image_failed": "Không thể tải hình ảnh lên. Hãy thử lại.",
|
|
206
|
+
"image_remove": "Xóa hình ảnh",
|
|
207
|
+
"image_replace": "Thay thế",
|
|
208
|
+
"layout": "Hiển thị",
|
|
209
|
+
"layout_compact": "Thu gọn",
|
|
210
|
+
"layout_large": "Lớn",
|
|
211
|
+
"layout_text": "Không có hình ảnh",
|
|
212
|
+
"loading": "Đang tải dữ liệu trang…",
|
|
213
|
+
"page_title": "Tiêu đề",
|
|
214
|
+
"paste_dismiss": "Giữ liên kết",
|
|
215
|
+
"paste_error": "Không có bản xem trước cho trang này.",
|
|
216
|
+
"protocol_missing": "Bắt đầu địa chỉ bằng https:// hoặc http://.",
|
|
217
|
+
"refresh": "Làm mới dữ liệu",
|
|
218
|
+
"site_name": "Tên trang web",
|
|
219
|
+
"title_edit": "Sửa thẻ liên kết",
|
|
220
|
+
"title_insert": "Chèn thẻ liên kết"
|
|
86
221
|
},
|
|
87
222
|
"preview": {
|
|
88
223
|
"title": "Xem trước"
|
|
89
224
|
},
|
|
225
|
+
"remove": "Xóa",
|
|
226
|
+
"save": "Lưu",
|
|
90
227
|
"source": {
|
|
91
228
|
"prettify": "Làm đẹp",
|
|
92
229
|
"title": "Xem mã nguồn"
|
|
93
230
|
},
|
|
94
231
|
"video": {
|
|
232
|
+
"apply_failed": "Không thể chèn video tại đây.",
|
|
233
|
+
"autoplay": "Tự động phát không tiếng",
|
|
234
|
+
"controls": "Hiện các nút điều khiển",
|
|
95
235
|
"height": "Chiều cao",
|
|
96
|
-
"
|
|
97
|
-
"
|
|
236
|
+
"keep_ratio": "Giữ tỷ lệ khung hình",
|
|
237
|
+
"loop": "Lặp lại",
|
|
238
|
+
"poster": "Ảnh bìa",
|
|
239
|
+
"poster_choose": "Chọn hình ảnh",
|
|
240
|
+
"poster_hint": "Không bắt buộc. Hiển thị cho đến khi video bắt đầu.",
|
|
241
|
+
"poster_url": "URL ảnh bìa",
|
|
242
|
+
"preview": "Xem trước video",
|
|
243
|
+
"preview_empty": "Bản xem trước sẽ xuất hiện khi liên kết được nhận diện.",
|
|
244
|
+
"size": "Kích thước",
|
|
245
|
+
"size_custom": "Tùy chỉnh",
|
|
246
|
+
"size_invalid": "Nhập kích thước bằng pixel.",
|
|
247
|
+
"size_responsive": "Tự co giãn",
|
|
248
|
+
"size_responsive_embed": "Tự co giãn 16:9",
|
|
249
|
+
"source_upload": "Tải lên",
|
|
250
|
+
"source_url": "Qua URL",
|
|
251
|
+
"start": "Bắt đầu từ",
|
|
252
|
+
"start_invalid": "Nhập thời gian theo dạng m:ss hoặc h:mm:ss.",
|
|
253
|
+
"title_edit": "Sửa video",
|
|
254
|
+
"title_insert": "Chèn video",
|
|
255
|
+
"upload_choose": "Chọn tệp video",
|
|
256
|
+
"upload_failed": "Không thể tải tệp lên. Hãy thử lại.",
|
|
257
|
+
"upload_progress": "{loaded} / {total} MB",
|
|
258
|
+
"upload_replace": "Thay thế",
|
|
259
|
+
"url": "Liên kết video",
|
|
260
|
+
"url_file_protocol": "Thêm giao thức vào liên kết tệp: https:// hoặc http://.",
|
|
261
|
+
"url_required": "Dán liên kết YouTube, Vimeo hoặc tệp video.",
|
|
262
|
+
"url_unsupported": "Dùng liên kết YouTube hoặc Vimeo, hoặc liên kết tới tệp video (.mp4, .webm, .ogg, .mov). Với các trang khác, hãy dùng mã nhúng.",
|
|
98
263
|
"width": "Chiều rộng"
|
|
99
264
|
}
|
|
100
265
|
},
|
|
@@ -171,7 +336,7 @@
|
|
|
171
336
|
"search": "Tìm kiếm biểu tượng cảm xúc...",
|
|
172
337
|
"title": "Biểu tượng cảm xúc"
|
|
173
338
|
},
|
|
174
|
-
"iframe": "
|
|
339
|
+
"iframe": "Nội dung nhúng",
|
|
175
340
|
"image": "Hình ảnh",
|
|
176
341
|
"image_toolbar": {
|
|
177
342
|
"align_left": "Align left",
|
|
@@ -212,10 +377,48 @@
|
|
|
212
377
|
},
|
|
213
378
|
"style": {
|
|
214
379
|
"color": {
|
|
215
|
-
"custom": "
|
|
380
|
+
"custom": "Màu tùy chỉnh",
|
|
381
|
+
"default": "Mặc định",
|
|
382
|
+
"eyedropper": "Lấy màu từ màn hình",
|
|
383
|
+
"hex": "Màu hex",
|
|
384
|
+
"hex_invalid": "Hãy nhập màu dạng #rgb hoặc #rrggbb.",
|
|
216
385
|
"highlight": "Màu tô đậm",
|
|
217
|
-
"
|
|
218
|
-
|
|
386
|
+
"names": {
|
|
387
|
+
"amber": "Hổ phách",
|
|
388
|
+
"black": "Đen",
|
|
389
|
+
"blue": "Xanh dương",
|
|
390
|
+
"dark_amber": "Hổ phách đậm",
|
|
391
|
+
"dark_blue": "Xanh dương đậm",
|
|
392
|
+
"dark_green": "Xanh lá đậm",
|
|
393
|
+
"dark_grey": "Xám đậm",
|
|
394
|
+
"dark_orange": "Cam đậm",
|
|
395
|
+
"dark_pink": "Hồng đậm",
|
|
396
|
+
"dark_purple": "Tím đậm",
|
|
397
|
+
"dark_red": "Đỏ đậm",
|
|
398
|
+
"dark_teal": "Xanh mòng két đậm",
|
|
399
|
+
"green": "Xanh lá",
|
|
400
|
+
"grey": "Xám",
|
|
401
|
+
"light_amber": "Hổ phách nhạt",
|
|
402
|
+
"light_blue": "Xanh dương nhạt",
|
|
403
|
+
"light_green": "Xanh lá nhạt",
|
|
404
|
+
"light_grey": "Xám nhạt",
|
|
405
|
+
"light_orange": "Cam nhạt",
|
|
406
|
+
"light_pink": "Hồng nhạt",
|
|
407
|
+
"light_purple": "Tím nhạt",
|
|
408
|
+
"light_red": "Đỏ nhạt",
|
|
409
|
+
"light_teal": "Xanh mòng két nhạt",
|
|
410
|
+
"medium_grey": "Xám vừa",
|
|
411
|
+
"orange": "Cam",
|
|
412
|
+
"pale_grey": "Xám rất nhạt",
|
|
413
|
+
"pink": "Hồng",
|
|
414
|
+
"purple": "Tím",
|
|
415
|
+
"red": "Đỏ",
|
|
416
|
+
"teal": "Xanh mòng két",
|
|
417
|
+
"white": "Trắng"
|
|
418
|
+
},
|
|
419
|
+
"no_highlight": "Không tô sáng",
|
|
420
|
+
"recent": "Gần đây",
|
|
421
|
+
"text": "Màu văn bản"
|
|
219
422
|
},
|
|
220
423
|
"fontFamily": "Gia phông chữ",
|
|
221
424
|
"fontSize": "Kích cỡ chữ",
|