aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Jaros <rjaros@finn.pl>2019-01-19 00:18:58 +0100
committerRobert Jaros <rjaros@finn.pl>2019-01-19 00:18:58 +0100
commit76754fd65d195f418a8643a8e0213fc8b0b6ab31 (patch)
treeb537707f6044a6598a9ef5bdfd514d72ad8d95d6
parent69df5eb9d89f40d56ff7db0f7f30ead51ad0c2a1 (diff)
downloadkvision-76754fd65d195f418a8643a8e0213fc8b0b6ab31.tar.gz
kvision-76754fd65d195f418a8643a8e0213fc8b0b6ab31.tar.bz2
kvision-76754fd65d195f418a8643a8e0213fc8b0b6ab31.zip
Upload component upgrade and enhancements.
-rw-r--r--kvision-modules/kvision-upload/build.gradle2
-rw-r--r--kvision-modules/kvision-upload/src/main/kotlin/pl/treksoft/kvision/form/upload/Upload.kt2
-rw-r--r--kvision-modules/kvision-upload/src/main/kotlin/pl/treksoft/kvision/form/upload/UploadInput.kt40
-rw-r--r--kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/da.js60
-rw-r--r--kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/fa.js8
-rw-r--r--kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/gl.js56
-rw-r--r--kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/he.js97
-rw-r--r--kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/hu.js6
-rw-r--r--kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/id.js68
-rw-r--r--kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/ko.js90
-rw-r--r--kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/nl.js12
-rw-r--r--kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/tr.js4
-rw-r--r--kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/uk.js72
-rw-r--r--kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/uz.js101
-rw-r--r--kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/zh-TW.js44
-rw-r--r--kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/zh.js9
-rw-r--r--src/main/resources/css/style.css4
17 files changed, 442 insertions, 233 deletions
diff --git a/kvision-modules/kvision-upload/build.gradle b/kvision-modules/kvision-upload/build.gradle
index e45b9a3b..943bb927 100644
--- a/kvision-modules/kvision-upload/build.gradle
+++ b/kvision-modules/kvision-upload/build.gradle
@@ -3,7 +3,7 @@ apply from: "../shared.gradle"
kotlinFrontend {
npm {
- dependency("bootstrap-fileinput", "4.4.7")
+ dependency("bootstrap-fileinput", "4.5.2")
}
}
diff --git a/kvision-modules/kvision-upload/src/main/kotlin/pl/treksoft/kvision/form/upload/Upload.kt b/kvision-modules/kvision-upload/src/main/kotlin/pl/treksoft/kvision/form/upload/Upload.kt
index 314c9904..971ce186 100644
--- a/kvision-modules/kvision-upload/src/main/kotlin/pl/treksoft/kvision/form/upload/Upload.kt
+++ b/kvision-modules/kvision-upload/src/main/kotlin/pl/treksoft/kvision/form/upload/Upload.kt
@@ -252,7 +252,7 @@ open class Upload(
* @param kFile KFile object
* @return File object
*/
- fun getNativeFile(kFile: KFile): File? {
+ override fun getNativeFile(kFile: KFile): File? {
return input.getNativeFile(kFile)
}
diff --git a/kvision-modules/kvision-upload/src/main/kotlin/pl/treksoft/kvision/form/upload/UploadInput.kt b/kvision-modules/kvision-upload/src/main/kotlin/pl/treksoft/kvision/form/upload/UploadInput.kt
index 2af7b3f7..ee17949e 100644
--- a/kvision-modules/kvision-upload/src/main/kotlin/pl/treksoft/kvision/form/upload/UploadInput.kt
+++ b/kvision-modules/kvision-upload/src/main/kotlin/pl/treksoft/kvision/form/upload/UploadInput.kt
@@ -173,23 +173,25 @@ open class UploadInput(uploadUrl: String? = null, multiple: Boolean = false, cla
@Suppress("UnsafeCastFromDynamic")
override fun afterInsert(node: VNode) {
getElementJQueryD()?.fileinput(getSettingsObj())
- this.getElementJQuery()?.on("fileselect") { e, _ ->
- this.dispatchEvent("fileSelectUpload", obj { detail = e })
- }
- this.getElementJQuery()?.on("fileclear") { e, _ ->
- this.dispatchEvent("fileClearUpload", obj { detail = e })
- }
- this.getElementJQuery()?.on("filereset") { e, _ ->
- this.dispatchEvent("fileResetUpload", obj { detail = e })
- }
- this.getElementJQuery()?.on("filebrowse") { e, _ ->
- this.dispatchEvent("fileBrowseUpload", obj { detail = e })
- }
- this.getElementJQueryD()?.on("filepreupload") lambda@{ _, data, previewId, index ->
- data["previewId"] = previewId
- data["index"] = index
- this.dispatchEvent("filePreUpload", obj { detail = data })
- return@lambda null
+ if (uploadUrl != null) {
+ this.getElementJQuery()?.on("fileselect") { e, _ ->
+ this.dispatchEvent("fileSelectUpload", obj { detail = e })
+ }
+ this.getElementJQuery()?.on("fileclear") { e, _ ->
+ this.dispatchEvent("fileClearUpload", obj { detail = e })
+ }
+ this.getElementJQuery()?.on("filereset") { e, _ ->
+ this.dispatchEvent("fileResetUpload", obj { detail = e })
+ }
+ this.getElementJQuery()?.on("filebrowse") { e, _ ->
+ this.dispatchEvent("fileBrowseUpload", obj { detail = e })
+ }
+ this.getElementJQueryD()?.on("filepreupload") lambda@{ _, data, previewId, index ->
+ data["previewId"] = previewId
+ data["index"] = index
+ this.dispatchEvent("filePreUpload", obj { detail = data })
+ return@lambda null
+ }
}
}
@@ -301,6 +303,10 @@ open class UploadInput(uploadUrl: String? = null, multiple: Boolean = false, cla
this.allowedFileTypes = allowedFileTypes?.toTypedArray()
this.allowedFileExtensions = allowedFileExtensions?.toTypedArray()
this.dropZoneEnabled = dropZoneEnabled
+ this.fileActionSettings = obj {
+ this.showUpload = showUpload
+ this.showRemove = showRemove
+ }
this.language = language
}
}
diff --git a/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/da.js b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/da.js
index 613defec..11a13892 100644
--- a/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/da.js
+++ b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/da.js
@@ -10,7 +10,7 @@
*/
(function ($) {
"use strict";
-
+
$.fn.fileinputLocales['da'] = {
fileSingle: 'fil',
filePlural: 'filer',
@@ -24,19 +24,19 @@
msgNo: 'Ingen',
msgNoFilesSelected: '',
msgCancelled: 'aflyst',
- msgPlaceholder: 'Select {files}...',
+ msgPlaceholder: 'V&aelig;lg {files}...',
msgZoomModalHeading: 'Detaljeret visning',
- msgFileRequired: 'You must select a file to upload.',
- msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
+ msgFileRequired: 'Du skal v&aelig;lge en fil at uploade.',
+ msgSizeTooSmall: 'Fil "{name}" (<b>{size} KB</b>) er for lille og skal v&aelig;re st&oslash;rre end <b>{minSize} KB</b>.',
msgSizeTooLarge: 'Fil "{name}" (<b>{size} KB</b>) er st&oslash;rre end de tilladte <b>{maxSize} KB</b>.',
msgFilesTooLess: 'Du skal mindst v&aelig;lge <b>{n}</b> {files} til upload.',
msgFilesTooMany: '<b>({n})</b> filer valgt til upload, men maks. <b>{m}</b> er tilladt.',
msgFileNotFound: 'Filen "{name}" blev ikke fundet!',
msgFileSecured: 'Sikkerhedsrestriktioner forhindrer l&aelig;sning af "{name}".',
msgFileNotReadable: 'Filen "{name}" kan ikke indl&aelig;ses.',
- msgFilePreviewAborted: 'Filpreview annulleret for "{name}".',
+ msgFilePreviewAborted: 'Filgennemsyn annulleret for "{name}".',
msgFilePreviewError: 'Der skete en fejl under l&aelig;sningen af filen "{name}".',
- msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
+ msgInvalidFileName: 'Ugyldige eller ikke-underst&oslash;ttede tegn i filnavn "{name}".',
msgInvalidFileType: 'Ukendt type for filen "{name}". Kun "{types}" kan bruges.',
msgInvalidFileExtension: 'Ukendt filtype for filen "{name}". Kun "{extensions}" filer kan bruges.',
msgFileTypes: {
@@ -50,12 +50,12 @@
'object': 'object'
},
msgUploadAborted: 'Filupload annulleret',
- msgUploadThreshold: 'Processing...',
- msgUploadBegin: 'Initializing...',
- msgUploadEnd: 'Done',
- msgUploadEmpty: 'No valid data available for upload.',
- msgUploadError: 'Error',
- msgValidationError: 'Validering Fejl',
+ msgUploadThreshold: 'Arbejder...',
+ msgUploadBegin: 'Initialiserer...',
+ msgUploadEnd: 'Udf&oslash;rt',
+ msgUploadEmpty: 'Ingen gyldig data tilg&aelig;ngelig til upload.',
+ msgUploadError: 'Fejl',
+ msgValidationError: 'Valideringsfejl',
msgLoading: 'Henter fil {index} af {files} &hellip;',
msgProgress: 'Henter fil {index} af {files} - {name} - {percent}% f&aelig;rdiggjort.',
msgSelected: '{n} {files} valgt',
@@ -64,37 +64,37 @@
msgImageHeightSmall: 'H&oslash;jden af billedet "{name}" skal v&aelig;re p&aring; mindst {size} px.',
msgImageWidthLarge: 'Bredden af billedet "{name}" m&aring; ikke v&aelig;re over {size} px.',
msgImageHeightLarge: 'H&oslash;jden af billedet "{name}" m&aring; ikke v&aelig;re over {size} px.',
- msgImageResizeError: 'Kunne ikke få billedets dimensioner for at ændre størrelsen.',
- msgImageResizeException: 'Fejl ved at ændre størrelsen på billedet.<pre>{errors}</pre>',
- msgAjaxError: 'Something went wrong with the {operation} operation. Please try again later!',
- msgAjaxProgressError: '{operation} failed',
+ msgImageResizeError: 'Kunne ikke f&aring; billedets dimensioner for at &aelig;ndre st&oslash;rrelsen.',
+ msgImageResizeException: 'Fejl ved at &aelig;ndre st&oslash;rrelsen p&aring; billedet.<pre>{errors}</pre>',
+ msgAjaxError: 'Noget gik galt med {operation} operationen. Fors&oslash;g venligst senere!',
+ msgAjaxProgressError: '{operation} fejlede',
ajaxOperations: {
- deleteThumb: 'file delete',
- uploadThumb: 'file upload',
- uploadBatch: 'batch file upload',
+ deleteThumb: 'fil slet',
+ uploadThumb: 'fil upload',
+ uploadBatch: 'batchfil upload',
uploadExtra: 'form data upload'
},
dropZoneTitle: 'Drag & drop filer her &hellip;',
- dropZoneClickTitle: '<br>(or click to select {files})',
+ dropZoneClickTitle: '<br>(eller klik for at v&aelig;lge {files})',
fileActionSettings: {
removeTitle: 'Fjern fil',
uploadTitle: 'Upload fil',
- uploadRetryTitle: 'Retry upload',
- downloadTitle: 'Download file',
+ uploadRetryTitle: 'Fors&aring;g upload igen',
+ downloadTitle: 'Download fil',
zoomTitle: 'Se detaljer',
- dragTitle: 'Move / Rearrange',
+ dragTitle: 'Flyt / Omarranger',
indicatorNewTitle: 'Ikke uploadet endnu',
indicatorSuccessTitle: 'Uploadet',
indicatorErrorTitle: 'Upload fejl',
indicatorLoadingTitle: 'Uploader ...'
},
previewZoomButtonTitles: {
- prev: 'View previous file',
- next: 'View next file',
- toggleheader: 'Toggle header',
- fullscreen: 'Toggle full screen',
- borderless: 'Toggle borderless mode',
- close: 'Close detailed preview'
+ prev: 'Se forrige fil',
+ next: 'Se n&aelig;ste fil',
+ toggleheader: 'Skift header',
+ fullscreen: 'Skift fuld sk&aelig;rm',
+ borderless: 'Skift gr&aelig;nsel&oslash;s mode',
+ close: 'Luk detaljeret visning'
}
};
-})(window.jQuery); \ No newline at end of file
+})(window.jQuery);
diff --git a/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/fa.js b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/fa.js
index ca59bbb8..609099c4 100644
--- a/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/fa.js
+++ b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/fa.js
@@ -25,9 +25,9 @@
msgNo: 'نه',
msgNoFilesSelected: 'هیچ فایلی انتخاب نشده است',
msgCancelled: 'لغو شد',
- msgPlaceholder: 'Select {files}...',
+ msgPlaceholder: 'انتخاب {files}...',
msgZoomModalHeading: 'نمایش با جزییات',
- msgFileRequired: 'You must select a file to upload.',
+ msgFileRequired: 'شما باید یک فایل برای بارگذاری انتخاب نمایید.',
msgSizeTooSmall: 'فایل "{name}" (<b>{size} کیلوبایت</b>) خیلی کوچک است و باید از <b>{minSize} کیلوبایت بزرگتر باشد</b>.',
msgSizeTooLarge: 'فایل "{name}" (<b>{size} کیلوبایت</b>) از حداکثر مجاز <b>{maxSize} کیلوبایت</b> بزرگتر است.',
msgFilesTooLess: 'شما باید حداقل <b>{n}</b> {files} فایل برای بارگذاری انتخاب کنید.',
@@ -80,8 +80,8 @@
fileActionSettings: {
removeTitle: 'حذف فایل',
uploadTitle: 'آپلود فایل',
- uploadRetryTitle: 'Retry upload',
- downloadTitle: 'Download file',
+ uploadRetryTitle: 'بارگیری مجدد',
+ downloadTitle: 'دریافت فایل',
zoomTitle: 'دیدن جزئیات',
dragTitle: 'جابجایی / چیدمان',
indicatorNewTitle: 'آپلود نشده است',
diff --git a/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/gl.js b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/gl.js
index 6efc4f61..a2ba90be 100644
--- a/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/gl.js
+++ b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/gl.js
@@ -24,21 +24,21 @@
msgNo: 'Non',
msgNoFilesSelected: 'Non hay arquivos seleccionados',
msgCancelled: 'Cancelado',
- msgPlaceholder: 'Select {files}...',
+ msgPlaceholder: 'Seleccinar {files}...',
msgZoomModalHeading: 'Vista previa detallada',
- msgFileRequired: 'You must select a file to upload.',
- msgSizeTooSmall: 'O arquivo "{name}" (<b>{size} KB</b>) é demasiado pequeño e debe ser maior de <b>{minSize} KB</b>.',
- msgSizeTooLarge: 'El arquivo "{name}" (<b>{size} KB</b>) excede o tamaño máximo permitido de <b>{maxSize} KB</b>.',
- msgFilesTooLess: 'Debe seleccionar al menos <b>{n}</b> {files} a cargar.',
+ msgFileRequired: 'Debes seleccionar un arquivo para subir.',
+ msgSizeTooSmall: 'O arquivo "{name}" (<b>{size} KB</b>) é demasiado pequeno e debe ser maior de <b>{minSize} KB</b>.',
+ msgSizeTooLarge: 'O arquivo "{name}" (<b>{size} KB</b>) excede o tamaño máximo permitido de <b>{maxSize} KB</b>.',
+ msgFilesTooLess: 'Debe seleccionar ao menos <b>{n}</b> {files} a cargar.',
msgFilesTooMany: 'O número de arquivos seleccionados a cargar <b>({n})</b> excede do límite máximo permitido de <b>{m}</b>.',
msgFileNotFound: 'Arquivo "{name}" non encontrado.',
- msgFileSecured: 'Non é posible acceder o arquivo "{name}" porque estará sendo usado por outra aplicación ou non teñamos permisos de lectura.',
- msgFileNotReadable: 'Non é posible acceder o archivo "{name}".',
+ msgFileSecured: 'Non é posible acceder ao arquivo "{name}" porque estará sendo usado por outra aplicación ou non teñamos permisos de lectura.',
+ msgFileNotReadable: 'Non é posible acceder ao arquivo "{name}".',
msgFilePreviewAborted: 'Previsualización do arquivo "{name}" cancelada.',
msgFilePreviewError: 'Ocurriu un erro mentras se lía o arquivo "{name}".',
- msgInvalidFileName: 'Caracteres non válidos o no soportados no nome do arquivos "{name}".',
- msgInvalidFileType: 'Tipo de archivo no válido para "{name}". Sólo se permiten arquivos do tipo "{types}".',
- msgInvalidFileExtension: 'Extensión de arquivo non válido para "{name}". Só se permiten arquivos "{extensions}".',
+ msgInvalidFileName: 'Caracteres non válidos ou non soportados no nome do arquivo "{name}".',
+ msgInvalidFileType: 'Tipo de arquivo non válido para "{name}". Só se permiten arquivos do tipo "{types}".',
+ msgInvalidFileExtension: 'Extensión de arquivo non válida para "{name}". Só se permiten arquivos "{extensions}".',
msgFileTypes: {
'image': 'imaxe',
'html': 'HTML',
@@ -51,22 +51,22 @@
},
msgUploadAborted: 'A carga de arquivos cancelouse',
msgUploadThreshold: 'Procesando...',
- msgUploadBegin: 'Inicialicando...',
+ msgUploadBegin: 'Inicializando...',
msgUploadEnd: 'Feito',
msgUploadEmpty: 'Non existen datos válidos para o envío.',
- msgUploadError: 'Error',
+ msgUploadError: 'Erro',
msgValidationError: 'Erro de validación',
msgLoading: 'Subindo arquivo {index} de {files} &hellip;',
- msgProgress: 'Subiendo arquivo {index} de {files} - {name} - {percent}% completado.',
+ msgProgress: 'Subindo arquivo {index} de {files} - {name} - {percent}% completado.',
msgSelected: '{n} {files} seleccionado(s)',
- msgFoldersNotAllowed: 'Arrastra e solta únicamente arquivoa. Omitida(s) {n} carpeta(s).',
- msgImageWidthSmall: 'O ancho da imaxe "{name}" debe ser de al menos {size} px.',
- msgImageHeightSmall: 'A altura de la imaxe "{name}" debe ser de al menos {size} px.',
- msgImageWidthLarge: 'El ancho de la imaxe "{name}" no puede exceder de {size} px.',
- msgImageHeightLarge: 'La altura de la imaxe "{name}" no puede exceder de {size} px.',
- msgImageResizeError: 'No se pudieron obtener las dimensiones de la imaxe para cambiar el tamaño.',
- msgImageResizeException: 'Erro o cambiar o tamaño da imaxe.<pre>{errors}</pre>',
- msgAjaxError: 'Algo foi mal ca operación {operation}. Por favor, intentao de novo mais tarde.',
+ msgFoldersNotAllowed: 'Arrastra e solta unicamente arquivos. Omitida(s) {n} carpeta(s).',
+ msgImageWidthSmall: 'O ancho da imaxe "{name}" debe ser de ao menos {size} px.',
+ msgImageHeightSmall: 'A altura da imaxe "{name}" debe ser de ao menos {size} px.',
+ msgImageWidthLarge: 'O ancho da imaxe "{name}" non pode exceder de {size} px.',
+ msgImageHeightLarge: 'A altura da imaxe "{name}" non pode exceder de {size} px.',
+ msgImageResizeError: 'Non se puideron obter as dimensións da imaxe para cambiar o tamaño.',
+ msgImageResizeException: 'Erro ao cambiar o tamaño da imaxe. <pre>{errors}</pre>',
+ msgAjaxError: 'Algo foi mal ca operación {operation}. Por favor, inténtao de novo máis tarde.',
msgAjaxProgressError: 'A operación {operation} fallou',
ajaxOperations: {
deleteThumb: 'Arquivo borrado',
@@ -74,23 +74,23 @@
uploadBatch: 'Datos subidos en lote',
uploadExtra: 'Datos do formulario subidos'
},
- dropZoneTitle: 'Arrasta e solte aquí os arquivos &hellip;',
+ dropZoneTitle: 'Arrasta e solta aquí os arquivos &hellip;',
dropZoneClickTitle: '<br>(ou fai clic para seleccionar {files})',
fileActionSettings: {
removeTitle: 'Eliminar arquivo',
uploadTitle: 'Subir arquivo',
- uploadRetryTitle: 'Retry upload',
- downloadTitle: 'Download file',
+ uploadRetryTitle: 'Reintentar a subida',
+ downloadTitle: 'Descargar arquivo',
zoomTitle: 'Ver detalles',
dragTitle: 'Mover / Reordenar',
- indicatorNewTitle: 'Non subido todavía',
+ indicatorNewTitle: 'Non subido aínda',
indicatorSuccessTitle: 'Subido',
- indicatorErrorTitle: 'Erro o subir',
- indicatorLoadingTitle: 'Subiendo...'
+ indicatorErrorTitle: 'Erro ao subir',
+ indicatorLoadingTitle: 'Subindo...'
},
previewZoomButtonTitles: {
prev: 'Ver arquivo anterior',
- next: 'Ver arquivo siguinte',
+ next: 'Ver arquivo seguinte',
toggleheader: 'Mostrar encabezado',
fullscreen: 'Mostrar a pantalla completa',
borderless: 'Activar o modo sen bordes',
diff --git a/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/he.js b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/he.js
new file mode 100644
index 00000000..cea7de35
--- /dev/null
+++ b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/he.js
@@ -0,0 +1,97 @@
+/*!
+ * FileInput Hebrew Translations
+ *
+ * This file must be loaded after 'fileinput.js'. Patterns in braces '{}', or
+ * any HTML markup tags in the messages must not be converted or translated.
+ *
+ * @see http://github.com/kartik-v/bootstrap-fileinput
+ * @author Daniel Coryat <awq8002@gmail.com>
+ *
+ * NOTE: this file must be saved in UTF-8 encoding.
+ */
+(function ($) {
+ "use strict";
+
+ $.fn.fileinputLocales['he'] = {
+ fileSingle: 'קובץ',
+ filePlural: 'קבצים',
+ browseLabel: 'העלאה &hellip;',
+ removeLabel: 'הסרה',
+ removeTitle: 'נקה קבצים נבחרים',
+ cancelLabel: 'ביטול',
+ cancelTitle: 'ביטול העלאה מתמשכת',
+ uploadLabel: 'טעינה',
+ uploadTitle: 'טעינת קבצים נבחרים',
+ msgNo: 'לא',
+ msgNoFilesSelected: 'לא נבחרו קבצים',
+ msgCancelled: 'מבוטל',
+ msgPlaceholder: 'בחר {files}...',
+ msgZoomModalHeading: 'תצוגה מקדימה מפורטת',
+ msgSizeTooSmall: 'קובץ "{name}" (<b>{size} KB</b>) קטן מדי וחייב להיות גדול מ <b>{minSize} KB</b>.',
+ msgSizeTooLarge: 'קובץ "{name}" (<b>{size} KB</b>) חורג מהגודל המרבי המותר להעלאה של <b>{maxSize} KB</b>.',
+ msgFilesTooLess: 'עליך לבחור לפחות <b>{n}</b> {files} להעלאה.',
+ msgFilesTooMany: 'מספר הקבצים שנבחרו להעלאה <b>({n})</b> חורג מהמגבלה המרבית המותרת של <b>{m}</b>.',
+ msgFileNotFound: 'קובץ "{name}" לא נמצא!',
+ msgFileSecured: 'הגבלות אבטחה מונעות קריאת הקובץ "{name}".',
+ msgFileNotReadable: 'קובץ "{name}" לא קריא.',
+ msgFilePreviewAborted: 'תצוגה מקדימה של הקובץ בוטלה עבור "{name}".',
+ msgFilePreviewError: 'אירעה שגיאה בעת קריאת הקובץ "{name}".',
+ msgInvalidFileName: 'תווים לא חוקיים או לא נתמכים בשם הקובץ "{name}".',
+ msgInvalidFileType: 'סוג קובץ לא חוקי "{name}". רק "{types}" קבצים נתמכים.',
+ msgInvalidFileExtension: 'תוסף לא חוקי עבור הקובץ "{name}". רק "{extensions}" קבצים נתמכים.',
+ msgFileTypes: {
+ 'image': 'תמונה',
+ 'html': 'HTML',
+ 'text': 'טקסט',
+ 'video': 'וידאו',
+ 'audio': 'שמע',
+ 'flash': 'פלאש',
+ 'pdf': 'PDF',
+ 'object': 'אובייקט'
+ },
+ msgUploadAborted: 'העלאת הקובץ בוטלה',
+ msgUploadThreshold: 'מעבד...',
+ msgUploadBegin: 'מאתחל ...',
+ msgUploadEnd: 'בוצע',
+ msgUploadEmpty: 'אין נתונים זמינים להעלאה.',
+ msgValidationError: 'שגיאת אימות',
+ msgLoading: 'טוען קובץ {index} של {files} &hellip;',
+ msgProgress: 'טוען קובץ {index} של {files} - {name} - {percent}% הושלמה.',
+ msgSelected: '{n} {files} נבחרו',
+ msgFoldersNotAllowed: 'גרירת קבצים ושחרורם בלבד! דילוג {n} גרירת תיקיה(s).',
+ msgImageWidthSmall: 'רוחב קובץ התמונה "{name}" חייב להיות לפחות {size} px.',
+ msgImageHeightSmall: 'גובה קובץ התמונה "{name}" חייב להיות לפחות {size} px.',
+ msgImageWidthLarge: 'רוחב קובץ התמונה "{name}" לא יעלה על {size} px.',
+ msgImageHeightLarge: 'גובה קובץ התמונה "{name}" לא יעלה על {size} px.',
+ msgImageResizeError: 'לא ניתן לשנות את גודל מידות התמונה.',
+ msgImageResizeException: 'שגיאה בעת שינוי גודל התמונה.<pre>{errors}</pre>',
+ msgAjaxError: 'משהו השתבש עם {operation} המערכת. יש לנסות מאוחר יותר!',
+ msgAjaxProgressError: '{operation} נכשל',
+ ajaxOperations: {
+ deleteThumb: 'קובץ נמחק',
+ uploadThumb: 'קובץ הועלה',
+ uploadBatch: 'קובץ אצווה הועלה',
+ uploadExtra: 'העלאת נתונים בטופס'
+ },
+ dropZoneTitle: 'גרירת קבצים ושחרורם כאן &hellip;',
+ dropZoneClickTitle: '<br>(או לחץ /י כדי לבחור {files})',
+ fileActionSettings: {
+ removeTitle: 'הסרת קובץ',
+ uploadTitle: 'טעינת קובץ',
+ zoomTitle: 'הצגת פרטים',
+ dragTitle: 'העברה / סידור מחדש',
+ indicatorNewTitle: 'עדיין לא הועלה',
+ indicatorSuccessTitle: 'הועלה',
+ indicatorErrorTitle: 'שגיאת העלאה',
+ indicatorLoadingTitle: 'מעלה...'
+ },
+ previewZoomButtonTitles: {
+ prev: 'הצגת את הקובץ הקודם',
+ next: 'הצגת את הקובץ הבא',
+ toggleheader: 'שינוי כותרת',
+ fullscreen: 'מעבר למסך מלא',
+ borderless: 'שינוי המודל ללא שוליים',
+ close: 'סגירת תצוגה מקדימה מפורטת'
+ }
+ };
+})(window.jQuery);
diff --git a/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/hu.js b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/hu.js
index f9ef93ae..534815fb 100644
--- a/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/hu.js
+++ b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/hu.js
@@ -24,7 +24,7 @@
msgNo: 'Nem',
msgNoFilesSelected: 'Nincs fájl kiválasztva',
msgCancelled: 'Megszakítva',
- msgPlaceholder: 'Select {files}...',
+ msgPlaceholder: 'Válasz {files}...',
msgZoomModalHeading: 'Részletes Előnézet',
msgFileRequired: 'Kötelező fájlt kiválasztani a feltöltéshez.',
msgSizeTooSmall: 'A fájl: "{name}" (<b>{size} KB</b>) mérete túl kicsi, nagyobbnak kell lennie, mint <b>{minSize} KB</b>.',
@@ -79,8 +79,8 @@
fileActionSettings: {
removeTitle: 'A fájl eltávolítása',
uploadTitle: 'fájl feltöltése',
- uploadRetryTitle: 'Retry upload',
- downloadTitle: 'Download file',
+ uploadRetryTitle: 'Feltöltés újból',
+ downloadTitle: 'Fájl letöltése',
zoomTitle: 'Részletek megtekintése',
dragTitle: 'Mozgatás / Átrendezés',
indicatorNewTitle: 'Nem feltöltött',
diff --git a/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/id.js b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/id.js
index 06c416b3..cc2bab23 100644
--- a/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/id.js
+++ b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/id.js
@@ -15,7 +15,7 @@
$.fn.fileinputLocales['id'] = {
fileSingle: 'berkas',
filePlural: 'berkas',
- browseLabel: 'Pilih File &hellip;',
+ browseLabel: 'Pilih berkas &hellip;',
removeLabel: 'Hapus',
removeTitle: 'Hapus berkas terpilih',
cancelLabel: 'Batal',
@@ -25,19 +25,19 @@
msgNo: 'Tidak',
msgNoFilesSelected: '',
msgCancelled: 'Dibatalkan',
- msgPlaceholder: 'Select {files}...',
+ msgPlaceholder: 'Pilih {files}...',
msgZoomModalHeading: 'Pratinjau terperinci',
- msgFileRequired: 'You must select a file to upload.',
- msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
- msgSizeTooLarge: 'Berkas "{name}" (<b>{size} KB</b>) melebihi ukuran upload maksimal yaitu <b>{maxSize} KB</b>.',
+ msgFileRequired: 'Anda harus memilih berkas untuk diunggah.',
+ msgSizeTooSmall: 'Berkas "{name}" (<b>{size} KB</b>) terlalu kecil dan harus lebih besar dari <b>{minSize} KB</b>.',
+ msgSizeTooLarge: 'Berkas "{name}" (<b>{size} KB</b>) melebihi ukuran unggah maksimal yaitu <b>{maxSize} KB</b>.',
msgFilesTooLess: 'Anda harus memilih setidaknya <b>{n}</b> {files} untuk diunggah.',
- msgFilesTooMany: '<b>({n})</b> berkas yang dipilih untuk diunggah melebihi ukuran upload maksimal yaitu <b>{m}</b>.',
+ msgFilesTooMany: '<b>({n})</b> berkas yang dipilih untuk diunggah melebihi ukuran unggah maksimal yaitu <b>{m}</b>.',
msgFileNotFound: 'Berkas "{name}" tak ditemukan!',
msgFileSecured: 'Sistem keamanan mencegah untuk membaca berkas "{name}".',
msgFileNotReadable: 'Berkas "{name}" tak dapat dibaca.',
msgFilePreviewAborted: 'Pratinjau untuk berkas "{name}" dibatalkan.',
msgFilePreviewError: 'Kesalahan saat membaca berkas "{name}".',
- msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
+ msgInvalidFileName: 'Karakter tidak dikenali atau tidak didukung untuk nama berkas "{name}".',
msgInvalidFileType: 'Jenis berkas "{name}" tidak sah. Hanya berkas "{types}" yang didukung.',
msgInvalidFileExtension: 'Ekstensi berkas "{name}" tidak sah. Hanya ekstensi "{extensions}" yang didukung.',
msgFileTypes: {
@@ -50,13 +50,13 @@
'pdf': 'PDF',
'object': 'object'
},
- msgUploadAborted: 'Pengunggahan berkas dibatalkan',
- msgUploadThreshold: 'Processing...',
- msgUploadBegin: 'Initializing...',
- msgUploadEnd: 'Done',
- msgUploadEmpty: 'No valid data available for upload.',
- msgUploadError: 'Error',
- msgValidationError: 'Kesalahan validasi',
+ msgUploadAborted: 'Proses Unggah berkas dibatalkan',
+ msgUploadThreshold: 'Memproses...',
+ msgUploadBegin: 'Menyiapkan...',
+ msgUploadEnd: 'Selesai',
+ msgUploadEmpty: 'Tidak ada data valid yang tersedia untuk diunggah.',
+ msgUploadError: 'Kesalahan',
+ msgValidationError: 'Kesalahan saat memvalidasi',
msgLoading: 'Memuat {index} dari {files} berkas &hellip;',
msgProgress: 'Memuat {index} dari {files} berkas - {name} - {percent}% selesai.',
msgSelected: '{n} {files} dipilih',
@@ -65,37 +65,37 @@
msgImageHeightSmall: 'Tinggi dari gambar "{name}" harus sekurangnya {size} px.',
msgImageWidthLarge: 'Lebar dari gambar "{name}" tak boleh melebihi {size} px.',
msgImageHeightLarge: 'Tinggi dari gambar "{name}" tak boleh melebihi {size} px.',
- msgImageResizeError: 'Tak dapat menentukan dimensi gambar untuk mengubah ukuran.',
+ msgImageResizeError: 'Tidak dapat menentukan dimensi gambar untuk mengubah ukuran.',
msgImageResizeException: 'Kesalahan saat mengubah ukuran gambar.<pre>{errors}</pre>',
- msgAjaxError: 'Something went wrong with the {operation} operation. Please try again later!',
- msgAjaxProgressError: '{operation} failed',
+ msgAjaxError: 'Terjadi kesalahan ketika melakukan operasi {operation}. Silahkan coba lagi nanti!',
+ msgAjaxProgressError: '{operation} gagal',
ajaxOperations: {
- deleteThumb: 'file delete',
- uploadThumb: 'file upload',
- uploadBatch: 'batch file upload',
- uploadExtra: 'form data upload'
+ deleteThumb: 'Hapus berkas',
+ uploadThumb: 'Unggah berkas',
+ uploadBatch: 'Unggah banyak berkas',
+ uploadExtra: 'Unggah form ekstra'
},
dropZoneTitle: 'Tarik dan lepaskan berkas disini &hellip;',
- dropZoneClickTitle: '<br>(or click to select {files})',
+ dropZoneClickTitle: '<br>(atau klik untuk memilih {files})',
fileActionSettings: {
- removeTitle: 'Hapus berkas',
- uploadTitle: 'Unggah berkas',
- uploadRetryTitle: 'Retry upload',
- downloadTitle: 'Download file',
+ removeTitle: 'Hapus Berkas',
+ uploadTitle: 'Unggah Berkas',
+ uploadRetryTitle: 'Unggah Ulang',
+ downloadTitle: 'Unduh Berkas',
zoomTitle: 'Tampilkan Rincian',
- dragTitle: 'Move / Rearrange',
+ dragTitle: 'Pindah atau Atur Ulang',
indicatorNewTitle: 'Belum diunggah',
indicatorSuccessTitle: 'Sudah diunggah',
- indicatorErrorTitle: 'Kesalahan pengunggahan',
+ indicatorErrorTitle: 'Kesalahan dalam mengungah',
indicatorLoadingTitle: 'Mengunggah ...'
},
previewZoomButtonTitles: {
- prev: 'View previous file',
- next: 'View next file',
- toggleheader: 'Toggle header',
- fullscreen: 'Toggle full screen',
- borderless: 'Toggle borderless mode',
- close: 'Close detailed preview'
+ prev: 'Lihat berkas sebelumnya',
+ next: 'Lihat berkas selanjutnya',
+ toggleheader: 'Beralih ke tajuk',
+ fullscreen: 'Beralih ke mode penuh',
+ borderless: 'Beralih ke mode tanpa tepi',
+ close: 'Tutup pratinjau terperinci'
}
};
})(window.jQuery);
diff --git a/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/ko.js b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/ko.js
index 0236124e..0190dd73 100644
--- a/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/ko.js
+++ b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/ko.js
@@ -11,34 +11,34 @@
(function ($) {
"use strict";
- $.fn.fileinputLocales['ko'] = {
+ $.fn.fileinputLocales['kr'] = {
fileSingle: '파일',
filePlural: '파일들',
- browseLabel: '찾기 &hellip;',
+ browseLabel: '찾아보기 &hellip;',
removeLabel: '지우기',
removeTitle: '선택한 파일들 지우기',
cancelLabel: '취소',
- cancelTitle: '업로드 중단하기',
+ cancelTitle: '진행중인 업로드 중단',
uploadLabel: '업로드',
- uploadTitle: '선택한 파일 업로드하기',
+ uploadTitle: '선택한 파일 업로드',
msgNo: '아니요',
- msgNoFilesSelected: '선택한 파일이 없습니다.',
- msgCancelled: '취소되었습니다.',
- msgPlaceholder: 'Select {files}...',
- msgZoomModalHeading: '자세한 미리보기',
- msgFileRequired: 'You must select a file to upload.',
+ msgNoFilesSelected: '선택한 파일이 없습니다',
+ msgCancelled: '취소되었습니다',
+ msgPlaceholder: '{files} 선택...',
+ msgZoomModalHeading: '세부 정보',
+ msgFileRequired: '업로드를 위해 반드시 파일을 선택해야 합니다.',
msgSizeTooSmall: '파일 "{name}" (<b>{size} KB</b>)이 너무 작습니다. <b>{minSize} KB</b>보다 용량이 커야 합니다..',
msgSizeTooLarge: '파일 "{name}" (<b>{size} KB</b>)이 너무 큽니다. 허용 파일 사이즈는 <b>{maxSize} KB</b>.입니다.',
msgFilesTooLess: '업로드하기 위해 최소 <b>{n}</b> {files}개의 파일을 선택해야 합니다.',
msgFilesTooMany: '선택한 파일의 수 <b>({n})</b>가 업로드 허용 최고치인 <b>{m}</b>를 넘었습니다..',
msgFileNotFound: '파일 "{name}"을 찾을 수 없습니다.!',
- msgFileSecured: '보안상의 이유로 파일 "{name}"을/를 읽을 수 없습니다..',
- msgFileNotReadable: '파일 "{name}"은/는 읽을 수 없습니다.',
- msgFilePreviewAborted: '파일 "{name}"의 미리보기가 중단되었습니다.',
- msgFilePreviewError: '파일 "{name}"을/를 읽다가 에러가 발생했습니다.',
- msgInvalidFileName: '파일 "{name}" 중 지원 불가능한 문자가 포함되어 있습니다.',
- msgInvalidFileType: '파일 "{name}"의 타입은 지원하지 않습니다. "{types}" 타입의 파일을 선택해 주십시요.',
- msgInvalidFileExtension: '파일 "{name}"의 익스텐션은 지원하지 않습니다. "{extensions}" 타입의 익스텐션을 선택해 주십시요.',
+ msgFileSecured: '보안상의 이유로 "{name}"을/를 읽을 수 없습니다..',
+ msgFileNotReadable: '"{name}"은/는 읽을 수 없습니다.',
+ msgFilePreviewAborted: '"{name}"의 미리보기가 중단되었습니다.',
+ msgFilePreviewError: '"{name}"을/를 읽는 도중 에러가 발생했습니다.',
+ msgInvalidFileName: '파일 이름 "{name}" 중 지원 불가능한 문자가 포함되어 있습니다.',
+ msgInvalidFileType: '"{name}"의 타입은 지원하지 않습니다. "{types}" 타입의 파일을 선택해 주십시요.',
+ msgInvalidFileExtension: '"{name}"의 확장자는 지원하지 않습니다. "{extensions}" 확장자를 선택해 주십시요.',
msgFileTypes: {
'image': 'image',
'html': 'HTML',
@@ -49,24 +49,24 @@
'pdf': 'PDF',
'object': 'object'
},
- msgUploadAborted: '파일 업로드가 중단되었습니다.',
- msgUploadThreshold: '업로드 중...',
- msgUploadBegin: 'Initializing...',
- msgUploadEnd: 'Done',
- msgUploadEmpty: '업로드 가능 데이터가 존재하지 않습니다.',
- msgUploadError: 'Error',
+ msgUploadAborted: '파일 업로드가 중단되었습니다',
+ msgUploadThreshold: '처리하는 중...',
+ msgUploadBegin: '초기화 중...',
+ msgUploadEnd: '완료',
+ msgUploadEmpty: '업로드 가능한 데이터가 존재하지 않습니다.',
+ msgUploadError: '오류',
msgValidationError: '유효성 오류',
- msgLoading: '파일 {files} 중 {index}번째를 로딩하고 있습니다. &hellip;',
- msgProgress: '파일 {files}의 {name}이 {percent}% 로딩되었습니다. ',
+ msgLoading: '{index}/{files}번째 파일을 불러오는 중입니다. &hellip;',
+ msgProgress: '{index}/{files} - {name} - {percent}% 불러오기 완료.',
msgSelected: '{n} {files}이 선택 되었습니다.',
- msgFoldersNotAllowed: '드래그 앤 드랍 파일만 가능합니다! 드랍한 {n}번째 폴더를 건너 뛰었습니다.',
- msgImageWidthSmall: '이미지 파일 "{name}"의 가로는 최소 {size} px가 되어야 합니다.',
- msgImageHeightSmall: '이미지 파일 "{name}"의 세로는 최소 {size} px가 되어야 합니다.',
- msgImageWidthLarge: '이미지 파일 "{name}"의 가로는 최대 {size} px를 넘을수 없습니다.',
- msgImageHeightLarge: '이미지 파일 "{name}"의 세로는 최대 {size} px를 넘을수 없습니다.',
- msgImageResizeError: '이미지의 사이즈를 재조정을 위한 이미지 사이즈를 가져올 수 없습니다.',
+ msgFoldersNotAllowed: '파일만 마우스로 끌어올 수 있습니다! 끌어온 폴더는 건너뜁니다.',
+ msgImageWidthSmall: '"{name}"의 가로는 {size} px 보다 넓어야 합니다.',
+ msgImageHeightSmall: '"{name}"의 세로는 {size} px 보다 높아야 합니다.',
+ msgImageWidthLarge: '"{name}"의 가로는 {size} px를 넘을 수 없습니다.',
+ msgImageHeightLarge: '"{name}"의 세로는 {size} px를 넘을 수 없습니다.',
+ msgImageResizeError: '이미지의 치수를 가져올 수 없습니다',
msgImageResizeException: '이미지 사이즈 재조정이 다음 이유로 실패했습니다.<pre>{errors}</pre>',
- msgAjaxError: 'Something went wrong with the {operation} operation. Please try again later!',
+ msgAjaxError: '{operation} 실행 도중 실패했습니다. 잠시 후 다시 시도해 주세요!',
msgAjaxProgressError: '{operation} failed',
ajaxOperations: {
deleteThumb: 'file delete',
@@ -74,27 +74,27 @@
uploadBatch: 'batch file upload',
uploadExtra: 'form data upload'
},
- dropZoneTitle: '파일을 여기에 드래그인 드랍을 하십시요 &hellip;',
+ dropZoneTitle: '마우스로 파일을 끌어오세요 &hellip;',
dropZoneClickTitle: '<br>(또는 {files} 선택을 위해 클릭하십시요)',
fileActionSettings: {
removeTitle: '파일 지우기',
- uploadTitle: '파일 업로드 하기',
- uploadRetryTitle: 'Retry upload',
- downloadTitle: 'Download file',
+ uploadTitle: '파일 업로드',
+ uploadRetryTitle: '업로드 재시도',
+ downloadTitle: '파일 다운로드',
zoomTitle: '세부 정보 보기',
- dragTitle: '옭기기 / 재배열하기',
- indicatorNewTitle: '아직 업로드가 안되었습니다.',
- indicatorSuccessTitle: '업로드가 성공하였습니다.',
- indicatorErrorTitle: '업로드 중 에러가 발행했습니다.',
+ dragTitle: '옮기기 / 재배열하기',
+ indicatorNewTitle: '아직 업로드 되지 않았습니다',
+ indicatorSuccessTitle: '업로드 성공',
+ indicatorErrorTitle: '업로드 중 에러 발생',
indicatorLoadingTitle: '업로드 중 ...'
},
previewZoomButtonTitles: {
- prev: '전 파일 보기',
- next: '다음 파일 보기',
- toggleheader: '머릿글 토글하기',
- fullscreen: '전채화면 토글하기',
- borderless: '무 테두리 토글하기',
- close: '세부 정보 미리보기 토글하기'
+ prev: '이전 파일',
+ next: '다음 파일',
+ toggleheader: '머릿글 토글',
+ fullscreen: '전체화면 토글',
+ borderless: '창 테두리 토글',
+ close: '세부 정보 닫기'
}
};
})(window.jQuery);
diff --git a/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/nl.js b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/nl.js
index eb83d50e..df3f3dc4 100644
--- a/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/nl.js
+++ b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/nl.js
@@ -24,7 +24,7 @@
msgNo: 'Nee',
msgNoFilesSelected: '',
msgCancelled: 'Geannuleerd',
- msgPlaceholder: 'Select {files}...',
+ msgPlaceholder: 'Selecteer {files}...',
msgZoomModalHeading: 'Gedetailleerd voorbeeld',
msgFileRequired: 'U moet een bestand kiezen om te uploaden.',
msgSizeTooSmall: 'Bestand "{name}" (<b>{size} KB</b>) is te klein en moet groter zijn dan <b>{minSize} KB</b>.',
@@ -79,10 +79,10 @@
fileActionSettings: {
removeTitle: 'Verwijder bestand',
uploadTitle: 'bestand uploaden',
- uploadRetryTitle: 'Retry upload',
+ uploadRetryTitle: 'Opnieuw uploaden',
downloadTitle: 'Download file',
zoomTitle: 'Bekijk details',
- dragTitle: 'Move / Rearrange',
+ dragTitle: 'Verplaatsen / herindelen',
indicatorNewTitle: 'Nog niet geupload',
indicatorSuccessTitle: 'geupload',
indicatorErrorTitle: 'fout uploaden',
@@ -92,9 +92,9 @@
prev: 'Toon vorig bestand',
next: 'Toon volgend bestand',
toggleheader: 'Toggle header',
- fullscreen: 'Toggle full screen',
- borderless: 'Toggle borderless mode',
- close: 'Close detailed preview'
+ fullscreen: 'Toggle volledig scherm',
+ borderless: 'Toggle randloze modus',
+ close: 'Sluit gedetailleerde weergave'
}
};
})(window.jQuery);
diff --git a/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/tr.js b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/tr.js
index ff4d9555..1fe6a383 100644
--- a/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/tr.js
+++ b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/tr.js
@@ -24,7 +24,7 @@
msgNo: 'Hayır',
msgNoFilesSelected: '',
msgCancelled: 'İptal edildi',
- msgPlaceholder: 'Select {files}...',
+ msgPlaceholder: 'Seçilen {files}...',
msgZoomModalHeading: 'Detaylı Önizleme',
msgFileRequired: 'Yüklemek için bir dosya seçmelisiniz.',
msgSizeTooSmall: '"{name}"(<b>{size} KB</b>) dosyası çok küçük ve <b>{minSize} KB</b> boyutundan büyük olmalıdır.',
@@ -54,7 +54,7 @@
msgUploadBegin: 'Başlıyor...',
msgUploadEnd: 'Başarılı',
msgUploadEmpty: 'Yüklemek için geçerli veri mevcut değil.',
- msgUploadError: 'Error',
+ msgUploadError: 'Hata',
msgValidationError: 'Doğrulama Hatası',
msgLoading: 'Dosya yükleniyor {index} / {files} &hellip;',
msgProgress: 'Dosya yükleniyor {index} / {files} - {name} - %{percent} tamamlandı.',
diff --git a/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/uk.js b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/uk.js
index 99294f19..d1b7f3a1 100644
--- a/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/uk.js
+++ b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/uk.js
@@ -19,25 +19,25 @@
removeLabel: 'Видалити',
removeTitle: 'Видалити вибрані файли',
cancelLabel: 'Скасувати',
- cancelTitle: 'Скасувати поточну загрузку',
- uploadLabel: 'Загрузити',
- uploadTitle: 'Загрузити вибрані файли',
+ cancelTitle: 'Скасувати поточне відвантаження',
+ uploadLabel: 'Відвантажити',
+ uploadTitle: 'Відвантажити обрані файли',
msgNo: 'Немає',
msgNoFilesSelected: '',
msgCancelled: 'Cкасовано',
- msgPlaceholder: 'Select {files}...',
+ msgPlaceholder: 'Оберіть {files}...',
msgZoomModalHeading: 'Детальний превью',
- msgFileRequired: 'You must select a file to upload.',
- msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
+ msgFileRequired: 'Ви повинні обрати файл для завантаження.',
+ msgSizeTooSmall: 'Файл "{name}" (<b>{size} KB</b>) занадто малий і повинен бути більший, ніж <b>{minSize} KB</b>.',
msgSizeTooLarge: 'Файл "{name}" (<b>{size} KB</b>) перевищує максимальний розмір <b>{maxSize} KB</b>.',
- msgFilesTooLess: 'Ви повинні вибрати як мінімум <b>{n}</b> {files} для загрузки.',
- msgFilesTooMany: 'Кількість вибраних файлів <b>({n})</b> перевищує максимально допустиму кількість <b>{m}</b>.',
+ msgFilesTooLess: 'Ви повинні обрати як мінімум <b>{n}</b> {files} для відвантаження.',
+ msgFilesTooMany: 'Кількість обраних файлів <b>({n})</b> перевищує максимально допустиму кількість <b>{m}</b>.',
msgFileNotFound: 'Файл "{name}" не знайдено!',
msgFileSecured: 'Обмеження безпеки перешкоджають читанню файла "{name}".',
msgFileNotReadable: 'Файл "{name}" неможливо прочитати.',
msgFilePreviewAborted: 'Перегляд скасований для файла "{name}".',
msgFilePreviewError: 'Сталася помилка під час читання файла "{name}".',
- msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
+ msgInvalidFileName: 'Недійсні чи непідтримувані символи в імені файлу "{name}".',
msgInvalidFileType: 'Заборонений тип файла для "{name}". Тільки "{types}" дозволені.',
msgInvalidFileExtension: 'Заборонене розширення для файла "{name}". Тільки "{extensions}" дозволені.',
msgFileTypes: {
@@ -51,15 +51,15 @@
'object': 'object'
},
msgUploadAborted: 'Вивантаження файлу перервана',
- msgUploadThreshold: 'Processing...',
- msgUploadBegin: 'Initializing...',
- msgUploadEnd: 'Done',
- msgUploadEmpty: 'No valid data available for upload.',
- msgUploadError: 'Error',
+ msgUploadThreshold: 'Обробка...',
+ msgUploadBegin: 'Ініціалізація...',
+ msgUploadEnd: 'Готово',
+ msgUploadEmpty: 'Немає доступних даних для відвантаження.',
+ msgUploadError: 'Помилка',
msgValidationError: 'Помилка перевірки',
- msgLoading: 'Загрузка файла {index} із {files} &hellip;',
- msgProgress: 'Загрузка файла {index} із {files} - {name} - {percent}% завершено.',
- msgSelected: '{n} {files} вибрано',
+ msgLoading: 'Відвантаження файла {index} із {files} &hellip;',
+ msgProgress: 'Відвантаження файла {index} із {files} - {name} - {percent}% завершено.',
+ msgSelected: '{n} {files} обрано',
msgFoldersNotAllowed: 'Дозволено перетягувати тільки файли! Пропущено {n} папок.',
msgImageWidthSmall: 'Ширина зображення "{name}" повинна бути не менше {size} px.',
msgImageHeightSmall: 'Висота зображення "{name}" повинна бути не менше {size} px.',
@@ -67,35 +67,35 @@
msgImageHeightLarge: 'Висота зображення "{name}" не може перевищувати {size} px.',
msgImageResizeError: 'Не вдалося розміри зображення, щоб змінити розмір.',
msgImageResizeException: 'Помилка при зміні розміру зображення.<pre>{errors}</pre>',
- msgAjaxError: 'Something went wrong with the {operation} operation. Please try again later!',
- msgAjaxProgressError: '{operation} failed',
+ msgAjaxError: 'Щось не так із операцією {operation}. Будь ласка, спробуйте пізніше!',
+ msgAjaxProgressError: 'помилка {operation}',
ajaxOperations: {
- deleteThumb: 'file delete',
- uploadThumb: 'file upload',
+ deleteThumb: 'видалити файл',
+ uploadThumb: 'відвантажити файл',
uploadBatch: 'batch file upload',
uploadExtra: 'form data upload'
},
dropZoneTitle: 'Перетягніть файли сюди &hellip;',
- dropZoneClickTitle: '<br>(or click to select {files})',
+ dropZoneClickTitle: '<br>(або клацність та оберіть {files})',
fileActionSettings: {
removeTitle: 'Видалити файл',
- uploadTitle: 'Загрузити файл',
- uploadRetryTitle: 'Retry upload',
- downloadTitle: 'Download file',
+ uploadTitle: 'Відвантажити файл',
+ uploadRetryTitle: 'Повторити відвантаження',
+ downloadTitle: 'Завантажити файл',
zoomTitle: 'Подивитися деталі',
- dragTitle: 'Move / Rearrange',
- indicatorNewTitle: 'Ще не загружено',
- indicatorSuccessTitle: 'Загружено',
- indicatorErrorTitle: 'Помилка при загрузці',
- indicatorLoadingTitle: 'Загрузка ...'
+ dragTitle: 'Перенести / Переставити',
+ indicatorNewTitle: 'Ще не відвантажено',
+ indicatorSuccessTitle: 'Відвантажено',
+ indicatorErrorTitle: 'Помилка при відвантаженні',
+ indicatorLoadingTitle: 'Завантаження ...'
},
previewZoomButtonTitles: {
- prev: 'View previous file',
- next: 'View next file',
- toggleheader: 'Toggle header',
- fullscreen: 'Toggle full screen',
- borderless: 'Toggle borderless mode',
- close: 'Close detailed preview'
+ prev: 'Переглянути попередній файл',
+ next: 'Переглянути наступний файл',
+ toggleheader: 'Перемкнути заголовок',
+ fullscreen: 'Перемкнути повноекранний режим',
+ borderless: 'Перемкнути режим без полів',
+ close: 'Закрити детальний перегляд'
}
};
})(window.jQuery);
diff --git a/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/uz.js b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/uz.js
new file mode 100644
index 00000000..c2c57168
--- /dev/null
+++ b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/uz.js
@@ -0,0 +1,101 @@
+/*!
+ * FileInput Uzbek Translations
+ *
+ * This file must be loaded after 'fileinput.js'. Patterns in braces '{}', or
+ * any HTML markup tags in the messages must not be converted or translated.
+ *
+ * @see http://github.com/kartik-v/bootstrap-fileinput
+ * @author CyanoFresh <cyanofresh@gmail.com>
+ *
+ * NOTE: this file must be saved in UTF-8 encoding.
+ */
+(function ($) {
+ "use strict";
+
+ $.fn.fileinputLocales.uz = {
+ fileSingle: 'fayl',
+ filePlural: 'fayllar',
+ browseLabel: 'Tanlash &hellip;',
+ removeLabel: 'O\'chirish',
+ removeTitle: 'Tanlangan fayllarni tozalash',
+ cancelLabel: 'Bekor qilish',
+ cancelTitle: 'Joriy yuklab olishni bekor qilish',
+ uploadLabel: 'Yuklab olish',
+ uploadTitle: 'Tanlangan fayllarni yuklash',
+ msgNo: 'No',
+ msgNoFilesSelected: 'No files selected',
+ msgCancelled: 'Cancelled',
+ msgPlaceholder: 'Select {files}...',
+ msgZoomModalHeading: 'Detailed Preview',
+ msgFileRequired: 'You must select a file to upload.',
+ msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
+ msgSizeTooLarge: '"{name}" fayl (<b>{size} KB</b>) ruxsat etilgan maksimal yuklash hajmidan <b>{maxSize} KB</b> ortiq. Yuklashni qayta urinib ko\'ring!',
+ msgFilesTooLess: 'Yuklash uchun kamida <b>{n}</b> {files} tanlashingiz kerak. Yuklashni qayta urinib ko\'ring!',
+ msgFilesTooMany: 'Tanlangan fayllar <b>({n})</b> ruxsat etilgan maksimal yuklash hajmidan <b>{m}</b> ortiq. Yuklashni qayta urinib ko\'ring!',
+ msgFileNotFound: '"{name}" fayl topilmaydi!',
+ msgFileSecured: 'Security restrictions prevent reading the file "{name}".',
+ msgFileNotReadable: '"{name}" fayl o\'qilmaydi.',
+ msgFilePreviewAborted: '"{name}" Ffylni oldindan ko\'rish jarayoni to\'xtatildi.',
+ msgFilePreviewError: '"{name}" faylni o\'qish paytida xatolik yuz berdi.',
+ msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
+ msgInvalidFileType: '"{name}" fayl uchun yaroqsiz tur. Faqat "{types}" fayllari qo\'llab-quvvatlanadi.',
+ msgInvalidFileExtension: '"{name}" fayl uchun noto\'g\'ri kengaytma. Faqat "{extensions}" fayllari qo\'llab-quvvatlanadi.',
+ msgFileTypes: {
+ 'image': 'image',
+ 'html': 'HTML',
+ 'text': 'text',
+ 'video': 'video',
+ 'audio': 'audio',
+ 'flash': 'flash',
+ 'pdf': 'PDF',
+ 'object': 'object'
+ },
+ msgUploadAborted: 'The file upload was aborted',
+ msgUploadThreshold: 'Processing...',
+ msgUploadBegin: 'Initializing...',
+ msgUploadEnd: 'Done',
+ msgUploadEmpty: 'No valid data available for upload.',
+ msgUploadError: 'Error',
+ msgValidationError: 'Fayl yuklash xatosi',
+ msgLoading: '{Files} dan {index} faylini yuklash &hellip;',
+ msgProgress: '{Files} dan {index}{name} faylini yuklashi - {percent}% tugallandi.',
+ msgSelected: '{n} {files} tanlangan',
+ msgFoldersNotAllowed: 'Faqat tortib qo\'yiladon fayllar! {n} o\'tirilgan tashlangan papka(lar).',
+ msgImageWidthSmall: 'Width of image file "{name}" must be at least {size} px.',
+ msgImageHeightSmall: 'Height of image file "{name}" must be at least {size} px.',
+ msgImageWidthLarge: 'Width of image file "{name}" cannot exceed {size} px.',
+ msgImageHeightLarge: 'Height of image file "{name}" cannot exceed {size} px.',
+ msgImageResizeError: 'Could not get the image dimensions to resize.',
+ msgImageResizeException: 'Error while resizing the image.<pre>{errors}</pre>',
+ msgAjaxError: 'Something went wrong with the {operation} operation. Please try again later!',
+ msgAjaxProgressError: '{operation} failed',
+ ajaxOperations: {
+ deleteThumb: 'file delete',
+ uploadThumb: 'file upload',
+ uploadBatch: 'batch file upload',
+ uploadExtra: 'form data upload'
+ },
+ dropZoneTitle: 'Fayllarni bu yerga tortib qo\'ying &hellip;',
+ dropZoneClickTitle: '<br>(or click to select {files})',
+ fileActionSettings: {
+ removeTitle: 'Remove file',
+ uploadTitle: 'Upload file',
+ uploadRetryTitle: 'Retry upload',
+ downloadTitle: 'Download file',
+ zoomTitle: 'View details',
+ dragTitle: 'Move / Rearrange',
+ indicatorNewTitle: 'Not uploaded yet',
+ indicatorSuccessTitle: 'Uploaded',
+ indicatorErrorTitle: 'Upload Error',
+ indicatorLoadingTitle: 'Uploading ...'
+ },
+ previewZoomButtonTitles: {
+ prev: 'View previous file',
+ next: 'View next file',
+ toggleheader: 'Toggle header',
+ fullscreen: 'Toggle full screen',
+ borderless: 'Toggle borderless mode',
+ close: 'Close detailed preview'
+ }
+ };
+})(window.jQuery);
diff --git a/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/zh-TW.js b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/zh-TW.js
index 3f7986a9..49f7710f 100644
--- a/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/zh-TW.js
+++ b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/zh-TW.js
@@ -23,13 +23,13 @@
uploadLabel: '上傳',
uploadTitle: '上傳選取檔案',
msgNo: '沒有',
- msgNoFilesSelected: '',
+ msgNoFilesSelected: '未選擇檔案',
msgCancelled: '取消',
zoomTitle: '詳細資料',
- msgPlaceholder: 'Select {files}...',
+ msgPlaceholder: '選擇 {files}...',
msgZoomModalHeading: '內容預覽',
- msgFileRequired: 'You must select a file to upload.',
- msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
+ msgFileRequired: '必須選擇壹個文件上傳.',
+ msgSizeTooSmall: '檔案 "{name}" (<b>{size} KB</b>) 必須大於限定大小 <b>{minSize} KB</b>.',
msgSizeTooLarge: '檔案 "{name}" (<b>{size} KB</b>) 大小超過上限 <b>{maxSize} KB</b>.',
msgFilesTooLess: '最少必須選擇 <b>{n}</b> {files} 來上傳. ',
msgFilesTooMany: '上傳的檔案數量 <b>({n})</b> 超過最大檔案上傳限制 <b>{m}</b>.',
@@ -38,7 +38,7 @@
msgFileNotReadable: '文件 "{name}" 不可讀取.',
msgFilePreviewAborted: '檔案 "{name}" 預覽中止.',
msgFilePreviewError: '讀取 "{name}" 發生錯誤.',
- msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
+ msgInvalidFileName: '附檔名 "{name}" 包含非法字符.',
msgInvalidFileType: '檔案類型錯誤 "{name}". 只能使用 "{types}" 類型的檔案.',
msgInvalidFileExtension: '附檔名錯誤 "{name}". 只能使用 "{extensions}" 的檔案.',
msgFileTypes: {
@@ -52,11 +52,11 @@
'object': 'object'
},
msgUploadAborted: '該文件上傳被中止',
- msgUploadThreshold: 'Processing...',
- msgUploadBegin: 'Initializing...',
- msgUploadEnd: 'Done',
- msgUploadEmpty: 'No valid data available for upload.',
- msgUploadError: 'Error',
+ msgUploadThreshold: '處理中...',
+ msgUploadBegin: '正在初始化...',
+ msgUploadEnd: '完成',
+ msgUploadEmpty: '無效的文件上傳.',
+ msgUploadError: '上傳錯誤',
msgValidationError: '驗證錯誤',
msgLoading: '載入第 {index} 個檔案,共 {files} &hellip;',
msgProgress: '載入第 {index} 個檔案,共 {files} - {name} - {percent}% 成功.',
@@ -68,8 +68,8 @@
msgImageHeightLarge: '圖檔高度"{name}"不能超過{size}像素(px).',
msgImageResizeError: '無法獲取的圖像尺寸調整。',
msgImageResizeException: '錯誤而調整圖像大小。<pre>{errors}</pre>',
- msgAjaxError: 'Something went wrong with the {operation} operation. Please try again later!',
- msgAjaxProgressError: '{operation} failed',
+ msgAjaxError: '{operation} 發生錯誤. 請重試!',
+ msgAjaxProgressError: '{operation} 失敗',
ajaxOperations: {
deleteThumb: 'file delete',
uploadThumb: 'file upload',
@@ -77,26 +77,26 @@
uploadExtra: 'form data upload'
},
dropZoneTitle: '拖曳檔案至此 &hellip;',
- dropZoneClickTitle: '<br>(or click to select {files})',
+ dropZoneClickTitle: '<br>(或點擊{files}按鈕選擇文件)',
fileActionSettings: {
removeTitle: '刪除檔案',
uploadTitle: '上傳檔案',
- uploadRetryTitle: 'Retry upload',
- downloadTitle: 'Download file',
+ uploadRetryTitle: '重試',
+ downloadTitle: '下載檔案',
zoomTitle: '詳細資料',
- dragTitle: 'Move / Rearrange',
+ dragTitle: '移動 / 重置',
indicatorNewTitle: '尚未上傳',
indicatorSuccessTitle: '上傳成功',
indicatorErrorTitle: '上傳失敗',
indicatorLoadingTitle: '上傳中 ...'
},
previewZoomButtonTitles: {
- prev: 'View previous file',
- next: 'View next file',
- toggleheader: 'Toggle header',
- fullscreen: 'Toggle full screen',
- borderless: 'Toggle borderless mode',
- close: 'Close detailed preview'
+ prev: '預覽上壹個文件',
+ next: '預覽下壹個文件',
+ toggleheader: '縮放',
+ fullscreen: '全屏',
+ borderless: '無邊界模式',
+ close: '關閉當前預覽'
}
};
})(window.jQuery);
diff --git a/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/zh.js b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/zh.js
index 0e2ed3a5..469fa380 100644
--- a/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/zh.js
+++ b/kvision-modules/kvision-upload/src/main/resources/js/locales/bootstrap-fileinput/zh.js
@@ -23,9 +23,9 @@
uploadLabel: '上传',
uploadTitle: '上传选中文件',
msgNo: '没有',
- msgNoFilesSelected: '',
+ msgNoFilesSelected: '未选择文件',
msgCancelled: '取消',
- msgPlaceholder: 'Select {files}...',
+ msgPlaceholder: '选择 {files}...',
msgZoomModalHeading: '详细预览',
msgFileRequired: '必须选择一个文件上传.',
msgSizeTooSmall: '文件 "{name}" (<b>{size} KB</b>) 必须大于限定大小 <b>{minSize} KB</b>.',
@@ -55,7 +55,7 @@
msgUploadBegin: '正在初始化...',
msgUploadEnd: '完成',
msgUploadEmpty: '无效的文件上传.',
- msgUploadError: 'Error',
+ msgUploadError: '上传出错',
msgValidationError: '验证错误',
msgLoading: '加载第 {index} 文件 共 {files} &hellip;',
msgProgress: '加载第 {index} 文件 共 {files} - {name} - {percent}% 完成.',
@@ -80,7 +80,8 @@
fileActionSettings: {
removeTitle: '删除文件',
uploadTitle: '上传文件',
- uploadRetryTitle: 'Retry upload',
+ downloadTitle: '下载文件',
+ uploadRetryTitle: '重试',
zoomTitle: '查看详情',
dragTitle: '移动 / 重置',
indicatorNewTitle: '没有上传',
diff --git a/src/main/resources/css/style.css b/src/main/resources/css/style.css
index 691d252c..2435d188 100644
--- a/src/main/resources/css/style.css
+++ b/src/main/resources/css/style.css
@@ -140,3 +140,7 @@ ul.dropdown-menu li a {
padding-left: 0;
padding-right: 0;
}
+
+.kv-preview-thumb .btn, .kv-zoom-actions .btn, .file-zoom-dialog .floating-buttons .btn {
+ padding: 5px 8px;
+}