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.
Files changed (137) hide show
  1. package/dist/content.css +28 -0
  2. package/dist/tiptapify.css +1 -1
  3. package/dist/tiptapify.mjs +110770 -65623
  4. package/dist/tiptapify.umd.js +106 -89
  5. package/index.d.ts +37 -0
  6. package/package.json +3 -2
  7. package/src/components/ImageBubbleMenu.vue +5 -33
  8. package/src/components/MenuBubble.test.ts +120 -0
  9. package/src/components/MenuBubble.vue +124 -134
  10. package/src/components/MenuFloating.vue +48 -45
  11. package/src/components/Tiptapify.upload.test.ts +10 -0
  12. package/src/components/Tiptapify.vue +85 -45
  13. package/src/components/Toolbar/Index.vue +10 -0
  14. package/src/components/UI/BubbleRow.vue +41 -0
  15. package/src/components/UI/TiptapifyDialog.test.ts +37 -3
  16. package/src/components/UI/TiptapifyDialog.vue +15 -4
  17. package/src/components/editorExtensions.test.ts +9 -0
  18. package/src/components/editorExtensions.ts +21 -1
  19. package/src/composables/fakeUploadEndpoint.ts +65 -0
  20. package/src/composables/useTiptapifyConfig.ts +19 -0
  21. package/src/composables/useTiptapifyLinkPreview.test.ts +51 -0
  22. package/src/composables/useTiptapifyLinkPreview.ts +60 -0
  23. package/src/composables/useTiptapifyUpload.test.ts +96 -0
  24. package/src/composables/useTiptapifyUpload.ts +126 -0
  25. package/src/extensions/components/ai/Dialog.test.ts +335 -0
  26. package/src/extensions/components/ai/Dialog.vue +607 -310
  27. package/src/extensions/components/ai/backend.test.ts +1 -0
  28. package/src/extensions/components/ai/backend.ts +2 -1
  29. package/src/extensions/components/ai/context.test.ts +149 -0
  30. package/src/extensions/components/ai/context.ts +145 -0
  31. package/src/extensions/components/ai/diff.test.ts +65 -0
  32. package/src/extensions/components/ai/diff.ts +120 -0
  33. package/src/extensions/components/ai/errors.test.ts +45 -0
  34. package/src/extensions/components/ai/errors.ts +67 -0
  35. package/src/extensions/components/ai/result.test.ts +144 -0
  36. package/src/extensions/components/ai/result.ts +101 -0
  37. package/src/extensions/components/ai/thinking.test.ts +45 -0
  38. package/src/extensions/components/ai/thinking.ts +58 -0
  39. package/src/extensions/components/formatExtra/sub/Button.vue +1 -1
  40. package/src/extensions/components/formatExtra/sup/Button.vue +1 -1
  41. package/src/extensions/components/media/iframe/Button.vue +6 -7
  42. package/src/extensions/components/media/iframe/IframeDialog.test.ts +177 -0
  43. package/src/extensions/components/media/iframe/IframeDialog.vue +477 -105
  44. package/src/extensions/components/media/iframe/embed.test.ts +123 -0
  45. package/src/extensions/components/media/iframe/embed.ts +236 -0
  46. package/src/extensions/components/media/iframe/index.test.ts +123 -0
  47. package/src/extensions/components/media/iframe/index.ts +92 -10
  48. package/src/extensions/components/media/image/ImageDialog.vue +430 -132
  49. package/src/extensions/components/media/image/caption.test.ts +66 -1
  50. package/src/extensions/components/media/image/caption.ts +27 -1
  51. package/src/extensions/components/media/image/imageDialog.test.ts +210 -0
  52. package/src/extensions/components/media/image/imageDialog.ts +117 -0
  53. package/src/extensions/components/media/image/index.ts +2 -1
  54. package/src/extensions/components/media/link/Button.test.ts +96 -0
  55. package/src/extensions/components/media/link/Button.vue +6 -2
  56. package/src/extensions/components/media/link/LinkDialog.display.test.ts +363 -0
  57. package/src/extensions/components/media/link/LinkDialog.vue +687 -61
  58. package/src/extensions/components/media/link/index.ts +111 -6
  59. package/src/extensions/components/media/link/link.marks.test.ts +89 -0
  60. package/src/extensions/components/media/link/linkDialog.test.ts +296 -0
  61. package/src/extensions/components/media/link/linkDialog.ts +154 -0
  62. package/src/extensions/components/media/linkCard/PasteCardMenu.test.ts +133 -0
  63. package/src/extensions/components/media/linkCard/PasteCardMenu.vue +168 -0
  64. package/src/extensions/components/media/linkCard/index.test.ts +146 -0
  65. package/src/extensions/components/media/linkCard/index.ts +177 -0
  66. package/src/extensions/components/media/linkCard/linkCardDialog.test.ts +87 -0
  67. package/src/extensions/components/media/linkCard/linkCardDialog.ts +62 -0
  68. package/src/extensions/components/media/linkCard/linkPreview.test.ts +102 -0
  69. package/src/extensions/components/media/linkCard/linkPreview.ts +84 -0
  70. package/src/extensions/components/media/linkCard/makeLinkCard.test.ts +59 -0
  71. package/src/extensions/components/media/linkCard/makeLinkCard.ts +58 -0
  72. package/src/extensions/components/media/linkCard/pasteCard.test.ts +190 -0
  73. package/src/extensions/components/media/linkCard/pasteCard.ts +153 -0
  74. package/src/extensions/components/media/video/Button.vue +2 -1
  75. package/src/extensions/components/media/video/VideoDialog.test.ts +233 -0
  76. package/src/extensions/components/media/video/VideoDialog.vue +748 -59
  77. package/src/extensions/components/media/video/index.test.ts +154 -0
  78. package/src/extensions/components/media/video/index.ts +70 -5
  79. package/src/extensions/components/media/video/providers.test.ts +148 -0
  80. package/src/extensions/components/media/video/providers.ts +241 -0
  81. package/src/extensions/components/media/video/videoFile.test.ts +98 -0
  82. package/src/extensions/components/media/video/videoFile.ts +142 -0
  83. package/src/extensions/components/misc/fullscreen/Button.test.ts +55 -0
  84. package/src/extensions/components/misc/fullscreen/Button.vue +2 -2
  85. package/src/extensions/components/style/StyleColor.test.ts +255 -0
  86. package/src/extensions/components/style/StyleColor.vue +358 -208
  87. package/src/extensions/components/style/color/Button.vue +1 -3
  88. package/src/extensions/components/style/color/colors.test.ts +191 -0
  89. package/src/extensions/components/style/color/colors.ts +168 -0
  90. package/src/extensions/components/style/highlight/Button.vue +1 -3
  91. package/src/i18n/locales/ar.json +226 -23
  92. package/src/i18n/locales/bg.json +225 -22
  93. package/src/i18n/locales/ch.json +226 -23
  94. package/src/i18n/locales/cz.json +226 -23
  95. package/src/i18n/locales/de.json +226 -23
  96. package/src/i18n/locales/el.json +225 -22
  97. package/src/i18n/locales/en.json +225 -22
  98. package/src/i18n/locales/es.json +226 -23
  99. package/src/i18n/locales/et.json +225 -22
  100. package/src/i18n/locales/fi.json +226 -23
  101. package/src/i18n/locales/fr.json +226 -23
  102. package/src/i18n/locales/he.json +225 -22
  103. package/src/i18n/locales/hi.json +225 -22
  104. package/src/i18n/locales/hr.json +225 -22
  105. package/src/i18n/locales/hu.json +226 -23
  106. package/src/i18n/locales/id.json +225 -22
  107. package/src/i18n/locales/it.json +226 -23
  108. package/src/i18n/locales/ja.json +226 -23
  109. package/src/i18n/locales/ko.json +226 -23
  110. package/src/i18n/locales/la.json +226 -23
  111. package/src/i18n/locales/lt.json +226 -23
  112. package/src/i18n/locales/nl.json +226 -23
  113. package/src/i18n/locales/no.json +227 -24
  114. package/src/i18n/locales/pl.json +226 -23
  115. package/src/i18n/locales/pt-BR.json +225 -22
  116. package/src/i18n/locales/pt.json +226 -23
  117. package/src/i18n/locales/ro.json +225 -22
  118. package/src/i18n/locales/ru.json +227 -24
  119. package/src/i18n/locales/se.json +226 -23
  120. package/src/i18n/locales/sk.json +225 -22
  121. package/src/i18n/locales/sl.json +225 -22
  122. package/src/i18n/locales/sr.json +225 -22
  123. package/src/i18n/locales/th.json +226 -23
  124. package/src/i18n/locales/tr.json +226 -23
  125. package/src/i18n/locales/uk.json +227 -24
  126. package/src/i18n/locales/vi.json +226 -23
  127. package/src/index.ts +10 -0
  128. package/src/skins/registry.test.ts +1 -1
  129. package/src/skins/tokens.reachability.test.ts +1 -0
  130. package/src/skins/tokens.ts +3 -3
  131. package/src/types/editor.ts +40 -1
  132. package/src/utils/contentStyles.test.ts +116 -0
  133. package/src/utils/contentStyles.ts +175 -0
  134. package/src/utils/mediaSize.test.ts +22 -0
  135. package/src/utils/mediaSize.ts +27 -0
  136. package/src/utils/validateHref.test.ts +47 -2
  137. package/src/utils/validateHref.ts +47 -7
