@strapi/upload 5.50.1 → 5.50.2

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 (47) hide show
  1. package/dist/admin/ai/components/AIAssetCard.js +7 -1
  2. package/dist/admin/ai/components/AIAssetCard.js.map +1 -1
  3. package/dist/admin/ai/components/AIAssetCard.mjs +7 -1
  4. package/dist/admin/ai/components/AIAssetCard.mjs.map +1 -1
  5. package/dist/admin/components/AssetCard/AssetCard.js +6 -0
  6. package/dist/admin/components/AssetCard/AssetCard.js.map +1 -1
  7. package/dist/admin/components/AssetCard/AssetCard.mjs +6 -0
  8. package/dist/admin/components/AssetCard/AssetCard.mjs.map +1 -1
  9. package/dist/admin/components/AssetCard/ImageAssetCard.js +3 -2
  10. package/dist/admin/components/AssetCard/ImageAssetCard.js.map +1 -1
  11. package/dist/admin/components/AssetCard/ImageAssetCard.mjs +3 -2
  12. package/dist/admin/components/AssetCard/ImageAssetCard.mjs.map +1 -1
  13. package/dist/admin/components/EditAssetDialog/EditAssetContent.js +2 -2
  14. package/dist/admin/components/EditAssetDialog/EditAssetContent.js.map +1 -1
  15. package/dist/admin/components/EditAssetDialog/EditAssetContent.mjs +2 -2
  16. package/dist/admin/components/EditAssetDialog/EditAssetContent.mjs.map +1 -1
  17. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.js +8 -0
  18. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.js.map +1 -1
  19. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.mjs +8 -0
  20. package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.mjs.map +1 -1
  21. package/dist/admin/components/TableList/PreviewCell.js +5 -1
  22. package/dist/admin/components/TableList/PreviewCell.js.map +1 -1
  23. package/dist/admin/components/TableList/PreviewCell.mjs +5 -1
  24. package/dist/admin/components/TableList/PreviewCell.mjs.map +1 -1
  25. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.js +6 -3
  26. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.js.map +1 -1
  27. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.mjs +6 -3
  28. package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.mjs.map +1 -1
  29. package/dist/admin/future/pages/Assets/components/AssetsGrid.js +5 -1
  30. package/dist/admin/future/pages/Assets/components/AssetsGrid.js.map +1 -1
  31. package/dist/admin/future/pages/Assets/components/AssetsGrid.mjs +5 -1
  32. package/dist/admin/future/pages/Assets/components/AssetsGrid.mjs.map +1 -1
  33. package/dist/admin/src/components/AssetCard/ImageAssetCard.d.ts +2 -1
  34. package/dist/admin/src/hooks/useAiAvailability.d.ts +1 -1
  35. package/dist/admin/src/hooks/useEditAsset.d.ts +4 -4
  36. package/dist/admin/src/hooks/useEditFolder.d.ts +4 -4
  37. package/dist/admin/src/hooks/useUpload.d.ts +1 -1
  38. package/dist/admin/translations/ko.json.js +183 -1
  39. package/dist/admin/translations/ko.json.js.map +1 -1
  40. package/dist/admin/translations/ko.json.mjs +183 -1
  41. package/dist/admin/translations/ko.json.mjs.map +1 -1
  42. package/dist/server/src/controllers/index.d.ts +1 -1
  43. package/dist/server/src/index.d.ts +11 -11
  44. package/dist/server/src/routes/index.d.ts +1 -1
  45. package/dist/server/src/services/image-manipulation.d.ts +3 -3
  46. package/dist/server/src/services/index.d.ts +9 -9
  47. package/package.json +16 -12
