@akemona-org/strapi-plugin-upload 3.7.0
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/LICENSE +22 -0
- package/README.md +19 -0
- package/admin/src/assets/images/logo.svg +1 -0
- package/admin/src/components/BrowseAssets/Wrapper.js +8 -0
- package/admin/src/components/BrowseAssets/index.js +182 -0
- package/admin/src/components/Card/index.js +146 -0
- package/admin/src/components/CardBorder/index.js +28 -0
- package/admin/src/components/CardControl/Wrapper.js +89 -0
- package/admin/src/components/CardControl/index.js +61 -0
- package/admin/src/components/CardControlsWrapper/index.js +22 -0
- package/admin/src/components/CardEmpty/Bar.js +19 -0
- package/admin/src/components/CardEmpty/Wrapper.js +7 -0
- package/admin/src/components/CardEmpty/index.js +16 -0
- package/admin/src/components/CardErrorMessage/index.js +9 -0
- package/admin/src/components/CardImgWrapper/index.js +52 -0
- package/admin/src/components/CardPreview/Image.js +12 -0
- package/admin/src/components/CardPreview/Wrapper.js +25 -0
- package/admin/src/components/CardPreview/index.js +66 -0
- package/admin/src/components/CardTitle/index.js +14 -0
- package/admin/src/components/CardWrapper/index.js +23 -0
- package/admin/src/components/CheckControl/Button.js +49 -0
- package/admin/src/components/CheckControl/CustomDropdownSection.js +9 -0
- package/admin/src/components/CheckControl/Spacer.js +7 -0
- package/admin/src/components/CheckControl/index.js +74 -0
- package/admin/src/components/Container/index.js +7 -0
- package/admin/src/components/ContainerFluid/index.js +12 -0
- package/admin/src/components/ControlsWrapper/index.js +9 -0
- package/admin/src/components/DragLayer/Wrapper.js +13 -0
- package/admin/src/components/DragLayer/index.js +68 -0
- package/admin/src/components/DropdownButton/index.js +63 -0
- package/admin/src/components/DropdownSection/index.js +27 -0
- package/admin/src/components/Duration/index.js +25 -0
- package/admin/src/components/Duration/utils/formatDuration.js +13 -0
- package/admin/src/components/EditForm/CropWrapper.js +21 -0
- package/admin/src/components/EditForm/ErrorMessage.js +10 -0
- package/admin/src/components/EditForm/FileDetailsBox.js +95 -0
- package/admin/src/components/EditForm/FileDetailsBoxWrapper.js +14 -0
- package/admin/src/components/EditForm/FileWrapper.js +41 -0
- package/admin/src/components/EditForm/FormWrapper.js +7 -0
- package/admin/src/components/EditForm/SizeBox.js +13 -0
- package/admin/src/components/EditForm/Wrapper.js +8 -0
- package/admin/src/components/EditForm/index.js +425 -0
- package/admin/src/components/EditForm/utils/form.js +34 -0
- package/admin/src/components/EditForm/utils/isImageType.js +3 -0
- package/admin/src/components/EditForm/utils/isVideoType.js +3 -0
- package/admin/src/components/FileIcon/Wrapper.js +20 -0
- package/admin/src/components/FileIcon/index.js +33 -0
- package/admin/src/components/FileIcon/utils/extensions.json +4 -0
- package/admin/src/components/FileInfos/index.js +32 -0
- package/admin/src/components/Filters/index.js +30 -0
- package/admin/src/components/FiltersList/index.js +34 -0
- package/admin/src/components/FiltersList/utils/formatFilter.js +36 -0
- package/admin/src/components/FiltersPicker/FiltersCard/FilterButton.js +8 -0
- package/admin/src/components/FiltersPicker/FiltersCard/FilterInput.js +35 -0
- package/admin/src/components/FiltersPicker/FiltersCard/InputWrapper.js +10 -0
- package/admin/src/components/FiltersPicker/FiltersCard/SizeInput.js +57 -0
- package/admin/src/components/FiltersPicker/FiltersCard/Wrapper.js +8 -0
- package/admin/src/components/FiltersPicker/FiltersCard/index.js +97 -0
- package/admin/src/components/FiltersPicker/FiltersCard/init.js +21 -0
- package/admin/src/components/FiltersPicker/FiltersCard/reducer.js +47 -0
- package/admin/src/components/FiltersPicker/FiltersCard/utils/filtersForm.js +27 -0
- package/admin/src/components/FiltersPicker/index.js +43 -0
- package/admin/src/components/FiltersPicker/utils/formatFilter.js +18 -0
- package/admin/src/components/InfiniteLoadingIndicator/Button.js +20 -0
- package/admin/src/components/InfiniteLoadingIndicator/Container.js +12 -0
- package/admin/src/components/InfiniteLoadingIndicator/Wrapper.js +18 -0
- package/admin/src/components/InfiniteLoadingIndicator/index.js +39 -0
- package/admin/src/components/Input/index.js +7 -0
- package/admin/src/components/InputFileModal/Label.js +47 -0
- package/admin/src/components/InputFileModal/P.js +15 -0
- package/admin/src/components/InputFileModal/index.js +73 -0
- package/admin/src/components/InputMedia/CardControlWrapper.js +12 -0
- package/admin/src/components/InputMedia/CardPreviewWrapper.js +13 -0
- package/admin/src/components/InputMedia/Chevron/Wrapper.js +10 -0
- package/admin/src/components/InputMedia/Chevron/index.js +21 -0
- package/admin/src/components/InputMedia/EmptyInputMedia.js +60 -0
- package/admin/src/components/InputMedia/EmptyText.js +13 -0
- package/admin/src/components/InputMedia/ErrorMessage.js +12 -0
- package/admin/src/components/InputMedia/IconUpload.js +48 -0
- package/admin/src/components/InputMedia/InputFilePreview.js +37 -0
- package/admin/src/components/InputMedia/Name.js +10 -0
- package/admin/src/components/InputMedia/Wrapper.js +11 -0
- package/admin/src/components/InputMedia/index.js +238 -0
- package/admin/src/components/InputUploadURL/Wrapper.js +13 -0
- package/admin/src/components/InputUploadURL/index.js +46 -0
- package/admin/src/components/IntlText/index.js +26 -0
- package/admin/src/components/List/ListCell.js +19 -0
- package/admin/src/components/List/ListRow.js +8 -0
- package/admin/src/components/List/index.js +114 -0
- package/admin/src/components/ListEmpty/Wrapper.js +15 -0
- package/admin/src/components/ListEmpty/index.js +70 -0
- package/admin/src/components/ListEmpty/utils/generateRows.js +12 -0
- package/admin/src/components/ListModal/BaselineAlignmentWrapper.js +12 -0
- package/admin/src/components/ListModal/index.js +66 -0
- package/admin/src/components/ListWrapper/index.js +16 -0
- package/admin/src/components/LoadingIndicator/index.js +44 -0
- package/admin/src/components/ModalHeader/BackButton.js +33 -0
- package/admin/src/components/ModalHeader/Wrapper.js +24 -0
- package/admin/src/components/ModalHeader/index.js +47 -0
- package/admin/src/components/ModalNavWrapper/BaselineAlignment.js +12 -0
- package/admin/src/components/ModalNavWrapper/Hr.js +14 -0
- package/admin/src/components/ModalNavWrapper/Wrapper.js +8 -0
- package/admin/src/components/ModalNavWrapper/index.js +70 -0
- package/admin/src/components/ModalSection/index.js +20 -0
- package/admin/src/components/ModalTab/Count/Wrapper.js +16 -0
- package/admin/src/components/ModalTab/Count/index.js +30 -0
- package/admin/src/components/ModalTab/Wrapper.js +37 -0
- package/admin/src/components/ModalTab/index.js +60 -0
- package/admin/src/components/PlayIcon/Play.js +65 -0
- package/admin/src/components/PlayIcon/Wrapper.js +24 -0
- package/admin/src/components/PlayIcon/index.js +23 -0
- package/admin/src/components/SelectAll/Wrapper.js +19 -0
- package/admin/src/components/SelectAll/index.js +26 -0
- package/admin/src/components/SelectedAssets/DraggableCard.js +149 -0
- package/admin/src/components/SelectedAssets/ListTitleWrapper.js +7 -0
- package/admin/src/components/SelectedAssets/ListWrapper.js +7 -0
- package/admin/src/components/SelectedAssets/SortableList.js +102 -0
- package/admin/src/components/SelectedAssets/Wrapper.js +7 -0
- package/admin/src/components/SelectedAssets/index.js +56 -0
- package/admin/src/components/SortList/Wrapper.js +19 -0
- package/admin/src/components/SortList/index.js +37 -0
- package/admin/src/components/SortListItem/Wrapper.js +28 -0
- package/admin/src/components/SortListItem/index.js +35 -0
- package/admin/src/components/SortPicker/index.js +54 -0
- package/admin/src/components/Tag/Wrapper.js +16 -0
- package/admin/src/components/Tag/index.js +25 -0
- package/admin/src/components/UploadForm/index.js +61 -0
- package/admin/src/components/UploadList/ButtonWrapper.js +7 -0
- package/admin/src/components/UploadList/Container.js +10 -0
- package/admin/src/components/UploadList/CustomModalSection.js +9 -0
- package/admin/src/components/UploadList/ListTitle.js +10 -0
- package/admin/src/components/UploadList/ListTitleWrapper.js +7 -0
- package/admin/src/components/UploadList/RowItem.js +98 -0
- package/admin/src/components/UploadList/index.js +90 -0
- package/admin/src/components/VideoPlayer/Wrapper.js +24 -0
- package/admin/src/components/VideoPlayer/index.js +57 -0
- package/admin/src/components/VideoPreview/CanvasWrapper.js +22 -0
- package/admin/src/components/VideoPreview/Thumbnail.js +12 -0
- package/admin/src/components/VideoPreview/Wrapper.js +15 -0
- package/admin/src/components/VideoPreview/index.js +165 -0
- package/admin/src/components/VideoPreview/reducer.js +33 -0
- package/admin/src/containers/App/index.js +31 -0
- package/admin/src/containers/HomePage/HomePageContent/HomePageList.js +98 -0
- package/admin/src/containers/HomePage/HomePageContent/HomePageSettings.js +103 -0
- package/admin/src/containers/HomePage/HomePageContent/index.js +90 -0
- package/admin/src/containers/HomePage/components.js +18 -0
- package/admin/src/containers/HomePage/index.js +373 -0
- package/admin/src/containers/HomePage/init.js +5 -0
- package/admin/src/containers/HomePage/reducer.js +88 -0
- package/admin/src/containers/HomePage/utils/generateParamsFromQuery.js +14 -0
- package/admin/src/containers/HomePage/utils/generateStringFromParams.js +27 -0
- package/admin/src/containers/HomePage/utils/getHeaderLabel.js +13 -0
- package/admin/src/containers/HomePage/utils/index.js +2 -0
- package/admin/src/containers/Initializer/index.js +44 -0
- package/admin/src/containers/InputModalStepper/HeaderSearch.js +12 -0
- package/admin/src/containers/InputModalStepper/InputModalStepper.js +480 -0
- package/admin/src/containers/InputModalStepper/Search.js +48 -0
- package/admin/src/containers/InputModalStepper/index.js +86 -0
- package/admin/src/containers/InputModalStepper/stepper.js +52 -0
- package/admin/src/containers/InputModalStepperProvider/index.js +564 -0
- package/admin/src/containers/InputModalStepperProvider/init.js +5 -0
- package/admin/src/containers/InputModalStepperProvider/reducer.js +301 -0
- package/admin/src/containers/ModalStepper/index.js +629 -0
- package/admin/src/containers/ModalStepper/init.js +5 -0
- package/admin/src/containers/ModalStepper/reducer.js +132 -0
- package/admin/src/containers/ModalStepper/stepper.js +46 -0
- package/admin/src/containers/SettingsPage/Divider.js +11 -0
- package/admin/src/containers/SettingsPage/SectionTitleWrapper.js +7 -0
- package/admin/src/containers/SettingsPage/Wrapper.js +17 -0
- package/admin/src/containers/SettingsPage/index.js +198 -0
- package/admin/src/containers/SettingsPage/init.js +5 -0
- package/admin/src/containers/SettingsPage/reducer.js +38 -0
- package/admin/src/contexts/AppContext/index.js +5 -0
- package/admin/src/contexts/InputModal/InputModalDataManager.js +5 -0
- package/admin/src/contexts/index.js +2 -0
- package/admin/src/hooks/index.js +2 -0
- package/admin/src/hooks/useAppContext/index.js +6 -0
- package/admin/src/hooks/useModalContext.js +6 -0
- package/admin/src/icons/BrokenFile/index.js +91 -0
- package/admin/src/icons/Cloud/index.js +35 -0
- package/admin/src/icons/DoubleFile/index.js +35 -0
- package/admin/src/icons/Download/index.js +36 -0
- package/admin/src/icons/File/index.js +35 -0
- package/admin/src/index.js +85 -0
- package/admin/src/lifecycles.js +13 -0
- package/admin/src/permissions.js +40 -0
- package/admin/src/pluginId.js +5 -0
- package/admin/src/translations/de.json +81 -0
- package/admin/src/translations/dk.json +81 -0
- package/admin/src/translations/en.json +86 -0
- package/admin/src/translations/es.json +81 -0
- package/admin/src/translations/fr.json +85 -0
- package/admin/src/translations/he.json +81 -0
- package/admin/src/translations/index.js +39 -0
- package/admin/src/translations/it.json +82 -0
- package/admin/src/translations/ja.json +81 -0
- package/admin/src/translations/ms.json +73 -0
- package/admin/src/translations/pl.json +81 -0
- package/admin/src/translations/pt-BR.json +81 -0
- package/admin/src/translations/ru.json +81 -0
- package/admin/src/translations/sk.json +81 -0
- package/admin/src/translations/th.json +81 -0
- package/admin/src/translations/uk.json +78 -0
- package/admin/src/translations/zh-Hans.json +86 -0
- package/admin/src/translations/zh.json +81 -0
- package/admin/src/utils/ItemTypes.js +3 -0
- package/admin/src/utils/canDownloadFile.js +3 -0
- package/admin/src/utils/compactParams.js +13 -0
- package/admin/src/utils/createFileToDownloadName.js +9 -0
- package/admin/src/utils/createMatrix.js +32 -0
- package/admin/src/utils/createNewFilesToDownloadArray.js +57 -0
- package/admin/src/utils/createNewFilesToUploadArray.js +25 -0
- package/admin/src/utils/formatBytes.js +13 -0
- package/admin/src/utils/formatFileForEditing.js +20 -0
- package/admin/src/utils/formatFilters.js +23 -0
- package/admin/src/utils/generatePageFromStart.js +5 -0
- package/admin/src/utils/generateStartFromPage.js +5 -0
- package/admin/src/utils/getFileModelTimestamps.js +15 -0
- package/admin/src/utils/getFilesToDownload.js +5 -0
- package/admin/src/utils/getRequestUrl.js +5 -0
- package/admin/src/utils/getTrad.js +5 -0
- package/admin/src/utils/getType.js +15 -0
- package/admin/src/utils/getYupError.js +17 -0
- package/admin/src/utils/index.js +20 -0
- package/admin/src/utils/unformatBytes.js +16 -0
- package/admin/src/utils/urlYupSchema.js +49 -0
- package/config/config.json +8 -0
- package/config/functions/bootstrap.js +143 -0
- package/config/routes.json +98 -0
- package/config/schema.graphql.js +96 -0
- package/controllers/Upload.js +103 -0
- package/controllers/upload/admin.js +213 -0
- package/controllers/upload/api.js +125 -0
- package/controllers/validation/settings.js +22 -0
- package/controllers/validation/upload.js +27 -0
- package/documentation/1.0.0/overrides/upload-File.json +263 -0
- package/errors.js +48 -0
- package/index.js +7 -0
- package/middlewares/upload/defaults.json +5 -0
- package/middlewares/upload/index.js +35 -0
- package/models/File.js +7 -0
- package/models/File.settings.json +86 -0
- package/package.json +71 -0
- package/services/Upload.js +397 -0
- package/services/image-manipulation.js +167 -0
- package/utils/file.js +23 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
{
|
|
2
|
+
"button.next": "Ďalej",
|
|
3
|
+
"checkControl.crop-duplicate": "Duplikovať a orezať prílohu",
|
|
4
|
+
"checkControl.crop-original": "Orezať originál prílohy",
|
|
5
|
+
"control-card.add": "Pridať",
|
|
6
|
+
"control-card.cancel": "Zrušiť",
|
|
7
|
+
"control-card.copy-link": "Skopírovať odkaz",
|
|
8
|
+
"control-card.crop": "Orezať",
|
|
9
|
+
"control-card.delete": "Vymazať",
|
|
10
|
+
"control-card.download": "Stiahnúť",
|
|
11
|
+
"control-card.edit": "Upraviť",
|
|
12
|
+
"control-card.replace-media": "Nahradiť súbor",
|
|
13
|
+
"control-card.save": "Uložiť",
|
|
14
|
+
"filter.add": "Pridať filter",
|
|
15
|
+
"form.button.replace-media": "Nahradiť súbor",
|
|
16
|
+
"form.input.description.file-alt": "Tento text sa ukáže, keď súbor nemôže byť zobrazený.",
|
|
17
|
+
"form.input.label.file-alt": "Alternatívny text",
|
|
18
|
+
"form.input.label.file-caption": "Popis",
|
|
19
|
+
"form.input.label.file-name": "Názov súboru",
|
|
20
|
+
"form.upload-url.error.url.invalid": "Jedna URL adresa je neplatná",
|
|
21
|
+
"form.upload-url.error.url.invalids": "{number} URL adresy/ies sú/je neplatné/ých ",
|
|
22
|
+
"header.actions.upload-assets": "Nahrať súbor",
|
|
23
|
+
"header.content.assets-empty": "Žiadne súbory",
|
|
24
|
+
"header.content.assets-multiple": "{number} súbory/ov",
|
|
25
|
+
"header.content.assets-single": "1 súbor",
|
|
26
|
+
"input.button.label": "Prehliadať súbory",
|
|
27
|
+
"input.label-bold": "Drag & drop",
|
|
28
|
+
"input.label-normal": "pre nahratie alebo",
|
|
29
|
+
"input.placeholder": "Kliknite pre vybratie súboru alebo pretiahnite súbor do tejto zóny",
|
|
30
|
+
"input.url.description": "Oddeľte vaše URL odkazy pomocou znaku nového riadku.",
|
|
31
|
+
"input.url.label": "URL",
|
|
32
|
+
"list.assets-empty.subtitle": "Pridať jeden do zoznamu.",
|
|
33
|
+
"list.assets-empty.title": "Zaitaľ neexistujú žiadne súbory",
|
|
34
|
+
"list.assets-empty.title-withSearch": "Neexistujú žiadne súbory so zvoleným filtrom",
|
|
35
|
+
"list.assets.selected.plural": "{number} zvolené/ých súbory/ov",
|
|
36
|
+
"list.assets.selected.singular": "{number} zvolený súbor",
|
|
37
|
+
"list.assets.type-not-allowed": "Tento typ súboru nie je podporovaný.",
|
|
38
|
+
"modal.file-details.date": "Dátum",
|
|
39
|
+
"modal.file-details.dimensions": "Dimenzie",
|
|
40
|
+
"modal.file-details.extension": "Súborová prípona",
|
|
41
|
+
"modal.file-details.size": "Veľkosť",
|
|
42
|
+
"modal.header.browse": "Nahrať súbory",
|
|
43
|
+
"modal.header.file-detail": "Detaily",
|
|
44
|
+
"modal.header.pending-assets": "Čakajúce súbory",
|
|
45
|
+
"modal.header.select-files": "Označené súbory",
|
|
46
|
+
"modal.nav.browse": "prezerať",
|
|
47
|
+
"modal.nav.computer": "z počítača",
|
|
48
|
+
"modal.nav.selected": "zvolené",
|
|
49
|
+
"modal.nav.url": "z url adresy",
|
|
50
|
+
"modal.selected-list.sub-header-subtitle": "Pretiahnite súbor pre zmenenie poradia súborov v poli.",
|
|
51
|
+
"modal.upload-list.footer.button.plural": "Nahrať {number} súbory/ov do knižnice",
|
|
52
|
+
"modal.upload-list.footer.button.singular": "Nahrať {number} súbor do knižnice",
|
|
53
|
+
"modal.upload-list.sub-header-subtitle": "Spravujte súbory pred ich pridaním do súborovej knižnice",
|
|
54
|
+
"modal.upload-list.sub-header-title.plural": "{number} zvolené/ých súbory/ov",
|
|
55
|
+
"modal.upload-list.sub-header-title.singular": "{number} zvolený súbor",
|
|
56
|
+
"modal.upload-list.sub-header.button": "Pridať viac súborov",
|
|
57
|
+
"plugin.description.long": "Správa súboru.",
|
|
58
|
+
"plugin.description.short": "Správa súboru.",
|
|
59
|
+
"plugin.name": "Knižnica súborov",
|
|
60
|
+
"search.placeholder": "Vyhľadávať súbor...",
|
|
61
|
+
"settings.form.responsiveDimensions.description": "Automaticky budú vygenerované rôzne veľkosti Vami nahrávaných súborov (large, medium, small)",
|
|
62
|
+
"settings.form.responsiveDimensions.label": "Povoliť responsive-friendly nahrávanie súborov",
|
|
63
|
+
"settings.form.sizeOptimization.label": "Povoliť optimalizovanie veľkosti obrázkov (bez straty kvality)",
|
|
64
|
+
"settings.form.autoOrientation.label": "Povoliť auto orientation",
|
|
65
|
+
"settings.form.autoOrientation.description": "Automaticky otáčať obrázky podľa EXIF orientation tag",
|
|
66
|
+
"settings.form.videoPreview.description": "Automaticky budú vygenerované 6-sekundové ukážky videa (GIF)",
|
|
67
|
+
"settings.form.videoPreview.label": "Ukážka",
|
|
68
|
+
"settings.header.label": "Media Library - Settings",
|
|
69
|
+
"settings.section.image.label": "OBRÁZOK",
|
|
70
|
+
"settings.section.video.label": "VIDEO",
|
|
71
|
+
"settings.sub-header.label": "Konfigurovať nastavenia knižnice súborov",
|
|
72
|
+
"sort.created_at_asc": "Najstaršie súbory",
|
|
73
|
+
"sort.created_at_desc": "Najnovšie súbory",
|
|
74
|
+
"sort.label": "Zoradiť podľa",
|
|
75
|
+
"sort.name_asc": "Abecedné poradie (A do Z)",
|
|
76
|
+
"sort.name_desc": "Opačné abecedné poradie (Z do A)",
|
|
77
|
+
"sort.updated_at_asc": "Najstaršie upravené súbory",
|
|
78
|
+
"sort.updated_at_desc": "Najnovšie upravené súbory",
|
|
79
|
+
"window.confirm.close-modal.file": "Ste si istý? Vaše zmeny budú zahodené.",
|
|
80
|
+
"window.confirm.close-modal.files": "Ste si istý? Existujú súbory, ktoré zatiaľ ešte neboli nahraté."
|
|
81
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
{
|
|
2
|
+
"button.next": "ถัดไป",
|
|
3
|
+
"checkControl.crop-duplicate": "ทำสำเนาและครอบตัดรูปภาพ",
|
|
4
|
+
"checkControl.crop-original": "ตัดรูปภาพเดิม",
|
|
5
|
+
"control-card.add": "เพิ่ม",
|
|
6
|
+
"control-card.cancel": "ยกเลิก",
|
|
7
|
+
"control-card.copy-link": "คัดลอกลิงก์",
|
|
8
|
+
"control-card.crop": "ครอบตัด",
|
|
9
|
+
"control-card.delete": "ลบ",
|
|
10
|
+
"control-card.download": "ดาวน์โหลด",
|
|
11
|
+
"control-card.edit": "แก้ไข",
|
|
12
|
+
"control-card.replace-media": "แทนที่สื่อ",
|
|
13
|
+
"control-card.save": "บันทึก",
|
|
14
|
+
"filter.add": "เพิ่มตัวกรอง",
|
|
15
|
+
"form.button.replace-media": "แทนที่สื่อ",
|
|
16
|
+
"form.input.description.file-alt": "ข้อความนี้จะถูกแสดงหากไฟล์ไม่สามารถแสดงผลได้.",
|
|
17
|
+
"form.input.label.file-alt": "ข้อความทางเลือก",
|
|
18
|
+
"form.input.label.file-caption": "คำบรรยาย",
|
|
19
|
+
"form.input.label.file-name": "ชื่อไฟล์",
|
|
20
|
+
"form.upload-url.error.url.invalid": "URL ไม่ถูกต้อง",
|
|
21
|
+
"form.upload-url.error.url.invalids": "{number} URL ไม่ถูกต้อง",
|
|
22
|
+
"header.actions.upload-assets": "อัพโหลดไฟล์",
|
|
23
|
+
"header.content.assets-empty": "ไม่มีไฟล์",
|
|
24
|
+
"header.content.assets-multiple": "{number} ไฟล์",
|
|
25
|
+
"header.content.assets-single": "1 ไฟล์",
|
|
26
|
+
"input.button.label": "เรียกดูไฟล์",
|
|
27
|
+
"input.label-bold": "ลาก & ปล่อย",
|
|
28
|
+
"input.label-normal": "เพื่ออัพโหลดหรือ",
|
|
29
|
+
"input.placeholder": "คลิกเพื่อเลือกไฟล์หรือลาก & ปล่อยไฟล์ลงในพื้นที่นี้",
|
|
30
|
+
"input.url.description": "แยกลิงก์ URL ของคุณด้วยอักขระขึ้นบรรทัดใหม่",
|
|
31
|
+
"input.url.label": "URL",
|
|
32
|
+
"list.assets-empty.subtitle": "เพิ่มไปยังรายการ",
|
|
33
|
+
"list.assets-empty.title": "ยังไม่มีไฟล์ใดๆ",
|
|
34
|
+
"list.assets-empty.title-withSearch": "ไม่มีไฟล์ตามตัวกรองที่ใช้",
|
|
35
|
+
"list.assets.selected.plural": "{number} ไฟล์ที่เลือก",
|
|
36
|
+
"list.assets.selected.singular": "{number} ไฟล์ถูกเลือก",
|
|
37
|
+
"list.assets.type-not-allowed": "ไม่อนุญาตให้ใช้ไฟล์ชนิดนี้",
|
|
38
|
+
"modal.file-details.date": "วันที่",
|
|
39
|
+
"modal.file-details.dimensions": "มิติ",
|
|
40
|
+
"modal.file-details.extension": "ส่วนขยาย",
|
|
41
|
+
"modal.file-details.size": "ขนาด",
|
|
42
|
+
"modal.header.browse": "อัพโหลดไฟล์",
|
|
43
|
+
"modal.header.file-detail": "รายละเอียด",
|
|
44
|
+
"modal.header.pending-assets": "ไฟล์ที่ค้างอยู่",
|
|
45
|
+
"modal.header.select-files": "ไฟล์ที่เลือก",
|
|
46
|
+
"modal.nav.browse": "เรียกดู",
|
|
47
|
+
"modal.nav.computer": "จากคอมพิวเตอร์",
|
|
48
|
+
"modal.nav.selected": "ถูกเลือก",
|
|
49
|
+
"modal.nav.url": "จาก url",
|
|
50
|
+
"modal.selected-list.sub-header-subtitle": "ลาก & ปล่อยเพื่อเรียงลำดับไฟล์ในฟิลด์ใหม่",
|
|
51
|
+
"modal.upload-list.footer.button.plural": "อัพโหลดไฟล์ {number} ไปยังไลบรารี",
|
|
52
|
+
"modal.upload-list.footer.button.singular": "อัพโหลดไฟล์ {number} ไปยังไลบรารี",
|
|
53
|
+
"modal.upload-list.sub-header-subtitle": "จัดการทรัพยากรก่อนการเพิ่มลงในไลบรารีสื่อ",
|
|
54
|
+
"modal.upload-list.sub-header-title.plural": "{number} ไฟล์ที่เลือก",
|
|
55
|
+
"modal.upload-list.sub-header-title.singular": "{number} ไฟล์ถูกเลือก",
|
|
56
|
+
"modal.upload-list.sub-header.button": "เพิ่มไฟล์เพิ่มเติม",
|
|
57
|
+
"plugin.description.long": "การจัดการไฟล์สื่อ",
|
|
58
|
+
"plugin.description.short": "การจัดการไฟล์สื่อ",
|
|
59
|
+
"plugin.name": "ไลบรารีสื่อ",
|
|
60
|
+
"search.placeholder": "ค้นหาไฟล์...",
|
|
61
|
+
"settings.form.autoOrientation.description": "หมุนรูปภาพโดยอัตโนมัติตามแท็กการวางแนว EXIF",
|
|
62
|
+
"settings.form.autoOrientation.label": "เปิดใช้งานการวางแนวอัตโนมัติ",
|
|
63
|
+
"settings.form.responsiveDimensions.description": "สร้างรูปภาพหลายรูปแบบ (ใหญ่, กลาง, เล็ก) ของไฟล์ที่อัพโหลดโดยอัตโนมัติ",
|
|
64
|
+
"settings.form.responsiveDimensions.label": "เปิดใช้งานการอัพโหลดแบบตอบสนองเป็นมิตรกับหลายอุปกรณ์",
|
|
65
|
+
"settings.form.sizeOptimization.label": "เปิดใช้งานการลดขนาด (โดยไม่มีการสูญเสียคุณภาพ)",
|
|
66
|
+
"settings.form.videoPreview.description": "สร้างการแสดงตัวอย่างแบบหกวินาทีของวิดีโอ (GIF)",
|
|
67
|
+
"settings.form.videoPreview.label": "แสดงตัวอย่าง",
|
|
68
|
+
"settings.header.label": "ไลบรารีสื่อ - การตั้งค่า",
|
|
69
|
+
"settings.section.image.label": "รูปภาพ",
|
|
70
|
+
"settings.section.video.label": "วิดีโอ",
|
|
71
|
+
"settings.sub-header.label": "กำหนดค่าค่าติดตั้งสำหรับไลบรารีสื่อ",
|
|
72
|
+
"sort.created_at_asc": "การอัพโหลดที่เก่าที่สุด",
|
|
73
|
+
"sort.created_at_desc": "การอัพโหลดล่าสุด",
|
|
74
|
+
"sort.label": "เรียงตาม",
|
|
75
|
+
"sort.name_asc": "ลำดับตามตัวอักษร (A ถึง Z)",
|
|
76
|
+
"sort.name_desc": "เรียงลำดับตัวอักษรย้อนกลับ (Z ถึง A)",
|
|
77
|
+
"sort.updated_at_asc": "อัพเดตที่เก่าที่สุด",
|
|
78
|
+
"sort.updated_at_desc": "การอัพเดตล่าสุด",
|
|
79
|
+
"window.confirm.close-modal.file": "คุณแน่ใจนะ การเปลี่ยนแปลงของคุณจะสูญหาย",
|
|
80
|
+
"window.confirm.close-modal.files": "คุณแน่ใจนะ คุณมีไฟล์บางไฟล์ที่ยังไม่ถูกอัพโหลด"
|
|
81
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
{
|
|
2
|
+
"button.next": "Далі",
|
|
3
|
+
"checkControl.crop-duplicate": "Зробити копію та обрізати",
|
|
4
|
+
"checkControl.crop-original": "Обрізати оригінал",
|
|
5
|
+
"control-card.add": "Додати",
|
|
6
|
+
"control-card.cancel": "Скасувати",
|
|
7
|
+
"control-card.copy-link": "Скопіювати посилання",
|
|
8
|
+
"control-card.crop": "Обрізати",
|
|
9
|
+
"control-card.delete": "Видалити",
|
|
10
|
+
"control-card.download": "Завантажити",
|
|
11
|
+
"control-card.edit": "Редагувати",
|
|
12
|
+
"control-card.save": "Зберегти",
|
|
13
|
+
"filter.add": "Додати фільтр",
|
|
14
|
+
"form.button.replace-media": "Замінити медіа",
|
|
15
|
+
"form.input.description.file-alt": "Цей текст буде показаний якщо файл не може бути показаний",
|
|
16
|
+
"form.input.label.file-alt": "Альтернативний текст (alt)",
|
|
17
|
+
"form.input.label.file-caption": "Підпис",
|
|
18
|
+
"form.input.label.file-name": "Назва файлу",
|
|
19
|
+
"form.upload-url.error.url.invalid": "Одина URL-адреса неправильна",
|
|
20
|
+
"form.upload-url.error.url.invalids": "{number} URL-адреси неправильні",
|
|
21
|
+
"header.actions.upload-assets": "Завантажити файл",
|
|
22
|
+
"header.content.assets-empty": "Немає файлів",
|
|
23
|
+
"header.content.assets-multiple": "{number} файлів",
|
|
24
|
+
"header.content.assets-single": "1 файл",
|
|
25
|
+
"input.button.label": "Перегляд файлів",
|
|
26
|
+
"input.label-bold": "Перетягніть сюди",
|
|
27
|
+
"input.label-normal": "щоб завантажити або",
|
|
28
|
+
"input.placeholder": "Натисніть щоб вибрати файл або претягніть файл сюди",
|
|
29
|
+
"input.url.description": "Кожен URL має бути з нового рядка.",
|
|
30
|
+
"input.url.label": "URL-адреса",
|
|
31
|
+
"list.assets-empty.subtitle": "Додайте свій перший файл.",
|
|
32
|
+
"list.assets-empty.title": "Ще немає файлів",
|
|
33
|
+
"list.assets-empty.title-withSearch": "Немає файлів, що відповідають застосованим фільтрам",
|
|
34
|
+
"list.assets.selected.plural": "{number} файлів вибрано",
|
|
35
|
+
"list.assets.selected.singular": "{number} файл вибрано",
|
|
36
|
+
"list.assets.type-not-allowed": "Цей тип файлу не дозволений.",
|
|
37
|
+
"modal.file-details.date": "Дата",
|
|
38
|
+
"modal.file-details.dimensions": "Розміри",
|
|
39
|
+
"modal.file-details.extension": "Тип файлу",
|
|
40
|
+
"modal.file-details.size": "Розмір",
|
|
41
|
+
"modal.header.browse": "Завантаження файлу",
|
|
42
|
+
"modal.header.file-detail": "Докладніше",
|
|
43
|
+
"modal.header.pending-assets": "Очикувані файли",
|
|
44
|
+
"modal.header.select-files": "Вибрані файли",
|
|
45
|
+
"modal.nav.browse": "ереглянути",
|
|
46
|
+
"modal.nav.computer": "З комп'ютера",
|
|
47
|
+
"modal.nav.selected": "вібраний",
|
|
48
|
+
"modal.nav.url": "Через URL",
|
|
49
|
+
"modal.selected-list.sub-header-subtitle": "Перетягніть, щоб змінити порядок файлів в полі",
|
|
50
|
+
"modal.upload-list.footer.button.plural": "Закантажити {number} файлів до Медіатеки",
|
|
51
|
+
"modal.upload-list.footer.button.singular": "Закантажити {number} файл до Медіатеки",
|
|
52
|
+
"modal.upload-list.sub-header-subtitle": "Управляйте файлами, перш ніж додати їх до медіатеки",
|
|
53
|
+
"modal.upload-list.sub-header-title.plural": "{number} файлів вибрано",
|
|
54
|
+
"modal.upload-list.sub-header-title.singular": "{number} файл вибрано",
|
|
55
|
+
"modal.upload-list.sub-header.button": "Додати ще файлів",
|
|
56
|
+
"plugin.description.long": "Управляйте медіафайлами.",
|
|
57
|
+
"plugin.description.short": "Управляйте медіафайлами.",
|
|
58
|
+
"plugin.name": "Медіатека",
|
|
59
|
+
"search.placeholder": "Пошук файлів...",
|
|
60
|
+
"settings.form.responsiveDimensions.description": "Автоматично буде створено кілька розмірів (великий, середній, малий) завантаженого файлу",
|
|
61
|
+
"settings.form.responsiveDimensions.label": "Увімкнути responsive-friendly завантаження",
|
|
62
|
+
"settings.form.sizeOptimization.label": "Увімкнути оптимізацію розміру (без втрати якості)",
|
|
63
|
+
"settings.form.videoPreview.description": "Згенерується шостисекундне відео для попереднього перегляду (GIF)",
|
|
64
|
+
"settings.form.videoPreview.label": "Попередній перегляд",
|
|
65
|
+
"settings.header.label": "Медіатека - Налаштування",
|
|
66
|
+
"settings.section.image.label": "Картинка",
|
|
67
|
+
"settings.section.video.label": "Відео",
|
|
68
|
+
"settings.sub-header.label": "Налаштуйте параметри медіатеки",
|
|
69
|
+
"sort.created_at_asc": "Найдавніші завантаження",
|
|
70
|
+
"sort.created_at_desc": "Останні завантаження",
|
|
71
|
+
"sort.label": "Сортувати",
|
|
72
|
+
"sort.name_asc": "За алфавітом (А до Я)",
|
|
73
|
+
"sort.name_desc": "За зворотнім алфавітом (Z до А)",
|
|
74
|
+
"sort.updated_at_asc": "Найдавніші оновлення",
|
|
75
|
+
"sort.updated_at_desc": "Останні оновлення",
|
|
76
|
+
"window.confirm.close-modal.file": "Ви впевнені? Ваші зміни будуть втрачені.",
|
|
77
|
+
"window.confirm.close-modal.files": "Ви впевнені? Деякі файли все ще не завантажені."
|
|
78
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
{
|
|
2
|
+
"page.title": "素材库设置",
|
|
3
|
+
"button.next": "继续",
|
|
4
|
+
"checkControl.crop-duplicate": "复制文件后再剪裁",
|
|
5
|
+
"checkControl.crop-original": "剪裁原始文件",
|
|
6
|
+
"control-card.add": "增加",
|
|
7
|
+
"control-card.cancel": "取消",
|
|
8
|
+
"control-card.copy-link": "复制链接",
|
|
9
|
+
"control-card.crop": "剪裁",
|
|
10
|
+
"control-card.delete": "删除",
|
|
11
|
+
"control-card.download": "下载",
|
|
12
|
+
"control-card.edit": "编辑",
|
|
13
|
+
"control-card.replace-media": "用其他文件替换该素材",
|
|
14
|
+
"control-card.save": "保存",
|
|
15
|
+
"filter.add": "添加过滤条件",
|
|
16
|
+
"form.button.replace-media": "用其他文件替换",
|
|
17
|
+
"form.input.description.file-alt": "文件材找不到时将会显示该文本",
|
|
18
|
+
"form.input.label.file-alt": "替代文本 (alt)",
|
|
19
|
+
"form.input.label.file-caption": "文件标题 (caption)",
|
|
20
|
+
"form.input.label.file-name": "文件名称",
|
|
21
|
+
"form.upload-url.error.url.invalid": "无效链接",
|
|
22
|
+
"form.upload-url.error.url.invalids": "存在 {number} 个无效链接",
|
|
23
|
+
"header.actions.upload-assets": "上传文件",
|
|
24
|
+
"header.content.assets-empty": "暂无文件",
|
|
25
|
+
"header.content.assets-multiple": "已有 {number} 个文件",
|
|
26
|
+
"header.content.assets-single": "已有 1 个文件",
|
|
27
|
+
"input.button.label": "浏览文件",
|
|
28
|
+
"input.label-bold": "拖拽到此处",
|
|
29
|
+
"input.label-normal": "以上传",
|
|
30
|
+
"input.placeholder": "选取一个文件或拖拽到此区域",
|
|
31
|
+
"input.placeholder.icon": "拖拽文件到这里",
|
|
32
|
+
"input.url.description": "一个地址一行",
|
|
33
|
+
"input.url.label": "URL链接",
|
|
34
|
+
"list.assets-empty.subtitle": "上传附件到素材库以供使用",
|
|
35
|
+
"list.assets-empty.title": "暂无内容",
|
|
36
|
+
"list.assets-empty.title-withSearch": "没有找到符合条件的文件",
|
|
37
|
+
"list.assets.selected.plural": "已选择 {number} 个文件",
|
|
38
|
+
"list.assets.selected.singular": "已选择 {number} 个文件",
|
|
39
|
+
"list.assets.type-not-allowed": "不允许上传该类型的文件",
|
|
40
|
+
"list.assets.not-supported-content": "暂不支持预览",
|
|
41
|
+
"list.assets.loading-asset": "正在加载预览:{path}",
|
|
42
|
+
"list.assets.preview-asset": "视频预览:{path}",
|
|
43
|
+
"modal.file-details.date": "日期",
|
|
44
|
+
"modal.file-details.dimensions": "尺寸",
|
|
45
|
+
"modal.file-details.extension": "扩展名",
|
|
46
|
+
"modal.file-details.size": "大小",
|
|
47
|
+
"modal.header.browse": "上传文件",
|
|
48
|
+
"modal.header.file-detail": "文件详情",
|
|
49
|
+
"modal.header.pending-assets": "上传中",
|
|
50
|
+
"modal.header.select-files": "选择的文件",
|
|
51
|
+
"modal.nav.browse": "浏览",
|
|
52
|
+
"modal.nav.computer": "本地文件",
|
|
53
|
+
"modal.nav.selected": "已选择",
|
|
54
|
+
"modal.nav.url": "URL",
|
|
55
|
+
"modal.selected-list.sub-header-subtitle": "在此处拖拽以排序",
|
|
56
|
+
"modal.upload-list.footer.button.plural": "上传 {number} 个文件到素材库",
|
|
57
|
+
"modal.upload-list.footer.button.singular": "上传 {number} 个文件到素材库",
|
|
58
|
+
"modal.upload-list.sub-header-subtitle": "您可以在文件被上传到素材库之前对它们进行一定的编辑",
|
|
59
|
+
"modal.upload-list.sub-header-title.plural": "已选择 {number} 个文件",
|
|
60
|
+
"modal.upload-list.sub-header-title.singular": "已选择 {number} 个文件",
|
|
61
|
+
"modal.upload-list.sub-header.button": "添加更多文件",
|
|
62
|
+
"plugin.description.long": "上传的多媒体与文档素材的管理插件",
|
|
63
|
+
"plugin.description.short": "素材库附件管理",
|
|
64
|
+
"plugin.name": "素材库",
|
|
65
|
+
"search.placeholder": "搜索素材",
|
|
66
|
+
"settings.form.autoOrientation.description": "根据 EXIF 信息自动旋转图片",
|
|
67
|
+
"settings.form.autoOrientation.label": "开启自动旋转",
|
|
68
|
+
"settings.form.responsiveDimensions.description": "上传的图片将会自动生成大、中、小三个尺寸",
|
|
69
|
+
"settings.form.responsiveDimensions.label": "自动生成响应式尺寸",
|
|
70
|
+
"settings.form.sizeOptimization.label": "开启无损尺寸优化",
|
|
71
|
+
"settings.form.videoPreview.description": "自动生成六秒预览(GIF)",
|
|
72
|
+
"settings.form.videoPreview.label": "预览",
|
|
73
|
+
"settings.header.label": "素材库设置",
|
|
74
|
+
"settings.section.image.label": "图片",
|
|
75
|
+
"settings.section.video.label": "视频",
|
|
76
|
+
"settings.sub-header.label": "编辑素材库全局设置",
|
|
77
|
+
"sort.created_at_asc": "最早上传",
|
|
78
|
+
"sort.created_at_desc": "最近上传",
|
|
79
|
+
"sort.label": "排序",
|
|
80
|
+
"sort.name_asc": "按字母升序 (A 到 Z)",
|
|
81
|
+
"sort.name_desc": "按字母降序 (Z 到 A)",
|
|
82
|
+
"sort.updated_at_asc": "最早更新",
|
|
83
|
+
"sort.updated_at_desc": "最近更新",
|
|
84
|
+
"window.confirm.close-modal.file": "你确定吗?所有的修改都会丢失",
|
|
85
|
+
"window.confirm.close-modal.files": "你确定吗?仍有部分附件未上传"
|
|
86
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
{
|
|
2
|
+
"button.next": "繼續",
|
|
3
|
+
"checkControl.crop-duplicate": "複製及裁切素材",
|
|
4
|
+
"checkControl.crop-original": "裁切原始素材",
|
|
5
|
+
"control-card.add": "增加",
|
|
6
|
+
"control-card.cancel": "取消",
|
|
7
|
+
"control-card.copy-link": "複製連結",
|
|
8
|
+
"control-card.crop": "裁切",
|
|
9
|
+
"control-card.delete": "刪除",
|
|
10
|
+
"control-card.download": "下載",
|
|
11
|
+
"control-card.edit": "編輯",
|
|
12
|
+
"control-card.replace-media": "取代原本的媒體檔",
|
|
13
|
+
"control-card.save": "儲存",
|
|
14
|
+
"filter.add": "增加過濾條件",
|
|
15
|
+
"form.button.replace-media": "取代原本的媒體檔",
|
|
16
|
+
"form.input.description.file-alt": "當素材找不到時此文字會被顯示",
|
|
17
|
+
"form.input.label.file-alt": "預設顯示文字",
|
|
18
|
+
"form.input.label.file-caption": "標題",
|
|
19
|
+
"form.input.label.file-name": "檔案名稱",
|
|
20
|
+
"form.upload-url.error.url.invalid": "連結不合法",
|
|
21
|
+
"form.upload-url.error.url.invalids": "{number} 個連結不合法",
|
|
22
|
+
"header.actions.upload-assets": "上傳素材",
|
|
23
|
+
"header.content.assets-empty": "無素材",
|
|
24
|
+
"header.content.assets-multiple": "{number} 個素材",
|
|
25
|
+
"header.content.assets-single": "1 個素材",
|
|
26
|
+
"input.button.label": "瀏覽檔案",
|
|
27
|
+
"input.label-bold": "拖曳",
|
|
28
|
+
"input.label-normal": "並上傳",
|
|
29
|
+
"input.placeholder": "選取一個素材或拖曳檔案到此區塊",
|
|
30
|
+
"input.url.description": "以跳行符號分隔連結",
|
|
31
|
+
"input.url.label": "連結",
|
|
32
|
+
"list.assets-empty.subtitle": "從開頭新增",
|
|
33
|
+
"list.assets-empty.title": "尚無任何素材",
|
|
34
|
+
"list.assets-empty.title-withSearch": "無素材符合此過濾條件",
|
|
35
|
+
"list.assets.selected.plural": "{number} 個素材被選取",
|
|
36
|
+
"list.assets.selected.singular": "{number} 個素材被選取",
|
|
37
|
+
"list.assets.type-not-allowed": "此檔案類型不合法",
|
|
38
|
+
"modal.file-details.date": "日期",
|
|
39
|
+
"modal.file-details.dimensions": "尺寸",
|
|
40
|
+
"modal.file-details.extension": "副檔名",
|
|
41
|
+
"modal.file-details.size": "大小",
|
|
42
|
+
"modal.header.browse": "上傳素材",
|
|
43
|
+
"modal.header.file-detail": "詳細資訊",
|
|
44
|
+
"modal.header.pending-assets": "素材上傳中",
|
|
45
|
+
"modal.header.select-files": "選取的檔案",
|
|
46
|
+
"modal.nav.browse": "瀏覽",
|
|
47
|
+
"modal.nav.computer": "從本機",
|
|
48
|
+
"modal.nav.selected": "已選取",
|
|
49
|
+
"modal.nav.url": "從連結",
|
|
50
|
+
"modal.selected-list.sub-header-subtitle": "於此欄位拖曳檔案排序清單",
|
|
51
|
+
"modal.upload-list.footer.button.plural": "上傳 {number} 個素材到媒體庫",
|
|
52
|
+
"modal.upload-list.footer.button.singular": "上傳 {number} 個素材到媒體庫",
|
|
53
|
+
"modal.upload-list.sub-header-subtitle": "上傳到媒體庫前管理你的素材",
|
|
54
|
+
"modal.upload-list.sub-header-title.plural": "{number} 個素材被選取",
|
|
55
|
+
"modal.upload-list.sub-header-title.singular": "{number} 個素材被選取",
|
|
56
|
+
"modal.upload-list.sub-header.button": "新增更多素材",
|
|
57
|
+
"plugin.description.long": "媒體檔案管理",
|
|
58
|
+
"plugin.description.short": "媒體檔案管理",
|
|
59
|
+
"plugin.name": "媒體庫",
|
|
60
|
+
"search.placeholder": "搜尋素材",
|
|
61
|
+
"settings.form.responsiveDimensions.description": "上傳的素材將會自動生成大,中,小三個響應式尺寸",
|
|
62
|
+
"settings.form.responsiveDimensions.label": "啟動上傳響應式圖片",
|
|
63
|
+
"settings.form.sizeOptimization.label": "啟動不失真圖片大小優化",
|
|
64
|
+
"settings.form.autoOrientation.label": "啟動自動旋轉功能",
|
|
65
|
+
"settings.form.autoOrientation.description": "根據 EXIF orientation 標籤自動旋轉圖片",
|
|
66
|
+
"settings.form.videoPreview.description": "自動生成六秒影片預覽(GIF)",
|
|
67
|
+
"settings.form.videoPreview.label": "預覽",
|
|
68
|
+
"settings.header.label": "媒體庫 - 設定",
|
|
69
|
+
"settings.section.image.label": "圖片",
|
|
70
|
+
"settings.section.video.label": "影片",
|
|
71
|
+
"settings.sub-header.label": "配置媒體庫設定",
|
|
72
|
+
"sort.created_at_asc": "最早的上傳",
|
|
73
|
+
"sort.created_at_desc": "最近的上傳",
|
|
74
|
+
"sort.label": "排序",
|
|
75
|
+
"sort.name_asc": "依字母排序 (A to Z)",
|
|
76
|
+
"sort.name_desc": "依字母倒序 (Z to A)",
|
|
77
|
+
"sort.updated_at_asc": "最早的更新",
|
|
78
|
+
"sort.updated_at_desc": "最近的更新",
|
|
79
|
+
"window.confirm.close-modal.file": "你確定嗎?所有的變更將會遺失",
|
|
80
|
+
"window.confirm.close-modal.files": "你確定嗎?仍有部份檔案尚未上傳"
|
|
81
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { omitBy } from 'lodash';
|
|
2
|
+
|
|
3
|
+
const compactParams = params =>
|
|
4
|
+
omitBy(
|
|
5
|
+
params,
|
|
6
|
+
param =>
|
|
7
|
+
(typeof param === 'string' && param === '') ||
|
|
8
|
+
(Array.isArray(param) && param.length === 0) ||
|
|
9
|
+
param === null ||
|
|
10
|
+
param === undefined
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
export default compactParams;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
const createMatrix = refArray => {
|
|
2
|
+
const maxNumberOfColumns = 4;
|
|
3
|
+
const matrix = [];
|
|
4
|
+
|
|
5
|
+
let row = [];
|
|
6
|
+
let start = 0;
|
|
7
|
+
|
|
8
|
+
for (let i = 0; i < refArray.length; i++) {
|
|
9
|
+
// Check if the index is the last element
|
|
10
|
+
if (i % maxNumberOfColumns === 0 && i !== 0) {
|
|
11
|
+
for (let j = start; j < i; j++) {
|
|
12
|
+
row.push(refArray[j]);
|
|
13
|
+
start = i;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
matrix.push({ key: matrix.length, rowContent: row });
|
|
17
|
+
row = [];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
for (let i = start; i < refArray.length; i++) {
|
|
22
|
+
row.push(refArray[i]);
|
|
23
|
+
|
|
24
|
+
if (i === refArray.length - 1) {
|
|
25
|
+
matrix.push({ key: matrix.length, rowContent: row });
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return matrix;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export default createMatrix;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
import { isEmpty } from 'lodash';
|
|
3
|
+
|
|
4
|
+
const getTempsIds = alreadyUploadedFiles => {
|
|
5
|
+
return [...new Set([0, ...alreadyUploadedFiles.map(file => file.tempId).filter(id => !!id)])];
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
const getMax = arr => {
|
|
9
|
+
return Math.max.apply(Math, arr) + 1;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const createNewFilesToDownloadArray = (filesURLArray, alreadyUploadedFiles) => {
|
|
13
|
+
const tempIds = getTempsIds(alreadyUploadedFiles);
|
|
14
|
+
const max = getMax(tempIds);
|
|
15
|
+
|
|
16
|
+
const arrayToReturn = filesURLArray.reduce((acc, current, index) => {
|
|
17
|
+
if (isEmpty(current)) {
|
|
18
|
+
return acc;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
try {
|
|
22
|
+
const url = new URL(current);
|
|
23
|
+
const name = decodeURIComponent(url.pathname.substring(url.pathname.lastIndexOf('/') + 1));
|
|
24
|
+
const CancelToken = axios.CancelToken;
|
|
25
|
+
const abortController = new AbortController();
|
|
26
|
+
const source = CancelToken.source();
|
|
27
|
+
|
|
28
|
+
acc.push({
|
|
29
|
+
abortController,
|
|
30
|
+
source,
|
|
31
|
+
file: null,
|
|
32
|
+
fileInfo: {
|
|
33
|
+
alternativeText: '',
|
|
34
|
+
caption: '',
|
|
35
|
+
name,
|
|
36
|
+
},
|
|
37
|
+
fileURL: url,
|
|
38
|
+
fileOriginalURL: current,
|
|
39
|
+
originalName: name,
|
|
40
|
+
hasError: false,
|
|
41
|
+
errorMessage: null,
|
|
42
|
+
isUploading: false,
|
|
43
|
+
isDownloading: true,
|
|
44
|
+
tempId: max + index,
|
|
45
|
+
});
|
|
46
|
+
} catch (err) {
|
|
47
|
+
// invalid url
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
return acc;
|
|
51
|
+
}, []);
|
|
52
|
+
|
|
53
|
+
return arrayToReturn;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export default createNewFilesToDownloadArray;
|
|
57
|
+
export { getMax, getTempsIds };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const createNewFilesToUploadArray = filesObject => {
|
|
2
|
+
return Object.keys(filesObject).reduce((acc, current) => {
|
|
3
|
+
const currentFile = filesObject[current];
|
|
4
|
+
const abortController = new AbortController();
|
|
5
|
+
|
|
6
|
+
acc.push({
|
|
7
|
+
abortController,
|
|
8
|
+
file: currentFile,
|
|
9
|
+
fileInfo: {
|
|
10
|
+
alternativeText: '',
|
|
11
|
+
caption: '',
|
|
12
|
+
name: currentFile.name,
|
|
13
|
+
},
|
|
14
|
+
hasError: false,
|
|
15
|
+
errorMessage: null,
|
|
16
|
+
originalName: currentFile.name,
|
|
17
|
+
isUploading: false,
|
|
18
|
+
tempId: null,
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
return acc;
|
|
22
|
+
}, []);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export default createNewFilesToUploadArray;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import byteSize from 'byte-size';
|
|
2
|
+
|
|
3
|
+
function formatBytes(receivedBytes, decimals = 0) {
|
|
4
|
+
const { value, unit } = byteSize(receivedBytes * 1000, { precision: decimals });
|
|
5
|
+
|
|
6
|
+
if (!unit) {
|
|
7
|
+
return '0B';
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
return `${value}${unit.toUpperCase()}`;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export default formatBytes;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { pick } from 'lodash';
|
|
2
|
+
|
|
3
|
+
const formatFileForEditing = file => {
|
|
4
|
+
const abortController = new AbortController();
|
|
5
|
+
|
|
6
|
+
return {
|
|
7
|
+
abortController,
|
|
8
|
+
id: file.id,
|
|
9
|
+
file: {
|
|
10
|
+
...pick(file, ['size', 'ext', 'width', 'height', 'mime', 'name', 'url']),
|
|
11
|
+
created_at: file.created_at || file.createdAt,
|
|
12
|
+
},
|
|
13
|
+
fileInfo: pick(file, ['alternativeText', 'caption', 'name']),
|
|
14
|
+
hasError: false,
|
|
15
|
+
errorMessage: null,
|
|
16
|
+
isUploading: false,
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export default formatFileForEditing;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const formatFilters = params => {
|
|
2
|
+
const indexOfFileFilterContains = params.indexOf('mime_contains=file');
|
|
3
|
+
const indexOfFileFilterNContains = params.indexOf('mime_ncontains=file');
|
|
4
|
+
let paramsToReturn = params;
|
|
5
|
+
|
|
6
|
+
if (indexOfFileFilterContains !== -1) {
|
|
7
|
+
paramsToReturn = paramsToReturn.replace(
|
|
8
|
+
'mime_contains=file',
|
|
9
|
+
'mime_ncontains=image&mime_ncontains=video'
|
|
10
|
+
);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
if (indexOfFileFilterNContains !== -1) {
|
|
14
|
+
paramsToReturn = paramsToReturn.replace(
|
|
15
|
+
'mime_ncontains=file',
|
|
16
|
+
'mime_contains=image&mime_contains=video'
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return paramsToReturn;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export default formatFilters;
|