@@ -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": "AI 생성에 실패했습니다",
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
- "limit_exceeded": "결과가 편집기의 글자 제한을 초과했습니다. 텍스트를 짧게 한 뒤 다시 적용하세요.",
68
+ "insert_below": "아래에 삽입",
69
+ "limit_exceeded": "결과가 편집기의 글자 수 제한을 초과합니다. 더 짧은 버전을 요청하세요.",
30
70
  "loading": "생성 중...",
31
71
  "prompt": "프롬프트",
72
+ "prompt_placeholder": "텍스트 작성 또는 편집을 요청하세요",
32
73
  "quick_prompts": "빠른 프롬프트",
33
74
  "reasoning_effort": "추론 레벨",
34
- "replace": "교체",
75
+ "replace_selection": "선택 영역 바꾸기",
35
76
  "result": "결과",
77
+ "send_hint": "Enter — 보내기",
36
78
  "stop": "중지",
37
79
  "thinking": "사고",
38
- "title": "AI 작성",
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": "이 작업을 사용하려면 AI 제공자를 설정하세요"
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
- "dialog_title": "iframe 추가/편집",
58
- "frameborder": "iframe 테두리",
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": "높이",
118
+ "input": "링크 또는 임베드 코드",
119
+ "input_hint": "사이트의 공유 또는 퍼가기 메뉴에서 주소나 iframe 코드를 붙여넣으세요.",
120
+ "keep_ratio": "종횡비 유지",
121
+ "lazy": "스크롤하여 보일 때 로드",
60
122
  "name": "이름",