@@ -100,7 +100,189 @@ var ko = {
100
100
  "sort.updated_at_desc": "최근 업데이트순",
101
101
  "tabs.title": "자산을 업로드할 방법을 선택해주세요.",
102
102
  "window.confirm.close-modal.file": "확실한가요? 변경 내용이 사라집니다.",
103
- "window.confirm.close-modal.files": "확실하나요? 아직 업로드되지 않은 파일이 있습니다."
103
+ "window.confirm.close-modal.files": "확실하나요? 아직 업로드되지 않은 파일이 있습니다.",
104
+ "apiError.FileTooBig": "업로드한 파일이 허용된 최대 에셋 크기를 초과했습니다.",
105
+ "assets.uploaded": "{number, plural, one {1 개} other {# 개}}의 에셋이 업로드되었습니다",
106
+ "asset-details.title": "파일 상세 정보",
107
+ "asset-details.description": "파일 정보와 메타데이터를 표시합니다.",
108
+ "asset-details.fileInfo": "파일 정보",
109
+ "asset-details.error": "파일 상세 정보를 불러오지 못했습니다.",
110
+ "asset-details.videoNotSupported": "브라우저가 비디오 태그를 지원하지 않습니다.",
111
+ "asset-details.size": "용량",
112
+ "asset-details.dimensions": "크기",
113
+ "asset-details.creationDate": "생성일",
114
+ "asset-details.lastUpdated": "마지막 수정일",
115
+ "asset-details.createdBy": "작성자",
116
+ "asset-details.extension": "확장자",
117
+ "asset-details.assetId": "에셋 ID",
118
+ "asset-details.fileName": "파일명",
119
+ "asset-details.caption": "캡션",
120
+ "asset-details.alternativeText": "대체 텍스트",
121
+ "asset-details.location": "위치",
122
+ "asset-details.save": "변경 사항 저장",
123
+ "asset-details.update.success": "파일이 수정되었습니다",
124
+ "asset-details.update.error": "파일을 수정하지 못했습니다.",
125
+ "asset-details.field.empty": "{label} 항목이 비어 있습니다.",
126
+ "asset-details.location.root": "미디어 라이브러리",
127
+ "asset-details.saveChanges": "변경 사항 저장",
128
+ "asset-details.delete.trigger": "이 파일 삭제",
129
+ "asset-details.delete.title": "이 미디어 파일을 삭제하시겠습니까?",
130
+ "asset-details.delete.description": "삭제하면 이 파일을 복구할 수 없습니다. 현재 사용 중인 경우 연결된 콘텐츠가 깨지고 이미지 컨테이너가 비게 됩니다.",
131
+ "asset-details.delete.success": "{folderName}에서 1개 항목이 삭제되었습니다",
132
+ "asset-details.delete.error": "파일을 삭제하지 못했습니다.",
133
+ "asset-details.delete.loading": "파일을 삭제하는 중…",
134
+ "asset-details.replace.trigger": "이 파일 교체",
135
+ "asset-details.replace.title": "이 미디어 파일을 교체하시겠습니까?",
136
+ "asset-details.replace.description": "현재 콘텐츠가 영구적으로 교체됩니다.",
137
+ "asset-details.replace.description.ai": "업로드 후 AI가 새 메타데이터를 생성합니다.",
138
+ "asset-details.replace.continue": "계속",
139
+ "asset-details.replace.success": "파일이 교체되었습니다.",
140
+ "asset-details.replace.error": "파일을 교체하지 못했습니다.",
141
+ "asset-details.replace.loading": "파일을 교체하는 중…",
142
+ "asset-details.copy-link.trigger": "링크 복사",
143
+ "asset-details.copy-link.success": "링크가 복사되었습니다.",
144
+ "asset-details.copy-link.error": "링크를 복사하지 못했습니다.",
145
+ "asset-details.download.trigger": "다운로드",
146
+ "asset-details.download.error": "파일을 다운로드하지 못했습니다.",
147
+ "asset-details.crop.trigger": "자르기",
148
+ "asset-details.crop.title": "자르기 및 초점 영역",
149
+ "asset-details.crop.hint": "사각형으로 자르기 영역을 설정하세요. 원으로 항상 표시할 영역을 고정하세요.",
150
+ "asset-details.crop.width": "너비 (px)",
151
+ "asset-details.crop.height": "높이 (px)",
152
+ "asset-details.crop.aspect-lock": "가로세로 비율 고정",
153
+ "asset-details.crop.focal-point": "초점",
154
+ "asset-details.crop.focal-x": "초점 X (px)",
155
+ "asset-details.crop.focal-y": "초점 Y (px)",
156
+ "asset-details.crop.focal-x-axis": "X",
157
+ "asset-details.crop.focal-y-axis": "Y",
158
+ "asset-details.crop.resize.top-left": "왼쪽 위 크기 조절",
159
+ "asset-details.crop.resize.top-right": "오른쪽 위 크기 조절",
160
+ "asset-details.crop.resize.bottom-left": "왼쪽 아래 크기 조절",
161
+ "asset-details.crop.resize.bottom-right": "오른쪽 아래 크기 조절",
162
+ "asset-details.crop.export-error": "자른 이미지를 처리하지 못했습니다.",
163
+ "asset-details.crop.cancel": "취소",
164
+ "asset-details.crop.save-as-copy": "사본으로 저장",
165
+ "asset-details.crop.apply": "적용",
166
+ "asset-details.crop.success": "파일이 잘렸습니다.",
167
+ "asset-details.crop.copy-success": "사본이 생성되었습니다.",
168
+ "asset-details.crop.error": "파일을 자르지 못했습니다.",
169
+ "asset-details.crop.loading": "자른 사본을 저장하는 중…",
170
+ "asset-details.noPreview": "미리보기를 사용할 수 없습니다",
171
+ "upload.generic-error": "파일을 업로드하는 중 오류가 발생했습니다.",
172
+ "upload.progress": "업로드 진행 상황",
173
+ "upload.progress.description": "업로드 진행 상황과 상태를 표시합니다.",
174
+ "upload.progress.failed": "업로드 실패",
175
+ "upload.progress.failed.subtitle": "파일을 다시 업로드해 주세요",
176
+ "upload.progress.success": "업로드 성공!",
177
+ "upload.progress.success.subtitle": "{count, plural, one {파일 1개가 업로드되었습니다} other {파일 #개가 업로드되었습니다}}",
178
+ "upload.progress.success.subtitle.withErrors": "{successCount}개 업로드됨, {errorCount}개 실패",
179
+ "upload.progress.uploading.withCount": "{total}개 항목 업로드 중 ({percentage}%)",
180
+ "upload.progress.uploading-files": "파일 {count, plural, one {1개} other {#개}} 업로드 중",
181
+ "upload.progress.indicator.in-progress": "업로드 진행 중 표시기",
182
+ "upload.progress.indicator.complete": "업로드 완료 표시기",
183
+ "upload.progress.label": "업로드",
184
+ "upload.progress.errors.title": "업로드 실패:",
185
+ "upload.progress.cancel": "취소",
186
+ "upload.progress.canceled": "업로드가 취소되었습니다",
187
+ "upload.progress.canceled.subtitle": "일부 파일이 업로드되지 않았습니다",
188
+ "upload.progress.canceled.subtitle.all": "모든 업로드가 취소되었습니다",
189
+ "upload.progress.retry": "다시 시도",
190
+ "upload.progress.file.uploading": "업로드 중...",
191
+ "upload.progress.file.canceled": "취소됨",
192
+ "upload.progress.file.uploaded": "업로드됨",
193
+ "upload.progress.maximize": "최대화",
194
+ "upload.progress.minimize": "최소화",
195
+ "upload.progress.close": "닫기",
196
+ "new": "신규",
197
+ "control-card.set-focal-point": "초점 설정",
198
+ "control-card.stop-focal-point": "초점 선택 취소",
199
+ "control-card.reset-focal-point": "가운데로 재설정",
200
+ "control-card.save-focal-point": "초점 저장",
201
+ "control-card.remove-selection": "선택 항목에서 제거",
202
+ "dropzone.upload.message": "여기에 놓아 업로드",
203
+ "form.input.placeholder.file-caption": "캡션 입력",
204
+ "header.actions.add-folder": "새 폴더 추가",
205
+ "folder.create.title": "새 폴더",
206
+ "folder.form.name.label": "폴더 이름",
207
+ "folder.create.submit": "폴더 생성",
208
+ "folder.create.form.error.name-required": "이름은 필수입니다",
209
+ "folder.create.form.error.unknown": "폴더를 생성하는 중 오류가 발생했습니다",
210
+ "folder.create.success": "폴더가 생성되었습니다",
211
+ "header.actions.add-assets.folder": "폴더",
212
+ "header.content.assets-empty": "에셋 없음",
213
+ "header.content.item-count": "{count, plural, =1 {1개 항목} other {#개 항목}}",
214
+ "import-files": "파일 업로드",
215
+ "import-from-url": "URL로 파일 업로드",
216
+ "input.url.placeholder": "비어 있음",
217
+ "input.notification.not-supported": "이 파일 형식은 업로드할 수 없습니다. 다음 형식만 허용됩니다 – {fileTypes}",
218
+ "list.assets.title": "에셋 ({count})",
219
+ "list.assets.empty-upload": "첫 에셋을 업로드해보세요...",
220
+ "list.assets.error": "에셋을 가져오는 중 오류가 발생했습니다.",
221
+ "list.assets.loading-more": "에셋을 더 불러오는 중...",
222
+ "list-assets-select": "{name} 에셋 선택",
223
+ "list.assets.to-upload": "{number, plural, =0 {에셋 없음} one {에셋 1개} other {에셋 #개}} 업로드 준비 완료",
224
+ "list.folder.edit": "폴더 수정",
225
+ "list.folder.select": "{name} 폴더 선택",
226
+ "list.folder.subtitle": "{folderCount, plural, one {폴더 1개} other {폴더 #개}}, {filesCount, plural, one {에셋 1개} other {에셋 #개}}",
227
+ "list.folders.title": "폴더 ({count})",
228
+ "list.folders.link-label": "폴더 열기",
229
+ "modal.file-details.id": "에셋 ID",
230
+ "modal.file-details.focal-point": "초점",
231
+ "modal.folder.elements.count": "폴더 {folderCount}개, 에셋 {assetCount}개",
232
+ "modal.header.go-back": "뒤로 가기",
233
+ "modal.folder.move.title": "다음 위치로 이동",
234
+ "modal.move.success-label": "항목이 이동되었습니다",
235
+ "modal.move.error-label": "항목을 이동하는 중 오류가 발생했습니다.",
236
+ "dnd.announce.drag-start": "{name}을(를) 집었습니다. 이동하려면 폴더에 놓으세요.",
237
+ "dnd.announce.invalid-drop": "이 폴더로 항목을 이동할 수 없습니다.",
238
+ "dnd.announce.move-failure": "이동에 실패했습니다. {message}",
239
+ "dnd.announce.cancel": "드래그가 취소되었습니다.",
240
+ "plugin.home": "홈",
241
+ "settings.form.aiMetadata.label": "업로드 시 AI가 자동으로 캡션과 대체 텍스트를 생성합니다!",
242
+ "settings.form.aiMetadata.description": "이 기능을 사용하면 AI가 캡션과 대체 텍스트를 대신 생성해주어 시간을 절약하고 SEO를 최적화하며 접근성을 높일 수 있습니다.",
243
+ "settings.form.aiMetadata.allAssetsHaveMetadata": "모든 에셋에 캡션과 대체 텍스트가 있습니다",
244
+ "settings.form.aiMetadata.imagesWithoutMetadata": "{count, plural, one {이미지 1개에 캡션 또는 대체 텍스트가 없습니다} other {이미지 #개에 캡션 또는 대체 텍스트가 없습니다}}",
245
+ "settings.form.aiMetadata.generatingMetadata": "AI가 메타데이터를 생성하고 있습니다",
246
+ "settings.form.aiMetadata.metadataGenerated": "메타데이터가 생성되었습니다",
247
+ "settings.form.aiMetadata.generateButton": "메타데이터 생성",
248
+ "settings.form.aiMetadata.confirmDialog.title": "AI 메타데이터 생성",
249
+ "settings.form.aiMetadata.confirmDialog.message": "백그라운드에서 {count, plural, one {이미지 1개} other {이미지 #개}}에 대한 캡션과 대체 텍스트를 생성하는 작업이 시작됩니다. AI는 실수를 할 수 있으니 생성된 콘텐츠를 반드시 검토하세요.",
250
+ "settings.section.audio.label": "오디오",
251
+ "list.table.header.actions": "작업",
252
+ "list.table.header.preview": "미리보기",
253
+ "list.table.header.name": "이름",
254
+ "list.table.header.ext": "확장자",
255
+ "list.table.header.size": "용량",
256
+ "list.table.header.createdAt": "생성일",
257
+ "list.table.header.updatedAt": "마지막 수정",
258
+ "list.table.header.creationDate": "생성일",
259
+ "list.table.header.lastModified": "마지막 수정일",
260
+ "list.table.header.sort": "{label} 기준 정렬",
261
+ "list.table.content.empty-label": "이 필드는 비어 있습니다",
262
+ "config.back": "뒤로",
263
+ "config.subtitle": "미디어 라이브러리의 보기 설정을 정의합니다.",
264
+ "config.entries.title": "페이지당 항목 수",
265
+ "config.sort.title": "기본 정렬 순서",
266
+ "config.entries.note": "미디어 라이브러리에 기본으로 표시되는 에셋 수",
267
+ "config.note": "참고: 이 값은 미디어 라이브러리에서 재정의할 수 있습니다.",
268
+ "config.popUpWarning.warning.updateAllSettings": "모든 설정이 변경됩니다",
269
+ "view-switch.list": "리스트 보기",
270
+ "view-switch.grid": "그리드 보기",
271
+ "view.switch.label": "보기 옵션",
272
+ "view.table": "테이블 보기",
273
+ "view.grid": "그리드 보기",
274
+ "ai.modal.uploading.title": "AI로 업로드 및 처리하는 중...",
275
+ "ai.modal.title": "{count, plural, one {에셋 1개 업로드됨} other {에셋 #개 업로드됨}}, AI가 생성한 메타데이터를 검토하세요",
276
+ "ai.modal.error": "업로드된 파일에 대한 AI 메타데이터를 생성하지 못했습니다.",
277
+ "sidebar.title": "미디어 라이브러리",
278
+ "sidebar.home": "홈",
279
+ "sidebar.folders": "폴더",
280
+ "sidebar.tree.aria-label": "미디어 라이브러리 폴더",
281
+ "sidebar.tree.expand": "{name} 펼치기",
282
+ "sidebar.tree.collapse": "{name} 접기",
283
+ "sidebar.tree.empty": "아직 폴더가 없습니다",
284
+ "sidebar.tree.loading": "폴더를 불러오는 중...",
285
+ "sidebar.tree.error": "폴더를 불러오지 못했습니다."
104
286
  };