61
- "src": "소스",
62
- "src_invalid": "입력한 URL 이 유효하지 않습니다",
63
- "title": "제목",
123
+ "parsed_allow": "권한",
124
+ "parsed_fullscreen": "전체 화면",
125
+ "parsed_loading": "지연 로딩",
126
+ "parsed_name": "이름",
127
+ "parsed_sandbox": "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
- "alt": "대체 텍스트",
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": "URL로",
73
169
  "src": "소스",
74
- "title": "제목",
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
- "href_error": "유효하지 않은 링크 주소",
81
- "rel": "rel",
82
- "target": "여기서 열기...",
83
- "target_blank": "새 창",
84
- "target_self": "현재 창",
85
- "title": "링크 추가/편집"
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": "예쁘게 정리",
92
229
  "title": "소스 코드 보기"
93
230
  },
94
231
  "video": {
232
+ "apply_failed": "이곳에는 동영상을 삽입할 수 없습니다.",
233
+ "autoplay": "음소거 자동 재생",
234
+ "controls": "컨트롤 표시",
95
235
  "height": "높이",
96
- "src": "소스",
97
- "title": "동영상 추가/편집",
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": "URL로",
251
+ "start": "시작 시간",
252
+ "start_invalid": "시간을 m:ss 또는 h:mm:ss 형식으로 입력하세요.",
253
+ "title_edit": "동영상 편집",
254
+ "title_insert": "동영상 삽입",
255
+ "upload_choose": "동영상 파일 선택",
256
+ "upload_failed": "파일을 업로드할 수 없습니다. 다시 시도하세요.",
257
+ "upload_progress": "{loaded} / {total} MB",
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": "iframe",
339
+ "iframe": "임베드",
175
340
  "image": "이미지",
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": "사용자 지정 색상",
381
+ "default": "기본값",
382
+ "eyedropper": "화면에서 색상 선택",
383
+ "hex": "16진수 색상",
384
+ "hex_invalid": "색상을 #rgb 또는 #rrggbb 형식으로 입력하세요.",
216
385
  "highlight": "하이라이트 색상",
217
- "text": "텍스트 색상",
218
- "unset": "색상 해제"
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": "글꼴 크기",
@@ -4,7 +4,20 @@
4
4
  "undo": "Atsaukt"
5
5
  },