105
287
 
106
288
  module.exports = ko;
@@ -1 +1 @@
1
- {"version":3,"file":"ko.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ko.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -98,7 +98,189 @@ var ko = {
98
98
  "sort.updated_at_desc": "최근 업데이트순",
99
99
  "tabs.title": "자산을 업로드할 방법을 선택해주세요.",
100
100
  "window.confirm.close-modal.file": "확실한가요? 변경 내용이 사라집니다.",
101
- "window.confirm.close-modal.files": "확실하나요? 아직 업로드되지 않은 파일이 있습니다."
101
+ "window.confirm.close-modal.files": "확실하나요? 아직 업로드되지 않은 파일이 있습니다.",
102
+ "apiError.FileTooBig": "업로드한 파일이 허용된 최대 에셋 크기를 초과했습니다.",
103
+ "assets.uploaded": "{number, plural, one {1 개} other {# 개}}의 에셋이 업로드되었습니다",
104
+ "asset-details.title": "파일 상세 정보",
105
+ "asset-details.description": "파일 정보와 메타데이터를 표시합니다.",
106
+ "asset-details.fileInfo": "파일 정보",
107
+ "asset-details.error": "파일 상세 정보를 불러오지 못했습니다.",
108
+ "asset-details.videoNotSupported": "브라우저가 비디오 태그를 지원하지 않습니다.",
109
+ "asset-details.size": "용량",
110
+ "asset-details.dimensions": "크기",
111
+ "asset-details.creationDate": "생성일",
112
+ "asset-details.lastUpdated": "마지막 수정일",
113
+ "asset-details.createdBy": "작성자",
114
+ "asset-details.extension": "확장자",
115
+ "asset-details.assetId": "에셋 ID",
116
+ "asset-details.fileName": "파일명",
117
+ "asset-details.caption": "캡션",
118
+ "asset-details.alternativeText": "대체 텍스트",
119
+ "asset-details.location": "위치",
120
+ "asset-details.save": "변경 사항 저장",
121
+ "asset-details.update.success": "파일이 수정되었습니다",
122
+ "asset-details.update.error": "파일을 수정하지 못했습니다.",
123
+ "asset-details.field.empty": "{label} 항목이 비어 있습니다.",
124
+ "asset-details.location.root": "미디어 라이브러리",
125
+ "asset-details.saveChanges": "변경 사항 저장",
126
+ "asset-details.delete.trigger": "이 파일 삭제",
127
+ "asset-details.delete.title": "이 미디어 파일을 삭제하시겠습니까?",
128
+ "asset-details.delete.description": "삭제하면 이 파일을 복구할 수 없습니다. 현재 사용 중인 경우 연결된 콘텐츠가 깨지고 이미지 컨테이너가 비게 됩니다.",
129
+ "asset-details.delete.success": "{folderName}에서 1개 항목이 삭제되었습니다",
130
+ "asset-details.delete.error": "파일을 삭제하지 못했습니다.",
131
+ "asset-details.delete.loading": "파일을 삭제하는 중…",
132
+ "asset-details.replace.trigger": "이 파일 교체",
133
+ "asset-details.replace.title": "이 미디어 파일을 교체하시겠습니까?",
134
+ "asset-details.replace.description": "현재 콘텐츠가 영구적으로 교체됩니다.",
135
+ "asset-details.replace.description.ai": "업로드 후 AI가 새 메타데이터를 생성합니다.",
136
+ "asset-details.replace.continue": "계속",
137
+ "asset-details.replace.success": "파일이 교체되었습니다.",
138
+ "asset-details.replace.error": "파일을 교체하지 못했습니다.",
139
+ "asset-details.replace.loading": "파일을 교체하는 중…",
140
+ "asset-details.copy-link.trigger": "링크 복사",
141
+ "asset-details.copy-link.success": "링크가 복사되었습니다.",
142
+ "asset-details.copy-link.error": "링크를 복사하지 못했습니다.",
143
+ "asset-details.download.trigger": "다운로드",
144
+ "asset-details.download.error": "파일을 다운로드하지 못했습니다.",
145
+ "asset-details.crop.trigger": "자르기",
146
+ "asset-details.crop.title": "자르기 및 초점 영역",
147
+ "asset-details.crop.hint": "사각형으로 자르기 영역을 설정하세요. 원으로 항상 표시할 영역을 고정하세요.",
148
+ "asset-details.crop.width": "너비 (px)",
149
+ "asset-details.crop.height": "높이 (px)",
150
+ "asset-details.crop.aspect-lock": "가로세로 비율 고정",
151
+ "asset-details.crop.focal-point": "초점",
152
+ "asset-details.crop.focal-x": "초점 X (px)",
153
+ "asset-details.crop.focal-y": "초점 Y (px)",
154
+ "asset-details.crop.focal-x-axis": "X",
155
+ "asset-details.crop.focal-y-axis": "Y",
156
+ "asset-details.crop.resize.top-left": "왼쪽 위 크기 조절",
157
+ "asset-details.crop.resize.top-right": "오른쪽 위 크기 조절",
158
+ "asset-details.crop.resize.bottom-left": "왼쪽 아래 크기 조절",
159
+ "asset-details.crop.resize.bottom-right": "오른쪽 아래 크기 조절",
160
+ "asset-details.crop.export-error": "자른 이미지를 처리하지 못했습니다.",
161
+ "asset-details.crop.cancel": "취소",
162
+ "asset-details.crop.save-as-copy": "사본으로 저장",
163
+ "asset-details.crop.apply": "적용",
164
+ "asset-details.crop.success": "파일이 잘렸습니다.",
165
+ "asset-details.crop.copy-success": "사본이 생성되었습니다.",
166
+ "asset-details.crop.error": "파일을 자르지 못했습니다.",
167
+ "asset-details.crop.loading": "자른 사본을 저장하는 중…",
168
+ "asset-details.noPreview": "미리보기를 사용할 수 없습니다",
169
+ "upload.generic-error": "파일을 업로드하는 중 오류가 발생했습니다.",
170
+ "upload.progress": "업로드 진행 상황",
171
+ "upload.progress.description": "업로드 진행 상황과 상태를 표시합니다.",
172
+ "upload.progress.failed": "업로드 실패",
173
+ "upload.progress.failed.subtitle": "파일을 다시 업로드해 주세요",
174
+ "upload.progress.success": "업로드 성공!",
175
+ "upload.progress.success.subtitle": "{count, plural, one {파일 1개가 업로드되었습니다} other {파일 #개가 업로드되었습니다}}",
176
+ "upload.progress.success.subtitle.withErrors": "{successCount}개 업로드됨, {errorCount}개 실패",
177
+ "upload.progress.uploading.withCount": "{total}개 항목 업로드 중 ({percentage}%)",
178
+ "upload.progress.uploading-files": "파일 {count, plural, one {1개} other {#개}} 업로드 중",
179
+ "upload.progress.indicator.in-progress": "업로드 진행 중 표시기",
180
+ "upload.progress.indicator.complete": "업로드 완료 표시기",
181
+ "upload.progress.label": "업로드",
182
+ "upload.progress.errors.title": "업로드 실패:",
183
+ "upload.progress.cancel": "취소",
184
+ "upload.progress.canceled": "업로드가 취소되었습니다",
185
+ "upload.progress.canceled.subtitle": "일부 파일이 업로드되지 않았습니다",
186
+ "upload.progress.canceled.subtitle.all": "모든 업로드가 취소되었습니다",
187
+ "upload.progress.retry": "다시 시도",
188
+ "upload.progress.file.uploading": "업로드 중...",
189
+ "upload.progress.file.canceled": "취소됨",
190
+ "upload.progress.file.uploaded": "업로드됨",
191
+ "upload.progress.maximize": "최대화",
192
+ "upload.progress.minimize": "최소화",
193
+ "upload.progress.close": "닫기",
194
+ "new": "신규",
195
+ "control-card.set-focal-point": "초점 설정",
196
+ "control-card.stop-focal-point": "초점 선택 취소",
197
+ "control-card.reset-focal-point": "가운데로 재설정",
198
+ "control-card.save-focal-point": "초점 저장",
199
+ "control-card.remove-selection": "선택 항목에서 제거",
200
+ "dropzone.upload.message": "여기에 놓아 업로드",
201
+ "form.input.placeholder.file-caption": "캡션 입력",
202
+ "header.actions.add-folder": "새 폴더 추가",
203
+ "folder.create.title": "새 폴더",
204
+ "folder.form.name.label": "폴더 이름",
205
+ "folder.create.submit": "폴더 생성",
206
+ "folder.create.form.error.name-required": "이름은 필수입니다",
207
+ "folder.create.form.error.unknown": "폴더를 생성하는 중 오류가 발생했습니다",
208
+ "folder.create.success": "폴더가 생성되었습니다",
209
+ "header.actions.add-assets.folder": "폴더",
210
+ "header.content.assets-empty": "에셋 없음",
211
+ "header.content.item-count": "{count, plural, =1 {1개 항목} other {#개 항목}}",
212
+ "import-files": "파일 업로드",
213
+ "import-from-url": "URL로 파일 업로드",
214
+ "input.url.placeholder": "비어 있음",
215
+ "input.notification.not-supported": "이 파일 형식은 업로드할 수 없습니다. 다음 형식만 허용됩니다 – {fileTypes}",
216
+ "list.assets.title": "에셋 ({count})",
217
+ "list.assets.empty-upload": "첫 에셋을 업로드해보세요...",
218
+ "list.assets.error": "에셋을 가져오는 중 오류가 발생했습니다.",
219
+ "list.assets.loading-more": "에셋을 더 불러오는 중...",
220
+ "list-assets-select": "{name} 에셋 선택",
221
+ "list.assets.to-upload": "{number, plural, =0 {에셋 없음} one {에셋 1개} other {에셋 #개}} 업로드 준비 완료",
222
+ "list.folder.edit": "폴더 수정",
223
+ "list.folder.select": "{name} 폴더 선택",
224
+ "list.folder.subtitle": "{folderCount, plural, one {폴더 1개} other {폴더 #개}}, {filesCount, plural, one {에셋 1개} other {에셋 #개}}",
225
+ "list.folders.title": "폴더 ({count})",
226
+ "list.folders.link-label": "폴더 열기",
227
+ "modal.file-details.id": "에셋 ID",
228
+ "modal.file-details.focal-point": "초점",
229
+ "modal.folder.elements.count": "폴더 {folderCount}개, 에셋 {assetCount}개",
230
+ "modal.header.go-back": "뒤로 가기",
231
+ "modal.folder.move.title": "다음 위치로 이동",
232
+ "modal.move.success-label": "항목이 이동되었습니다",
233
+ "modal.move.error-label": "항목을 이동하는 중 오류가 발생했습니다.",
234
+ "dnd.announce.drag-start": "{name}을(를) 집었습니다. 이동하려면 폴더에 놓으세요.",
235
+ "dnd.announce.invalid-drop": "이 폴더로 항목을 이동할 수 없습니다.",
236
+ "dnd.announce.move-failure": "이동에 실패했습니다. {message}",
237
+ "dnd.announce.cancel": "드래그가 취소되었습니다.",
238
+ "plugin.home": "홈",
239
+ "settings.form.aiMetadata.label": "업로드 시 AI가 자동으로 캡션과 대체 텍스트를 생성합니다!",
240
+ "settings.form.aiMetadata.description": "이 기능을 사용하면 AI가 캡션과 대체 텍스트를 대신 생성해주어 시간을 절약하고 SEO를 최적화하며 접근성을 높일 수 있습니다.",
241
+ "settings.form.aiMetadata.allAssetsHaveMetadata": "모든 에셋에 캡션과 대체 텍스트가 있습니다",
242
+ "settings.form.aiMetadata.imagesWithoutMetadata": "{count, plural, one {이미지 1개에 캡션 또는 대체 텍스트가 없습니다} other {이미지 #개에 캡션 또는 대체 텍스트가 없습니다}}",
243
+ "settings.form.aiMetadata.generatingMetadata": "AI가 메타데이터를 생성하고 있습니다",
244
+ "settings.form.aiMetadata.metadataGenerated": "메타데이터가 생성되었습니다",
245
+ "settings.form.aiMetadata.generateButton": "메타데이터 생성",
246
+ "settings.form.aiMetadata.confirmDialog.title": "AI 메타데이터 생성",
247
+ "settings.form.aiMetadata.confirmDialog.message": "백그라운드에서 {count, plural, one {이미지 1개} other {이미지 #개}}에 대한 캡션과 대체 텍스트를 생성하는 작업이 시작됩니다. AI는 실수를 할 수 있으니 생성된 콘텐츠를 반드시 검토하세요.",
248
+ "settings.section.audio.label": "오디오",
249
+ "list.table.header.actions": "작업",
250
+ "list.table.header.preview": "미리보기",
251
+ "list.table.header.name": "이름",
252
+ "list.table.header.ext": "확장자",
253
+ "list.table.header.size": "용량",
254
+ "list.table.header.createdAt": "생성일",
255
+ "list.table.header.updatedAt": "마지막 수정",
256
+ "list.table.header.creationDate": "생성일",
257
+ "list.table.header.lastModified": "마지막 수정일",
258
+ "list.table.header.sort": "{label} 기준 정렬",
259
+ "list.table.content.empty-label": "이 필드는 비어 있습니다",
260
+ "config.back": "뒤로",
261
+ "config.subtitle": "미디어 라이브러리의 보기 설정을 정의합니다.",
262
+ "config.entries.title": "페이지당 항목 수",
263
+ "config.sort.title": "기본 정렬 순서",
264
+ "config.entries.note": "미디어 라이브러리에 기본으로 표시되는 에셋 수",
265
+ "config.note": "참고: 이 값은 미디어 라이브러리에서 재정의할 수 있습니다.",
266
+ "config.popUpWarning.warning.updateAllSettings": "모든 설정이 변경됩니다",
267
+ "view-switch.list": "리스트 보기",
268
+ "view-switch.grid": "그리드 보기",
269
+ "view.switch.label": "보기 옵션",
270
+ "view.table": "테이블 보기",
271
+ "view.grid": "그리드 보기",
272
+ "ai.modal.uploading.title": "AI로 업로드 및 처리하는 중...",
273
+ "ai.modal.title": "{count, plural, one {에셋 1개 업로드됨} other {에셋 #개 업로드됨}}, AI가 생성한 메타데이터를 검토하세요",
274
+ "ai.modal.error": "업로드된 파일에 대한 AI 메타데이터를 생성하지 못했습니다.",
275
+ "sidebar.title": "미디어 라이브러리",
276
+ "sidebar.home": "홈",
277
+ "sidebar.folders": "폴더",
278
+ "sidebar.tree.aria-label": "미디어 라이브러리 폴더",
279
+ "sidebar.tree.expand": "{name} 펼치기",
280
+ "sidebar.tree.collapse": "{name} 접기",
281
+ "sidebar.tree.empty": "아직 폴더가 없습니다",
282
+ "sidebar.tree.loading": "폴더를 불러오는 중...",
283
+ "sidebar.tree.error": "폴더를 불러오지 못했습니다."
102
284
  };