6
6
  "ai": {
7
+ "another_version": "Cits variants",
7
8
  "append": "Adde in fine",
9
+ "change_vs_original": "{percent} salīdzinājumā ar oriģinālu",
10
+ "changes": "Izmaiņas",
11
+ "context": {
12
+ "characters": "{n} rakstz.",
13
+ "cursor": "Kursora vietā",
14
+ "document": "Viss teksts",
15
+ "excerpt": "„{text}”",
16
+ "paragraphs": "{n} rindk.",
17
+ "selection": "Atlasīts: {paragraphs}, {characters}"
18
+ },
19
+ "copied": "Nokopēts",
20
+ "copy": "Kopēt",
8
21
  "defaultExamples": {
9
22
  "expand": {
10
23
  "prompt": "Padari šo tekstu par detalizētāku versiju.",
@@ -23,19 +36,58 @@
23
36
  "title": "Kopsavilkums"
24
37
  }
25
38
  },
39
+ "effort_label": {
40
+ "default": "Līmenis: noklusējuma",
41
+ "high": "Līmenis: augsts",
42
+ "low": "Līmenis: zems",
43
+ "max": "Līmenis: maksimālais",
44
+ "medium": "Līmenis: vidējs",
45
+ "xhigh": "Līmenis: ļoti augsts"
46
+ },
47
+ "effort_levels": {
48
+ "default": "Noklusējuma",
49
+ "high": "Augsts",
50
+ "low": "Zems",
51
+ "max": "Maksimālais",
52
+ "medium": "Vidējs",
53
+ "xhigh": "Ļoti augsts"
54
+ },
26
55
  "error": "MI ģenerēšana neizdevās",
56
+ "errors": {
57
+ "auth": "MI pakalpojums noraidīja pieprasījumu: pārbaudiet API atslēgu vai piekļuves tiesības.",
58
+ "network": "Neizdevās sazināties ar MI pakalpojumu. Pārbaudiet, vai tas darbojas un atļauj pieprasījumus no šīs lapas (CORS): iemeslu rāda pārlūka konsole.",
59
+ "not_found": "MI pakalpojuma adrese netika atrasta: pārbaudiet galapunkta ceļu.",
60
+ "rate_limit": "Pārāk daudz pieprasījumu MI pakalpojumam. Pagaidiet brīdi un mēģiniet vēlreiz.",
61
+ "request": "MI pakalpojums nevarēja apstrādāt pieprasījumu.",
62
+ "service_says": "Pakalpojuma atbilde:",
63
+ "timeout": "MI pakalpojums neatbildēja laikā. Mēģiniet vēlreiz.",
64
+ "unavailable": "MI pakalpojums nav pieejams: iespējams, tas ielādē modeli vai ir aizņemts. Mēģiniet vēlāk."
65
+ },
27
66
  "generate": "Ģenerēt",
28
67
  "insert": "Insertio",
29
- "limit_exceeded": "Rezultāts pārsniedz redaktora simbolu limitu. Saīsini tekstu un piemēro vēlreiz.",
68
+ "insert_below": "Ievietot zemāk",
69
+ "limit_exceeded": "Rezultāts pārsniedz redaktora rakstzīmju limitu. Palūdz īsāku variantu.",
30
70
  "loading": "Ģenerē...",
31
71
  "prompt": "Pieprasījums",
72
+ "prompt_placeholder": "Palūdz uzrakstīt vai rediģēt tekstu",
32
73
  "quick_prompts": "Ātrie pieprasījumi",
33
74
  "reasoning_effort": "Domāšanas līmenis",
34
- "replace": "Substitue",
75
+ "replace_selection": "Aizstāt atlasīto",
35
76
  "result": "Rezultāts",
77
+ "send_hint": "Enter — nosūtīt",
36
78
  "stop": "Apturēt",
37
79
  "thinking": "Domāšana",
38
- "title": "Scriptura MI",
80
+ "thinking_label": {
81
+ "off": "Domāšana: izslēgta",
82
+ "on": "Domāšana: ieslēgta"
83
+ },
84
+ "thinking_now": "Domā…",
85
+ "thinking_states": {
86
+ "off": "Izslēgta",
87
+ "on": "Ieslēgta"
88
+ },
89
+ "thought_for": "Domāja {seconds} s",
90
+ "title": "Asistents",
39
91
  "unavailable": "Lai izmantotu šo darbību, konfigurē MI piegādātāju"
40
92
  },
41
93
  "alignment": "Līdzināšana",
@@ -51,50 +103,163 @@
51
103
  "defaultValue": "Noklusētā vērtība",
52
104
  "dialog": {
53
105
  "apply": "Pielietot",
106
+ "cancel": "Atcelt",
54
107
  "clear": "Notīrīt",
55
108
  "close": "Aizvērt",
56
109
  "iframe": {
57
- "dialog_title": "Pievienot/rediģēt iframe",
58
- "frameborder": "Rāmja robeža",
110
+ "advanced": "Papildu",
111
+ "allow": "Atļaujas (allow)",
112
+ "allow_hint": "Piemēram: autoplay; fullscreen; clipboard-write",
113
+ "apply_failed": "Iegulto saturu šeit nevar ievietot.",
114
+ "border": "Rādīt apmali",
115
+ "code_invalid": "Ielīmē viena iframe ar adresi kodu. Kodi ar skriptiem vai citiem tagiem netiek atbalstīti.",
116
+ "code_parsed": "Kods atpazīts: {fields}.",
59
117
  "height": "Augstums",
118
+ "input": "Saite vai iegulšanas kods",
119
+ "input_hint": "Ielīmē adresi vai iframe kodu no vietnes izvēlnes “Kopīgot” vai “Iegult”.",
120
+ "keep_ratio": "Saglabāt proporcijas",
121
+ "lazy": "Ielādēt, kad ritinot parādās skatā",
60
122
  "name": "Nosaukums",
61
- "src": "Avots",
62
- "src_invalid": "Ievadītais URL nav derīgs",
63
- "title": "Virsraksts",
123
+ "parsed_allow": "atļaujas",
124
+ "parsed_fullscreen": "pilnekrāns",
125
+ "parsed_loading": "atliktā ielāde",
126
+ "parsed_name": "nosaukums",
127
+ "parsed_sandbox": "sandbox",
128
+ "parsed_size": "izmērs {width} × {height}",
129
+ "parsed_src": "adrese",
130
+ "parsed_title": "virsraksts",
131
+ "preview": "Iegultā satura priekšskatījums",
132
+ "preview_empty": "Priekšskatījums parādās, kad adrese ir derīga.",
133
+ "sandbox": "Smilškaste (sandbox)",
134
+ "sandbox_hint": "Tukšs: bez ierobežojumiem. Piemēram: allow-scripts allow-same-origin",
135
+ "size": "Izmērs",
136
+ "size_custom": "Pielāgots",
137
+ "size_invalid": "Ievadi izmēru pikseļos.",
138
+ "size_responsive": "Adaptīvs",
139
+ "size_responsive_hint": "Aizpilda teksta platumu proporcijā {ratio}.",
140
+ "src_invalid": "Iegultajam saturam nepieciešama tīmekļa adrese, kas sākas ar https:// vai http://.",
141
+ "src_protocol": "Pievieno adresei protokolu: https:// vai http://.",
142
+ "src_required": "Ielīmē saiti vai iegulšanas kodu.",
143
+ "title_edit": "Rediģēt iegulto saturu",
144
+ "title_insert": "Iegult saturu",
145
+ "title_missing": "Ekrāna lasītāji iegulto saturu nosauc pēc virsraksta. Apraksti, ko tas rāda.",
146
+ "title_text": "Virsraksts ekrāna lasītājiem",
64
147
  "width": "Platums"
65
148
  },
66
149
  "image": {
67
- "alt": "Alt",
150
+ "alt_missing": "Ekrāna lasītāji un meklētājprogrammas nevar nolasīt attēlu bez alternatīvā teksta.",
151
+ "alt_text": "Alternatīvais teksts ekrāna lasītājiem",
152
+ "apply_error": "Attēlu šeit nevarēja saglabāt.",
68
153
  "caption": "Inscriptio",
69
154
  "caption_placeholder": "Inscriptionem adde…",
70
- "dialog_title": "Pievienot/mainīt attēlu",
71
155
  "height": "Augstums",
72
156
  "keep_ratio": "Saglabāt attiecības",
157
+ "original_size": "Oriģināls {width} × {height}",
158
+ "position": "Novietojums",
159
+ "position_center": "Centrā",
160
+ "position_left": "Pa kreisi",
161
+ "position_right": "Pa labi",
162
+ "remove_error": "Attēlu nevarēja noņemt.",
163
+ "size": "Izmērs",
164
+ "size_custom": "Pielāgots",
165
+ "size_original": "Oriģināls",
166
+ "size_text": "Teksta platumā",
167
+ "source_upload": "Augšupielādēt",
168
+ "source_url": "No saites",
73
169
  "src": "Avots",
74
- "title": "Titulus",
170
+ "title_edit": "Rediģēt attēlu",
171
+ "title_insert": "Ievietot attēlu",
172
+ "upload_cancel": "Atcelt augšupielādi",
173
+ "upload_error": "Attēlu nevarēja augšupielādēt.",
174
+ "upload_file": "Attēla fails",
75
175
  "width": "Platums"
76
176
  },
177
+ "insert": "Ievietot",
77
178
  "link": {
179
+ "advanced": "Papildu",
180
+ "apply_error": "Saiti nevarēja pievienot.",
78
181
  "class": "CSS klase",
79
182
  "href": "Saites adrese",
80
- "href_error": "Nederīga saites adrese",
81
- "rel": "Rel",
82
- "target": "Atvērt...",
83
- "target_blank": "Jaunā logā",
84
- "target_self": "Pašreizējā logā",
85
- "title": "Pievienot/mainīt saiti"
183
+ "href_invalid": "Ievadiet saites adresi, piemēram, https://example.com, #enkurs vai /lapa.",
184
+ "new_tab": "Atvērt jaunā cilnē",
185
+ "protocol_missing": "Nav protokola. Pievienot:",
186
+ "rel": "Rel atribūti",
187
+ "rel_hint": "Jebkura vērtība: to pievieno Enter, atstarpe vai komats.",
188
+ "rel_new_tab_hint": "Saite, kas atveras jaunā cilnē, saņem arī noopener un noreferrer.",
189
+ "remove": "Noņemt saiti",
190
+ "text": "Teksts",
191
+ "text_hint": "Atstājiet tukšu, lai par tekstu izmantotu adresi.",
192
+ "title_edit": "Rediģēt saiti",
193
+ "title_insert": "Ievietot saiti"
194
+ },
195
+ "linkCard": {
196
+ "apply_failed": "Kartīti šeit nevar ievietot.",
197
+ "description": "Apraksts",
198
+ "display": "Rādīt kā",
199
+ "display_card": "Kartīte",
200
+ "display_link": "Saite",
201
+ "fetch_failed": "Lapas datus nevarēja ielādēt: {error}. Laukus varat aizpildīt manuāli.",
202
+ "href_invalid": "Ievadiet pilnu lapas adresi, piemēram, https://example.com/page.",
203
+ "image": "Attēls",
204
+ "image_choose": "Izvēlēties attēlu",
205
+ "image_failed": "Attēlu nevarēja augšupielādēt. Mēģiniet vēlreiz.",
206
+ "image_remove": "Noņemt attēlu",
207
+ "image_replace": "Aizstāt",
208
+ "layout": "Attēlojums",
209
+ "layout_compact": "Kompakta",
210
+ "layout_large": "Liela",
211
+ "layout_text": "Bez attēla",
212
+ "loading": "Notiek lapas datu ielāde…",
213
+ "page_title": "Virsraksts",
214
+ "paste_dismiss": "Paturēt saiti",
215
+ "paste_error": "Šai lapai nav priekšskatījuma.",
216
+ "protocol_missing": "Sāciet adresi ar https:// vai http://.",
217
+ "refresh": "Atsvaidzināt datus",
218
+ "site_name": "Vietnes nosaukums",
219
+ "title_edit": "Rediģēt saites kartīti",
220
+ "title_insert": "Ievietot saites kartīti"
86
221
  },
87
222
  "preview": {
88
223
  "title": "Priekšskatījums"
89
224
  },
225
+ "remove": "Noņemt",
226
+ "save": "Saglabāt",
90
227
  "source": {
91
228
  "prettify": "Prettify",
92
229
  "title": "Skatīt avota kodu"
93
230
  },
94
231
  "video": {
232
+ "apply_failed": "Video šeit nevar ievietot.",
233
+ "autoplay": "Automātiska atskaņošana bez skaņas",
234
+ "controls": "Rādīt vadīklas",
95
235
  "height": "Augstums",
96
- "src": "Avots",
97
- "title": "Pievienot/rediģēt video",
236
+ "keep_ratio": "Saglabāt attiecības",
237
+ "loop": "Atkārtot",
238
+ "poster": "Vāka attēls",
239
+ "poster_choose": "Izvēlēties attēlu",
240
+ "poster_hint": "Nav obligāts. Tiek rādīts, līdz video sākas.",
241
+ "poster_url": "Vāka attēla URL",
242
+ "preview": "Video priekšskatījums",
243
+ "preview_empty": "Priekšskatījums parādīsies, kad saite būs atpazīta.",
244
+ "size": "Izmērs",
245
+ "size_custom": "Pielāgots",
246
+ "size_invalid": "Ievadiet izmēru pikseļos.",
247
+ "size_responsive": "Adaptīvs",
248
+ "size_responsive_embed": "Adaptīvs 16:9",
249
+ "source_upload": "Augšupielādēt",
250
+ "source_url": "No saites",
251
+ "start": "Sākt no",
252
+ "start_invalid": "Ievadiet laiku formātā m:ss vai h:mm:ss.",
253
+ "title_edit": "Rediģēt video",
254
+ "title_insert": "Ievietot video",
255
+ "upload_choose": "Izvēlieties video failu",
256
+ "upload_failed": "Failu nevarēja augšupielādēt. Mēģiniet vēlreiz.",
257
+ "upload_progress": "{loaded} no {total} MB",
258
+ "upload_replace": "Aizstāt",
259
+ "url": "Video saite",
260
+ "url_file_protocol": "Pievienojiet faila saitei protokolu: https:// vai http://.",
261
+ "url_required": "Ielīmējiet YouTube, Vimeo vai video faila saiti.",
262
+ "url_unsupported": "Izmantojiet YouTube vai Vimeo saiti vai saiti uz video failu (.mp4, .webm, .ogg, .mov). Citām vietnēm izmantojiet iegulšanas kodu.",
98
263
  "width": "Platums"
99
264
  }
100
265
  },