103
285
 
104
286
  export { ko as default };
@@ -1 +1 @@
1
- {"version":3,"file":"ko.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ko.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -32,7 +32,7 @@ export declare const controllers: {
32
32
  upload(ctx: import("koa").Context): Promise<void>;
33
33
  };
34
34
  'content-api': ({ strapi }: {
35
- strapi: import("@strapi/types/dist/core").Strapi;
35
+ strapi: import("@strapi/types/dist/core/strapi.js").Strapi;
36
36
  }) => {
37
37
  find(ctx: import("koa").Context): Promise<void>;
38
38
  findPage(ctx: import("koa").Context): Promise<void>;
@@ -38,7 +38,7 @@ declare const _default: () => {
38
38
  };
39
39
  'content-api': () => {
40
40
  type: "content-api";
41
- routes: import("@strapi/types/dist/core").RouteInput[];
41
+ routes: import("@strapi/types/dist/core/route.js").RouteInput[];
42
42
  };
43
43
  viewConfiguration: {
44
44
  type: string;
@@ -91,7 +91,7 @@ declare const _default: () => {
91
91
  upload(ctx: import("koa").Context): Promise<void>;
92
92
  };
93
93
  'content-api': ({ strapi }: {
94
- strapi: import("@strapi/types/dist/core").Strapi;
94
+ strapi: import("@strapi/types/dist/core/strapi.js").Strapi;
95
95
  }) => {
96
96
  find(ctx: import("koa").Context): Promise<void>;
97
97
  findPage(ctx: import("koa").Context): Promise<void>;
@@ -282,14 +282,14 @@ declare const _default: () => {
282
282
  };
283
283
  services: {
284
284
  provider: ({ strapi }: {
285
- strapi: import("@strapi/types/dist/core").Strapi;
285
+ strapi: import("@strapi/types/dist/core/strapi.js").Strapi;
286
286
  }) => {
287
287
  checkFileSize(file: import("./types").UploadableFile): Promise<void>;
288
288
  upload(file: import("./types").UploadableFile): Promise<void>;
289
289
  replace(newFile: import("./types").UploadableFile, oldFile: import("./types").File): Promise<void>;
290
290
  };
291
291
  upload: ({ strapi }: {
292
- strapi: import("@strapi/types/dist/core").Strapi;
292
+ strapi: import("@strapi/types/dist/core/strapi.js").Strapi;
293
293
  }) => {
294
294
  formatFileInfo: ({ filename, type, size }: {
295
295
  filename: string;
@@ -390,7 +390,7 @@ declare const _default: () => {
390
390
  fetchUrlToInputFile: (url: string, tmpWorkingDirectory: string, sizeLimit?: number) => Promise<import("./services/file").FetchUrlResult>;
391
391
  };
392
392
  weeklyMetrics: ({ strapi }: {
393
- strapi: import("@strapi/types/dist/core").Strapi;
393
+ strapi: import("@strapi/types/dist/core/strapi.js").Strapi;
394
394
  }) => {
395
395
  computeMetrics(): Promise<{
396
396
  assetNumber: number;
@@ -404,16 +404,16 @@ declare const _default: () => {
404
404
  registerCron(): Promise<void>;
405
405
  };
406
406
  metrics: ({ strapi }: {
407
- strapi: import("@strapi/types/dist/core").Strapi;
407
+ strapi: import("@strapi/types/dist/core/strapi.js").Strapi;
408
408
  }) => {
409
409
  trackUsage(event: string, properties?: Record<string, any>): Promise<boolean>;
410
410
  sendUploadPluginMetrics(): Promise<void>;
411
411
  };
412
412
  'image-manipulation': {
413
413
  isFaultyImage: (file: import("./types").UploadableFile) => Promise<unknown>;
414
- isOptimizableImage: (file: import("./types").UploadableFile) => Promise<boolean | undefined>;
415
- isResizableImage: (file: import("./types").UploadableFile) => Promise<boolean | undefined>;
416
- isImage: (file: import("./types").UploadableFile) => Promise<boolean | undefined>;
414
+ isOptimizableImage: (file: import("./types").UploadableFile) => Promise<boolean>;
415
+ isResizableImage: (file: import("./types").UploadableFile) => Promise<boolean>;
416
+ isImage: (file: import("./types").UploadableFile) => Promise<boolean>;
417
417
  getDimensions: (file: import("./types").UploadableFile) => Promise<{
418
418
  width: number | null;
419
419
  height: number | null;
@@ -433,7 +433,7 @@ declare const _default: () => {
433
433
  signFileUrlsOnDocumentService: () => Promise<void>;
434
434
  };
435
435
  aiMetadata: ({ strapi }: {
436
- strapi: import("@strapi/types/dist/core").Strapi;
436
+ strapi: import("@strapi/types/dist/core/strapi.js").Strapi;
437
437
  }) => {
438
438
  isEnabled(): Promise<boolean>;
439
439
  countImagesWithoutMetadata(): Promise<{
@@ -455,7 +455,7 @@ declare const _default: () => {
455
455
  } | null>>;
456
456
  };
457
457
  aiMetadataJobs: ({ strapi }: {
458
- strapi: import("@strapi/types/dist/core").Strapi;
458
+ strapi: import("@strapi/types/dist/core/strapi.js").Strapi;
459
459
  }) => {
460
460
  createJob(): Promise<number>;
461
461
  getJob(jobId: number): Promise<import("./services/ai-metadata-jobs").AIMetadataJob | null>;
@@ -17,7 +17,7 @@ export declare const routes: {
17
17
  };
18
18
  'content-api': () => {
19
19
  type: "content-api";
20
- routes: import("@strapi/types/dist/core").RouteInput[];
20
+ routes: import("@strapi/types/dist/core/route.js").RouteInput[];
21
21
  };
22
22
  viewConfiguration: {
23
23
  type: string;
@@ -10,9 +10,9 @@ declare module 'sharp' {
10
10
  }
11
11
  declare const _default: {
12
12
  isFaultyImage: (file: UploadableFile) => Promise<unknown>;
13
- isOptimizableImage: (file: UploadableFile) => Promise<boolean | undefined>;
14
- isResizableImage: (file: UploadableFile) => Promise<boolean | undefined>;
15
- isImage: (file: UploadableFile) => Promise<boolean | undefined>;
13
+ isOptimizableImage: (file: UploadableFile) => Promise<boolean>;
14
+ isResizableImage: (file: UploadableFile) => Promise<boolean>;
15
+ isImage: (file: UploadableFile) => Promise<boolean>;
16
16
  getDimensions: (file: UploadableFile) => Promise<Dimensions>;
17
17
  generateResponsiveFormats: (file: UploadableFile) => Promise<{
18
18
  key: string;
@@ -1,13 +1,13 @@
1
1
  export declare const services: {
2
2
  provider: ({ strapi }: {
3
- strapi: import("@strapi/types/dist/core").Strapi;
3
+ strapi: import("@strapi/types/dist/core/strapi.js").Strapi;
4
4
  }) => {
5
5
  checkFileSize(file: import("../types").UploadableFile): Promise<void>;
6
6
  upload(file: import("../types").UploadableFile): Promise<void>;
7
7
  replace(newFile: import("../types").UploadableFile, oldFile: import("../types").File): Promise<void>;
8
8
  };
9
9
  upload: ({ strapi }: {
10
- strapi: import("@strapi/types/dist/core").Strapi;
10
+ strapi: import("@strapi/types/dist/core/strapi.js").Strapi;
11
11
  }) => {
12
12
  formatFileInfo: ({ filename, type, size }: {
13
13
  filename: string;
@@ -108,7 +108,7 @@ export declare const services: {
108
108
  fetchUrlToInputFile: (url: string, tmpWorkingDirectory: string, sizeLimit?: number) => Promise<import("./file").FetchUrlResult>;
109
109
  };
110
110
  weeklyMetrics: ({ strapi }: {
111
- strapi: import("@strapi/types/dist/core").Strapi;
111
+ strapi: import("@strapi/types/dist/core/strapi.js").Strapi;
112
112
  }) => {
113
113
  computeMetrics(): Promise<{
114
114
  assetNumber: number;
@@ -122,16 +122,16 @@ export declare const services: {
122
122
  registerCron(): Promise<void>;
123
123
  };
124
124
  metrics: ({ strapi }: {
125
- strapi: import("@strapi/types/dist/core").Strapi;
125
+ strapi: import("@strapi/types/dist/core/strapi.js").Strapi;
126
126
  }) => {
127
127
  trackUsage(event: string, properties?: Record<string, any>): Promise<boolean>;
128
128
  sendUploadPluginMetrics(): Promise<void>;
129
129
  };
130
130
  'image-manipulation': {
131
131
  isFaultyImage: (file: import("../types").UploadableFile) => Promise<unknown>;
132
- isOptimizableImage: (file: import("../types").UploadableFile) => Promise<boolean | undefined>;
133
- isResizableImage: (file: import("../types").UploadableFile) => Promise<boolean | undefined>;
134
- isImage: (file: import("../types").UploadableFile) => Promise<boolean | undefined>;
132
+ isOptimizableImage: (file: import("../types").UploadableFile) => Promise<boolean>;
133
+ isResizableImage: (file: import("../types").UploadableFile) => Promise<boolean>;
134
+ isImage: (file: import("../types").UploadableFile) => Promise<boolean>;
135
135
  getDimensions: (file: import("../types").UploadableFile) => Promise<{
136
136
  width: number | null;
137
137
  height: number | null;
@@ -151,7 +151,7 @@ export declare const services: {
151
151
  signFileUrlsOnDocumentService: () => Promise<void>;
152
152
  };
153
153
  aiMetadata: ({ strapi }: {
154
- strapi: import("@strapi/types/dist/core").Strapi;
154
+ strapi: import("@strapi/types/dist/core/strapi.js").Strapi;
155
155
  }) => {
156
156
  isEnabled(): Promise<boolean>;
157
157
  countImagesWithoutMetadata(): Promise<{
@@ -173,7 +173,7 @@ export declare const services: {
173
173
  } | null>>;
174
174
  };
175
175
  aiMetadataJobs: ({ strapi }: {
176
- strapi: import("@strapi/types/dist/core").Strapi;
176
+ strapi: import("@strapi/types/dist/core/strapi.js").Strapi;
177
177
  }) => {
178
178
  createJob(): Promise<number>;
179
179
  getJob(jobId: number): Promise<import("./ai-metadata-jobs").AIMetadataJob | null>;