@@ -171,7 +336,7 @@
171
336
  "search": "Meklēt emocijzīmes...",
172
337
  "title": "Emocijzīmes"
173
338
  },
174
- "iframe": "iframe",
339
+ "iframe": "Iegultais saturs",
175
340
  "image": "Attēls",
176
341
  "image_toolbar": {
177
342
  "align_left": "Align left",
@@ -212,10 +377,48 @@
212
377
  },
213
378
  "style": {
214
379
  "color": {
215
- "custom": "Pielāgota izvēle",
380
+ "custom": "Pielāgota krāsa",
381
+ "default": "Noklusējuma",
382
+ "eyedropper": "Paņemt krāsu no ekrāna",
383
+ "hex": "Heksadecimālā krāsa",
384
+ "hex_invalid": "Ievadi krāsu formātā #rgb vai #rrggbb.",
216
385
  "highlight": "Iezīmējuma krāsa",
217
- "text": "Teksta krāsa",
218
- "unset": "Noņemt krāsu"
386
+ "names": {
387
+ "amber": "Dzintardzeltena",
388
+ "black": "Melna",
389
+ "blue": "Zila",
390
+ "dark_amber": "Tumši dzintardzeltena",
391
+ "dark_blue": "Tumši zila",
392
+ "dark_green": "Tumši zaļa",
393
+ "dark_grey": "Tumši pelēka",
394
+ "dark_orange": "Tumši oranža",
395
+ "dark_pink": "Tumši rozā",
396
+ "dark_purple": "Tumši violeta",
397
+ "dark_red": "Tumši sarkana",
398
+ "dark_teal": "Tumši zilganzaļa",
399
+ "green": "Zaļa",
400
+ "grey": "Pelēka",
401
+ "light_amber": "Gaiši dzintardzeltena",
402
+ "light_blue": "Gaiši zila",
403
+ "light_green": "Gaiši zaļa",
404
+ "light_grey": "Gaiši pelēka",
405
+ "light_orange": "Gaiši oranža",
406
+ "light_pink": "Gaiši rozā",
407
+ "light_purple": "Gaiši violeta",
408
+ "light_red": "Gaiši sarkana",
409
+ "light_teal": "Gaiši zilganzaļa",
410
+ "medium_grey": "Vidēji pelēka",
411
+ "orange": "Oranža",
412
+ "pale_grey": "Bāli pelēka",
413
+ "pink": "Rozā",
414
+ "purple": "Violeta",
415
+ "red": "Sarkana",
416
+ "teal": "Zilganzaļa",
417
+ "white": "Balta"
418
+ },
419
+ "no_highlight": "Bez iezīmējuma",
420
+ "recent": "Nesenās",
421
+ "text": "Teksta krāsa"
219
422
  },
220
423
  "fontFamily": "Fontu saime",
221
424
  "fontSize": "Fonta izmērs",