Ver código fonte

Updates to release v4.3.6

Kartik Visweswaran 8 anos atrás
pai
commit
5edbd4db75

+ 18 - 0
CHANGE.md

@@ -1,6 +1,24 @@
 Change Log: `bootstrap-fileinput`
 Change Log: `bootstrap-fileinput`
 =================================
 =================================
 
 
+## version 4.3.6
+
+**Date:** 31-Oct-2016
+
+1. (enh #696): Better default preview zoom settings.
+2. (enh #764): Update Russian Translations.
+3. (enh #771): Update Chinese Translations.
+4. (enh #769, #785, #786, #787): Better image resized event handling.
+5. (enh #779, #789): More correct thumbnail identification post rearrange.
+6. (enh #782): New validation for invalid slug file name (caption):
+   - if slug callback returns an empty string, then an error will be thrown using `msgInvalidFileName`.
+   - if slug callback returns `false` then the next file will be read and current file skipped.
+7. (enh #788): New validation for minimum file size:
+   - new property `minFileSize` which validates the minimum file size in KB for upload, else throws
+     a validation error using `msgSizeTooSmall`. This defaults to `0`.
+   - if `minFileSize` is set to `null`, then above validation is skipped and no minimum file size 
+     check is performed.
+
 ## version 4.3.5
 ## version 4.3.5
 
 
 **Date:** 20-Sep-2016
 **Date:** 20-Sep-2016

+ 1 - 1
README.md

@@ -11,7 +11,7 @@ An enhanced HTML 5 file input for Bootstrap 3.x with file preview for various fi
 
 
 ![File Input Screenshot](https://lh3.googleusercontent.com/-3FiEmc_okc4/VBw_d2LBAJI/AAAAAAAAAL8/KbVj5X9Dus0/w596-h454-no/FileInput.jpg)
 ![File Input Screenshot](https://lh3.googleusercontent.com/-3FiEmc_okc4/VBw_d2LBAJI/AAAAAAAAAL8/KbVj5X9Dus0/w596-h454-no/FileInput.jpg)
 
 
-> NOTE: The latest version of the plugin is v4.3.5. Refer the [CHANGE LOG](https://github.com/kartik-v/bootstrap-fileinput/blob/master/CHANGE.md) for details. 
+> NOTE: The latest version of the plugin is v4.3.6. Refer the [CHANGE LOG](https://github.com/kartik-v/bootstrap-fileinput/blob/master/CHANGE.md) for details. 
 
 
 ## Documentation and Demo
 ## Documentation and Demo
 
 

+ 1 - 1
bower.json

@@ -1,6 +1,6 @@
 {
 {
     "name": "bootstrap-fileinput",
     "name": "bootstrap-fileinput",
-    "version": "4.3.5",
+    "version": "4.3.6",
     "homepage": "https://github.com/kartik-v/bootstrap-fileinput",
     "homepage": "https://github.com/kartik-v/bootstrap-fileinput",
     "authors": [
     "authors": [
         "Kartik Visweswaran <[email protected]>"
         "Kartik Visweswaran <[email protected]>"

+ 2 - 1
css/fileinput.css

@@ -1,5 +1,5 @@
 /*!
 /*!
- * bootstrap-fileinput v4.3.5
+ * bootstrap-fileinput v4.3.6
  * http://plugins.krajee.com/file-input
  * http://plugins.krajee.com/file-input
  *
  *
  * Author: Kartik Visweswaran
  * Author: Kartik Visweswaran
@@ -109,6 +109,7 @@
 
 
 .file-preview-image {
 .file-preview-image {
     vertical-align: middle;
     vertical-align: middle;
+    image-orientation: from-image;
 }
 }
 
 
 .file-preview-text {
 .file-preview-text {

Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 1
css/fileinput.min.css


+ 1 - 1
examples/index.html

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
 <!DOCTYPE html>
-<!-- release v4.3.5, copyright 2014 - 2016 Kartik Visweswaran -->
+<!-- release v4.3.6, copyright 2014 - 2016 Kartik Visweswaran -->
 <html lang="en">
 <html lang="en">
     <head>
     <head>
         <meta charset="UTF-8"/>
         <meta charset="UTF-8"/>

+ 30 - 13
js/fileinput.js

@@ -1,5 +1,5 @@
 /*!
 /*!
- * bootstrap-fileinput v4.3.5
+ * bootstrap-fileinput v4.3.6
  * http://plugins.krajee.com/file-input
  * http://plugins.krajee.com/file-input
  *
  *
  * Author: Kartik Visweswaran
  * Author: Kartik Visweswaran
@@ -460,7 +460,7 @@
         other: {width: "160px", height: "160px"}
         other: {width: "160px", height: "160px"}
     };
     };
     defaultPreviewZoomSettings = {
     defaultPreviewZoomSettings = {
-        image: {width: "100%", height: "100%"},
+        image: {width: "auto", height: "auto", 'max-width': "100%",'max-height': "100%"},
         html: {width: "100%", height: "100%", 'min-height': "480px"},
         html: {width: "100%", height: "100%", 'min-height': "480px"},
         text: {width: "100%", height: "100%", 'min-height': "480px"},
         text: {width: "100%", height: "100%", 'min-height': "480px"},
         video: {width: "auto", height: "100%", 'max-width': "100%"},
         video: {width: "auto", height: "100%", 'max-width': "100%"},
@@ -2167,10 +2167,10 @@
                     self._previewDefault(file, previewId, true);
                     self._previewDefault(file, previewId, true);
                     if (self.isUploadable) {
                     if (self.isUploadable) {
                         self.addToStack(undefined);
                         self.addToStack(undefined);
+                        setTimeout(function () {
+                            readFile(index + 1);
+                        }, 100);
                     }
                     }
-                    setTimeout(function () {
-                        readFile(index + 1);
-                    }, 100);
                     self._initFileActions();
                     self._initFileActions();
                     if (self.removeFromPreviewOnError) {
                     if (self.removeFromPreviewOnError) {
                         $('#' + previewId).remove();
                         $('#' + previewId).remove();
@@ -2201,22 +2201,37 @@
                     $status.html('');
                     $status.html('');
                     return;
                     return;
                 }
                 }
-                var node = ctr + i, previewId = previewInitId + "-" + node, isText, isImage, file = files[i],
+                var node = ctr + i, previewId = previewInitId + "-" + node, isText, isImage, file = files[i], fSizeKB,
                     caption = file.name ? self.slug(file.name) : '', fileSize = (file.size || 0) / 1000, checkFile,
                     caption = file.name ? self.slug(file.name) : '', fileSize = (file.size || 0) / 1000, checkFile,
                     fileExtExpr = '', previewData = objUrl.createObjectURL(file), fileCount = 0, j, msg, typ, chk,
                     fileExtExpr = '', previewData = objUrl.createObjectURL(file), fileCount = 0, j, msg, typ, chk,
                     fileTypes = self.allowedFileTypes, strTypes = isEmpty(fileTypes) ? '' : fileTypes.join(', '),
                     fileTypes = self.allowedFileTypes, strTypes = isEmpty(fileTypes) ? '' : fileTypes.join(', '),
                     fileExt = self.allowedFileExtensions, strExt = isEmpty(fileExt) ? '' : fileExt.join(', ');
                     fileExt = self.allowedFileExtensions, strExt = isEmpty(fileExt) ? '' : fileExt.join(', ');
+
+                if (caption === false) {
+                    readFile(i + 1);
+                    return;
+                }
+                if (caption.length === 0) {
+                    msg = self.msgInvalidFileName.replace('{name}', htmlEncode(file.name));
+                    self.isError = throwError(msg, file, previewId, i);
+                    return;
+                }
                 if (!isEmpty(fileExt)) {
                 if (!isEmpty(fileExt)) {
                     fileExtExpr = new RegExp('\\.(' + fileExt.join('|') + ')$', 'i');
                     fileExtExpr = new RegExp('\\.(' + fileExt.join('|') + ')$', 'i');
                 }
                 }
-                fileSize = fileSize.toFixed(2);
+                fSizeKB = fileSize.toFixed(2);
                 if (self.maxFileSize > 0 && fileSize > self.maxFileSize) {
                 if (self.maxFileSize > 0 && fileSize > self.maxFileSize) {
-                    msg = self.msgSizeTooLarge.replace('{name}', caption)
-                        .replace('{size}', fileSize)
+                    msg = self.msgSizeTooLarge.replace('{name}', caption).replace('{size}', fSizeKB)
                         .replace('{maxSize}', self.maxFileSize);
                         .replace('{maxSize}', self.maxFileSize);
                     self.isError = throwError(msg, file, previewId, i);
                     self.isError = throwError(msg, file, previewId, i);
                     return;
                     return;
                 }
                 }
+                if (self.minFileSize !== null && fileSize <= getNum(self.minFileSize)) {
+                    msg = self.msgSizeTooSmall.replace('{name}', caption).replace('{size}', fSizeKB)
+                        .replace('{minSize}', self.minFileSize);
+                    self.isError = throwError(msg, file, previewId, i);
+                    return;
+                }
                 if (!isEmpty(fileTypes) && isArray(fileTypes)) {
                 if (!isEmpty(fileTypes) && isArray(fileTypes)) {
                     for (j = 0; j < fileTypes.length; j += 1) {
                     for (j = 0; j < fileTypes.length; j += 1) {
                         typ = fileTypes[j];
                         typ = fileTypes[j];
@@ -2234,8 +2249,7 @@
                     chk = compare(caption, fileExtExpr);
                     chk = compare(caption, fileExtExpr);
                     fileCount += isEmpty(chk) ? 0 : chk.length;
                     fileCount += isEmpty(chk) ? 0 : chk.length;
                     if (fileCount === 0) {
                     if (fileCount === 0) {
-                        msg = self.msgInvalidFileExtension.replace('{name}', caption).replace('{extensions}',
-                            strExt);
+                        msg = self.msgInvalidFileExtension.replace('{name}', caption).replace('{extensions}', strExt);
                         self.isError = throwError(msg, file, previewId, i);
                         self.isError = throwError(msg, file, previewId, i);
                         return;
                         return;
                     }
                     }
@@ -2546,7 +2560,7 @@
                     self._raise('fileimageresized', [pid, ind]);
                     self._raise('fileimageresized', [pid, ind]);
                     counter.val++;
                     counter.val++;
                     if (counter.val === num_imgs) {
                     if (counter.val === num_imgs) {
-                        self._raise('fileimagesresized');
+                        self._raise('fileimagesresized', [undefined, undefined]);
                     }
                     }
                 }, type, self.resizeQuality);
                 }, type, self.resizeQuality);
                 return true;
                 return true;
@@ -2554,7 +2568,7 @@
             catch (err) {
             catch (err) {
                 counter.val++;
                 counter.val++;
                 if (counter.val === num_imgs) {
                 if (counter.val === num_imgs) {
-                    self._raise('fileimagesresized');
+                    self._raise('fileimagesresized', [undefined, undefined]);
                 }
                 }
                 return false;
                 return false;
             }
             }
@@ -3224,6 +3238,7 @@
         resizePreference: 'width',
         resizePreference: 'width',
         resizeQuality: 0.92,
         resizeQuality: 0.92,
         resizeDefaultImageType: 'image/jpeg',
         resizeDefaultImageType: 'image/jpeg',
+        minFileSize: 0,
         maxFileSize: 0,
         maxFileSize: 0,
         maxFilePreviewSize: 25600, // 25 MB
         maxFilePreviewSize: 25600, // 25 MB
         minFileCount: 0,
         minFileCount: 0,
@@ -3270,6 +3285,7 @@
         msgNoFilesSelected: 'No files selected',
         msgNoFilesSelected: 'No files selected',
         msgCancelled: 'Cancelled',
         msgCancelled: 'Cancelled',
         msgZoomModalHeading: 'Detailed Preview',
         msgZoomModalHeading: 'Detailed Preview',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'File "{name}" (<b>{size} KB</b>) exceeds maximum allowed upload size of <b>{maxSize} KB</b>.',
         msgSizeTooLarge: 'File "{name}" (<b>{size} KB</b>) exceeds maximum allowed upload size of <b>{maxSize} KB</b>.',
         msgFilesTooLess: 'You must select at least <b>{n}</b> {files} to upload.',
         msgFilesTooLess: 'You must select at least <b>{n}</b> {files} to upload.',
         msgFilesTooMany: 'Number of files selected for upload <b>({n})</b> exceeds maximum allowed limit of <b>{m}</b>.',
         msgFilesTooMany: 'Number of files selected for upload <b>({n})</b> exceeds maximum allowed limit of <b>{m}</b>.',
@@ -3278,6 +3294,7 @@
         msgFileNotReadable: 'File "{name}" is not readable.',
         msgFileNotReadable: 'File "{name}" is not readable.',
         msgFilePreviewAborted: 'File preview aborted for "{name}".',
         msgFilePreviewAborted: 'File preview aborted for "{name}".',
         msgFilePreviewError: 'An error occurred while reading the file "{name}".',
         msgFilePreviewError: 'An error occurred while reading the file "{name}".',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'Invalid type for file "{name}". Only "{types}" files are supported.',
         msgInvalidFileType: 'Invalid type for file "{name}". Only "{types}" files are supported.',
         msgInvalidFileExtension: 'Invalid extension for file "{name}". Only "{extensions}" files are supported.',
         msgInvalidFileExtension: 'Invalid extension for file "{name}". Only "{extensions}" files are supported.',
         msgUploadAborted: 'The file upload was aborted',
         msgUploadAborted: 'The file upload was aborted',

Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 1
js/fileinput.min.js


+ 2 - 0
js/locales/LANG.js

@@ -25,6 +25,7 @@
         msgNoFilesSelected: 'No files selected',
         msgNoFilesSelected: 'No files selected',
         msgCancelled: 'Cancelled',
         msgCancelled: 'Cancelled',
         msgZoomModalHeading: 'Detailed Preview',
         msgZoomModalHeading: 'Detailed Preview',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'File "{name}" (<b>{size} KB</b>) exceeds maximum allowed upload size of <b>{maxSize} KB</b>.',
         msgSizeTooLarge: 'File "{name}" (<b>{size} KB</b>) exceeds maximum allowed upload size of <b>{maxSize} KB</b>.',
         msgFilesTooLess: 'You must select at least <b>{n}</b> {files} to upload.',
         msgFilesTooLess: 'You must select at least <b>{n}</b> {files} to upload.',
         msgFilesTooMany: 'Number of files selected for upload <b>({n})</b> exceeds maximum allowed limit of <b>{m}</b>.',
         msgFilesTooMany: 'Number of files selected for upload <b>({n})</b> exceeds maximum allowed limit of <b>{m}</b>.',
@@ -33,6 +34,7 @@
         msgFileNotReadable: 'File "{name}" is not readable.',
         msgFileNotReadable: 'File "{name}" is not readable.',
         msgFilePreviewAborted: 'File preview aborted for "{name}".',
         msgFilePreviewAborted: 'File preview aborted for "{name}".',
         msgFilePreviewError: 'An error occurred while reading the file "{name}".',
         msgFilePreviewError: 'An error occurred while reading the file "{name}".',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'Invalid type for file "{name}". Only "{types}" files are supported.',
         msgInvalidFileType: 'Invalid type for file "{name}". Only "{types}" files are supported.',
         msgInvalidFileExtension: 'Invalid extension for file "{name}". Only "{extensions}" files are supported.',
         msgInvalidFileExtension: 'Invalid extension for file "{name}". Only "{extensions}" files are supported.',
         msgUploadAborted: 'The file upload was aborted',
         msgUploadAborted: 'The file upload was aborted',

+ 2 - 0
js/locales/ar.js

@@ -26,6 +26,7 @@
         msgNoFilesSelected: '',
         msgNoFilesSelected: '',
         msgCancelled: 'ألغيت',
         msgCancelled: 'ألغيت',
         msgZoomModalHeading: 'معاينة تفصيلية',
         msgZoomModalHeading: 'معاينة تفصيلية',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'الملف "{name}" (<b>{size} ك.ب</b>) تعدى الحد الأقصى المسموح للرفع <b>{maxSize} ك.ب</b>.',
         msgSizeTooLarge: 'الملف "{name}" (<b>{size} ك.ب</b>) تعدى الحد الأقصى المسموح للرفع <b>{maxSize} ك.ب</b>.',
         msgFilesTooLess: 'يجب عليك اختيار <b>{n}</b> {files} على الأقل للرفع.',
         msgFilesTooLess: 'يجب عليك اختيار <b>{n}</b> {files} على الأقل للرفع.',
         msgFilesTooMany: 'عدد الملفات المختارة للرفع <b>({n})</b> تعدت الحد الأقصى المسموح به لعدد <b>{m}</b>.',
         msgFilesTooMany: 'عدد الملفات المختارة للرفع <b>({n})</b> تعدت الحد الأقصى المسموح به لعدد <b>{m}</b>.',
@@ -34,6 +35,7 @@
         msgFileNotReadable: 'الملف "{name}" غير قابل للقراءة.',
         msgFileNotReadable: 'الملف "{name}" غير قابل للقراءة.',
         msgFilePreviewAborted: 'تم إلغاء معاينة الملف "{name}".',
         msgFilePreviewAborted: 'تم إلغاء معاينة الملف "{name}".',
         msgFilePreviewError: 'حدث خطأ أثناء قراءة الملف "{name}".',
         msgFilePreviewError: 'حدث خطأ أثناء قراءة الملف "{name}".',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'نوعية غير صالحة للملف "{name}". فقط هذه النوعيات مدعومة "{types}".',
         msgInvalidFileType: 'نوعية غير صالحة للملف "{name}". فقط هذه النوعيات مدعومة "{types}".',
         msgInvalidFileExtension: 'امتداد غير صالح للملف "{name}". فقط هذه الملفات مدعومة "{extensions}".',
         msgInvalidFileExtension: 'امتداد غير صالح للملف "{name}". فقط هذه الملفات مدعومة "{extensions}".',
         msgUploadAborted: 'تم إلغاء رفع الملف',
         msgUploadAborted: 'تم إلغاء رفع الملف',

+ 2 - 0
js/locales/bg.js

@@ -25,6 +25,7 @@
         msgNoFilesSelected: '',
         msgNoFilesSelected: '',
         msgCancelled: 'Отменен',
         msgCancelled: 'Отменен',
         msgZoomModalHeading: 'Детайлен преглед',
         msgZoomModalHeading: 'Детайлен преглед',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'Файла "{name}" (<b>{size} KB</b>) надвишава максималните разрешени <b>{maxSize} KB</b>.',
         msgSizeTooLarge: 'Файла "{name}" (<b>{size} KB</b>) надвишава максималните разрешени <b>{maxSize} KB</b>.',
         msgFilesTooLess: 'Трябва да изберете поне <b>{n}</b> {files} файла.',
         msgFilesTooLess: 'Трябва да изберете поне <b>{n}</b> {files} файла.',
         msgFilesTooMany: 'Броя файлове избрани за качване <b>({n})</b> надвишава ограниченито от максимум <b>{m}</b>.',
         msgFilesTooMany: 'Броя файлове избрани за качване <b>({n})</b> надвишава ограниченито от максимум <b>{m}</b>.',
@@ -33,6 +34,7 @@
         msgFileNotReadable: 'Файлът "{name}" не е четим.',
         msgFileNotReadable: 'Файлът "{name}" не е четим.',
         msgFilePreviewAborted: 'Прегледа на файла е прекратен за "{name}".',
         msgFilePreviewAborted: 'Прегледа на файла е прекратен за "{name}".',
         msgFilePreviewError: 'Грешка при опит за четене на файла "{name}".',
         msgFilePreviewError: 'Грешка при опит за четене на файла "{name}".',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'Невалиден тип на файла "{name}". Разрешени са само "{types}".',
         msgInvalidFileType: 'Невалиден тип на файла "{name}". Разрешени са само "{types}".',
         msgInvalidFileExtension: 'Невалидно разрешение на "{name}". Разрешени са само "{extensions}".',
         msgInvalidFileExtension: 'Невалидно разрешение на "{name}". Разрешени са само "{extensions}".',
         msgUploadAborted: 'Качите файла, бе прекратена',
         msgUploadAborted: 'Качите файла, бе прекратена',

+ 2 - 0
js/locales/ca.js

@@ -25,6 +25,7 @@
         msgNoFilesSelected: '',
         msgNoFilesSelected: '',
         msgCancelled: 'cancel·lat',
         msgCancelled: 'cancel·lat',
         msgZoomModalHeading: 'Vista prèvia detallada',
         msgZoomModalHeading: 'Vista prèvia detallada',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'Arxiu "{name}" (<b>{size} KB</b>) excedeix la mida màxima permès de <b>{maxSize} KB</b>.',
         msgSizeTooLarge: 'Arxiu "{name}" (<b>{size} KB</b>) excedeix la mida màxima permès de <b>{maxSize} KB</b>.',
         msgFilesTooLess: 'Heu de seleccionar almenys <b>{n}</b> {files} a carregar.',
         msgFilesTooLess: 'Heu de seleccionar almenys <b>{n}</b> {files} a carregar.',
         msgFilesTooMany: 'El nombre d\'arxius seleccionats a carregar <b>({n})</b> excedeix el límit màxim permès de <b>{m}</b>.',
         msgFilesTooMany: 'El nombre d\'arxius seleccionats a carregar <b>({n})</b> excedeix el límit màxim permès de <b>{m}</b>.',
@@ -33,6 +34,7 @@
         msgFileNotReadable: 'No es pot accedir a l\'arxiu "{name}".',
         msgFileNotReadable: 'No es pot accedir a l\'arxiu "{name}".',
         msgFilePreviewAborted: 'Previsualització de l\'arxiu "{name}" cancel·lada.',
         msgFilePreviewAborted: 'Previsualització de l\'arxiu "{name}" cancel·lada.',
         msgFilePreviewError: 'S\'ha produït un error mentre es llegia el fitxer "{name}".',
         msgFilePreviewError: 'S\'ha produït un error mentre es llegia el fitxer "{name}".',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'Tipus de fitxer no vàlid per a "{name}". Només arxius "{types}" són permesos.',
         msgInvalidFileType: 'Tipus de fitxer no vàlid per a "{name}". Només arxius "{types}" són permesos.',
         msgInvalidFileExtension: 'Extensió de fitxer no vàlid per a "{name}". Només arxius "{extensions}" són permesos.',
         msgInvalidFileExtension: 'Extensió de fitxer no vàlid per a "{name}". Només arxius "{extensions}" són permesos.',
         msgUploadAborted: 'La càrrega d\'arxius s\'ha cancel·lat',
         msgUploadAborted: 'La càrrega d\'arxius s\'ha cancel·lat',

+ 2 - 0
js/locales/cr.js

@@ -26,6 +26,7 @@
         msgNoFilesSelected: '',
         msgNoFilesSelected: '',
         msgCancelled: 'Otkazan',
         msgCancelled: 'Otkazan',
         msgZoomModalHeading: 'Detaljni pregled',
         msgZoomModalHeading: 'Detaljni pregled',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'Datoteka "{name}" (<b>{size} KB</b>) prekoračuje maksimalnu dozvoljenu veličinu datoteke od <b>{maxSize} KB</b>.',
         msgSizeTooLarge: 'Datoteka "{name}" (<b>{size} KB</b>) prekoračuje maksimalnu dozvoljenu veličinu datoteke od <b>{maxSize} KB</b>.',
         msgFilesTooLess: 'Morate odabrati najmanje <b>{n}</b> {files} za otpremanje.',
         msgFilesTooLess: 'Morate odabrati najmanje <b>{n}</b> {files} za otpremanje.',
         msgFilesTooMany: 'Broj datoteka označenih za otpremanje <b>({n})</b> prekoračuje maksimalni dozvoljeni limit od <b>{m}</b>.',
         msgFilesTooMany: 'Broj datoteka označenih za otpremanje <b>({n})</b> prekoračuje maksimalni dozvoljeni limit od <b>{m}</b>.',
@@ -34,6 +35,7 @@
         msgFileNotReadable: 'Datoteku "{name}" nije moguće pročitati.',
         msgFileNotReadable: 'Datoteku "{name}" nije moguće pročitati.',
         msgFilePreviewAborted: 'Generisanje prikaza nije moguće za "{name}".',
         msgFilePreviewAborted: 'Generisanje prikaza nije moguće za "{name}".',
         msgFilePreviewError: 'Došlo je do greške prilikom čitanja datoteke "{name}".',
         msgFilePreviewError: 'Došlo je do greške prilikom čitanja datoteke "{name}".',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'Datoteka "{name}" je pogrešnog formata. Dozvoljeni formati su "{types}".',
         msgInvalidFileType: 'Datoteka "{name}" je pogrešnog formata. Dozvoljeni formati su "{types}".',
         msgInvalidFileExtension: 'Ekstenzija datoteke "{name}" nije dozvoljena. Dozvoljene ekstenzije su "{extensions}".',
         msgInvalidFileExtension: 'Ekstenzija datoteke "{name}" nije dozvoljena. Dozvoljene ekstenzije su "{extensions}".',
         msgUploadAborted: 'Prijenos datoteka je prekinut',
         msgUploadAborted: 'Prijenos datoteka je prekinut',

+ 2 - 0
js/locales/cz.js

@@ -25,6 +25,7 @@
         msgNoFilesSelected: '',
         msgNoFilesSelected: '',
         msgCancelled: 'Zrušeno',
         msgCancelled: 'Zrušeno',
         msgZoomModalHeading: 'Detailní náhled',
         msgZoomModalHeading: 'Detailní náhled',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'Soubor "{name}" (<b>{size} KB</b>): překročení - maximální povolená velikost <b>{maxSize} KB</b>.',
         msgSizeTooLarge: 'Soubor "{name}" (<b>{size} KB</b>): překročení - maximální povolená velikost <b>{maxSize} KB</b>.',
         msgFilesTooLess: 'Musíte vybrat nejméně <b>{n}</b> {files} pro nahrání.',
         msgFilesTooLess: 'Musíte vybrat nejméně <b>{n}</b> {files} pro nahrání.',
         msgFilesTooMany: 'Počet vybraných souborů pro nahrání <b>({n})</b>: překročení - maximální povolený limit <b>{m}</b>.',
         msgFilesTooMany: 'Počet vybraných souborů pro nahrání <b>({n})</b>: překročení - maximální povolený limit <b>{m}</b>.',
@@ -33,6 +34,7 @@
         msgFileNotReadable: 'Soubor "{name}" není čitelný.',
         msgFileNotReadable: 'Soubor "{name}" není čitelný.',
         msgFilePreviewAborted: 'Náhled souboru byl přerušen pro "{name}".',
         msgFilePreviewAborted: 'Náhled souboru byl přerušen pro "{name}".',
         msgFilePreviewError: 'Nastala chyba při načtení souboru "{name}".',
         msgFilePreviewError: 'Nastala chyba při načtení souboru "{name}".',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'Neplatný typ souboru "{name}". Pouze "{types}" souborů jsou podporovány.',
         msgInvalidFileType: 'Neplatný typ souboru "{name}". Pouze "{types}" souborů jsou podporovány.',
         msgInvalidFileExtension: 'Neplatná extenze souboru "{name}". Pouze "{extensions}" souborů jsou podporovány.',
         msgInvalidFileExtension: 'Neplatná extenze souboru "{name}". Pouze "{extensions}" souborů jsou podporovány.',
         msgUploadAborted: 'Soubor nahrávání byl přerušen',
         msgUploadAborted: 'Soubor nahrávání byl přerušen',

+ 2 - 0
js/locales/da.js

@@ -25,6 +25,7 @@
         msgNoFilesSelected: '',
         msgNoFilesSelected: '',
         msgCancelled: 'aflyst',
         msgCancelled: 'aflyst',
         msgZoomModalHeading: 'Detaljeret visning',
         msgZoomModalHeading: 'Detaljeret visning',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'Fil "{name}" (<b>{size} KB</b>) er st&oslash;rre end de tilladte <b>{maxSize} 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.',
         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.',
         msgFilesTooMany: '<b>({n})</b> filer valgt til upload, men maks. <b>{m}</b> er tilladt.',
@@ -33,6 +34,7 @@
         msgFileNotReadable: 'Filen "{name}" kan ikke indl&aelig;ses.',
         msgFileNotReadable: 'Filen "{name}" kan ikke indl&aelig;ses.',
         msgFilePreviewAborted: 'Filpreview annulleret for "{name}".',
         msgFilePreviewAborted: 'Filpreview annulleret for "{name}".',
         msgFilePreviewError: 'Der skete en fejl under l&aelig;sningen af filen "{name}".',
         msgFilePreviewError: 'Der skete en fejl under l&aelig;sningen af filen "{name}".',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'Ukendt type for filen "{name}". Kun "{types}" kan bruges.',
         msgInvalidFileType: 'Ukendt type for filen "{name}". Kun "{types}" kan bruges.',
         msgInvalidFileExtension: 'Ukendt filtype for filen "{name}". Kun "{extensions}" filer kan bruges.',
         msgInvalidFileExtension: 'Ukendt filtype for filen "{name}". Kun "{extensions}" filer kan bruges.',
         msgUploadAborted: 'Filupload annulleret',
         msgUploadAborted: 'Filupload annulleret',

+ 2 - 0
js/locales/de.js

@@ -23,6 +23,7 @@
         msgNoFilesSelected: '',
         msgNoFilesSelected: '',
         msgCancelled: 'Abgebrochen',
         msgCancelled: 'Abgebrochen',
         msgZoomModalHeading: 'ausführliche Vorschau',
         msgZoomModalHeading: 'ausführliche Vorschau',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'Datei "{name}" (<b>{size} KB</b>) überschreitet maximal zulässige Upload-Größe von <b>{maxSize} KB</b>.',
         msgSizeTooLarge: 'Datei "{name}" (<b>{size} KB</b>) überschreitet maximal zulässige Upload-Größe von <b>{maxSize} KB</b>.',
         msgFilesTooLess: 'Sie müssen mindestens <b>{n}</b> {files} zum Hochladen auswählen.',
         msgFilesTooLess: 'Sie müssen mindestens <b>{n}</b> {files} zum Hochladen auswählen.',
         msgFilesTooMany: 'Anzahl der Dateien für den Upload ausgewählt <b>({n})</b> überschreitet maximal zulässige Grenze von <b>{m}</b> Stück.',
         msgFilesTooMany: 'Anzahl der Dateien für den Upload ausgewählt <b>({n})</b> überschreitet maximal zulässige Grenze von <b>{m}</b> Stück.',
@@ -31,6 +32,7 @@
         msgFileNotReadable: 'Die Datei "{name}" ist nicht lesbar.',
         msgFileNotReadable: 'Die Datei "{name}" ist nicht lesbar.',
         msgFilePreviewAborted: 'Dateivorschau abgebrochen für "{name}".',
         msgFilePreviewAborted: 'Dateivorschau abgebrochen für "{name}".',
         msgFilePreviewError: 'Beim Lesen der Datei "{name}" ein Fehler aufgetreten.',
         msgFilePreviewError: 'Beim Lesen der Datei "{name}" ein Fehler aufgetreten.',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'Ungültiger Typ für Datei "{name}". Nur Dateien der Typen "{types}" werden unterstützt.',
         msgInvalidFileType: 'Ungültiger Typ für Datei "{name}". Nur Dateien der Typen "{types}" werden unterstützt.',
         msgInvalidFileExtension: 'Ungültige Erweiterung für Datei "{name}". Nur Dateien mit der Endung "{extensions}" werden unterstützt.',
         msgInvalidFileExtension: 'Ungültige Erweiterung für Datei "{name}". Nur Dateien mit der Endung "{extensions}" werden unterstützt.',
         msgUploadAborted: 'Der Datei-Upload wurde abgebrochen',
         msgUploadAborted: 'Der Datei-Upload wurde abgebrochen',

+ 2 - 0
js/locales/el.js

@@ -25,6 +25,7 @@
         msgNoFilesSelected: '',
         msgNoFilesSelected: '',
         msgCancelled: 'Ακυρώθηκε',
         msgCancelled: 'Ακυρώθηκε',
         msgZoomModalHeading: 'λεπτομερής Προεπισκόπηση',
         msgZoomModalHeading: 'λεπτομερής Προεπισκόπηση',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'Το αρχείο "{name}" (<b>{size} KB</b>) υπερβαίνει το μέγιστο επιτρεπόμενο μέγεθος μεταφόρτωσης <b>{maxSize} KB</b>.',
         msgSizeTooLarge: 'Το αρχείο "{name}" (<b>{size} KB</b>) υπερβαίνει το μέγιστο επιτρεπόμενο μέγεθος μεταφόρτωσης <b>{maxSize} KB</b>.',
         msgFilesTooLess: 'Πρέπει να επιλέξετε τουλάχιστον <b>{n}</b> {files} για να ξεκινήσει η μεταφόρτωση.',
         msgFilesTooLess: 'Πρέπει να επιλέξετε τουλάχιστον <b>{n}</b> {files} για να ξεκινήσει η μεταφόρτωση.',
         msgFilesTooMany: 'Ο αριθμός των αρχείων που έχουν επιλεγεί για μεταφόρτωση <b>({n})</b> υπερβαίνει το μέγιστο επιτρεπόμενο αριθμό <b>{m}</b>.',
         msgFilesTooMany: 'Ο αριθμός των αρχείων που έχουν επιλεγεί για μεταφόρτωση <b>({n})</b> υπερβαίνει το μέγιστο επιτρεπόμενο αριθμό <b>{m}</b>.',
@@ -33,6 +34,7 @@
         msgFileNotReadable: 'Το αρχείο με όνομα "{name}" δεν είναι αναγνώσιμο.',
         msgFileNotReadable: 'Το αρχείο με όνομα "{name}" δεν είναι αναγνώσιμο.',
         msgFilePreviewAborted: 'Η προεπισκόπηση του αρχείου ακυρώθηκε για "{name}".',
         msgFilePreviewAborted: 'Η προεπισκόπηση του αρχείου ακυρώθηκε για "{name}".',
         msgFilePreviewError: 'Παρουσιάστηκε σφάλμα κατά την ανάγνωση του αρχείου "{name}".',
         msgFilePreviewError: 'Παρουσιάστηκε σφάλμα κατά την ανάγνωση του αρχείου "{name}".',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'Μη έγκυρος τύπος αρχείου "{name}". Οι τύποι αρχείων που υποστηρίζονται είναι : "{types}".',
         msgInvalidFileType: 'Μη έγκυρος τύπος αρχείου "{name}". Οι τύποι αρχείων που υποστηρίζονται είναι : "{types}".',
         msgInvalidFileExtension: 'Μη έγκυρη επέκταση αρχείου "{name}". Οι επεκτάσεις που υποστηρίζονται είναι:  "{extensions}" .',
         msgInvalidFileExtension: 'Μη έγκυρη επέκταση αρχείου "{name}". Οι επεκτάσεις που υποστηρίζονται είναι:  "{extensions}" .',
         msgUploadAborted: 'Το ανέβασμα των αρχείων ματαιώθηκε',
         msgUploadAborted: 'Το ανέβασμα των αρχείων ματαιώθηκε',

+ 2 - 0
js/locales/es.js

@@ -25,6 +25,7 @@
         msgNoFilesSelected: '',
         msgNoFilesSelected: '',
         msgCancelled: 'Cancelado',
         msgCancelled: 'Cancelado',
         msgZoomModalHeading: 'Vista previa detallada',
         msgZoomModalHeading: 'Vista previa detallada',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'Archivo "{name}" (<b>{size} KB</b>) excede el tamaño máximo permitido de <b>{maxSize} KB</b>.',
         msgSizeTooLarge: 'Archivo "{name}" (<b>{size} KB</b>) excede el tamaño máximo permitido de <b>{maxSize} KB</b>.',
         msgFilesTooLess: 'Debe seleccionar al menos <b>{n}</b> {files} a cargar.',
         msgFilesTooLess: 'Debe seleccionar al menos <b>{n}</b> {files} a cargar.',
         msgFilesTooMany: 'El número de archivos seleccionados a cargar <b>({n})</b> excede el límite máximo permitido de <b>{m}</b>.',
         msgFilesTooMany: 'El número de archivos seleccionados a cargar <b>({n})</b> excede el límite máximo permitido de <b>{m}</b>.',
@@ -33,6 +34,7 @@
         msgFileNotReadable: 'No es posible acceder al archivo "{name}".',
         msgFileNotReadable: 'No es posible acceder al archivo "{name}".',
         msgFilePreviewAborted: 'Previsualización del archivo "{name}" cancelada.',
         msgFilePreviewAborted: 'Previsualización del archivo "{name}" cancelada.',
         msgFilePreviewError: 'Ocurrió un error mientras se leía el archivo "{name}".',
         msgFilePreviewError: 'Ocurrió un error mientras se leía el archivo "{name}".',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'Tipo de archivo no válido para "{name}". Sólo archivos "{types}" son permitidos.',
         msgInvalidFileType: 'Tipo de archivo no válido para "{name}". Sólo archivos "{types}" son permitidos.',
         msgInvalidFileExtension: 'Extensión de archivo no válido para "{name}". Sólo archivos "{extensions}" son permitidos.',
         msgInvalidFileExtension: 'Extensión de archivo no válido para "{name}". Sólo archivos "{extensions}" son permitidos.',
         msgUploadAborted: 'La carga de archivos se ha cancelado',
         msgUploadAborted: 'La carga de archivos se ha cancelado',

+ 2 - 0
js/locales/fa.js

@@ -26,6 +26,7 @@
         msgNoFilesSelected: '',
         msgNoFilesSelected: '',
         msgCancelled: 'Cancelled',
         msgCancelled: 'Cancelled',
         msgZoomModalHeading: 'Detailed Preview',
         msgZoomModalHeading: 'Detailed Preview',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'فایل "{name}" (<b>{size} کیلوبایت</b>) از حداکثر مجاز <b>{maxSize} کیلوبایت</b>.',
         msgSizeTooLarge: 'فایل "{name}" (<b>{size} کیلوبایت</b>) از حداکثر مجاز <b>{maxSize} کیلوبایت</b>.',
         msgFilesTooLess: 'شما باید حداقل <b>{n}</b> {files} فایل برای بارگذاری انتخاب کنید.',
         msgFilesTooLess: 'شما باید حداقل <b>{n}</b> {files} فایل برای بارگذاری انتخاب کنید.',
         msgFilesTooMany: 'تعداد فایل‌های انتخاب شده برای بارگذاری <b>({n})</b> از حداکثر مجاز عبور کرده است <b>{m}</b>.',
         msgFilesTooMany: 'تعداد فایل‌های انتخاب شده برای بارگذاری <b>({n})</b> از حداکثر مجاز عبور کرده است <b>{m}</b>.',
@@ -34,6 +35,7 @@
         msgFileNotReadable: 'فایل "{name}" قابل نوشتن نیست.',
         msgFileNotReadable: 'فایل "{name}" قابل نوشتن نیست.',
         msgFilePreviewAborted: 'پیشنمایش فایل "{name}". شکست خورد',
         msgFilePreviewAborted: 'پیشنمایش فایل "{name}". شکست خورد',
         msgFilePreviewError: 'در هنگام خواندن فایل "{name}" خطایی رخ داد.',
         msgFilePreviewError: 'در هنگام خواندن فایل "{name}" خطایی رخ داد.',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'نوع فایل "{name}" معتبر نیست. فقط "{types}" پشیبانی می‌شود.',
         msgInvalidFileType: 'نوع فایل "{name}" معتبر نیست. فقط "{types}" پشیبانی می‌شود.',
         msgInvalidFileExtension: 'پسوند فایل "{name}" معتبر نیست. فقط "{extensions}" پشتیبانی می‌شود.',
         msgInvalidFileExtension: 'پسوند فایل "{name}" معتبر نیست. فقط "{extensions}" پشتیبانی می‌شود.',
         msgUploadAborted: 'The file upload was aborted',
         msgUploadAborted: 'The file upload was aborted',

+ 2 - 0
js/locales/fi.js

@@ -22,6 +22,7 @@
         uploadLabel: 'Lataa',
         uploadLabel: 'Lataa',
         uploadTitle: 'Lataa valitut tiedostot',
         uploadTitle: 'Lataa valitut tiedostot',
         msgNoFilesSelected: '',
         msgNoFilesSelected: '',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'Tiedosto "{name}" (<b>{size} Kt</b>) ylitt&auml;&auml; suurimman sallitun tiedoston koon, joka on <b>{maxSize} Kt</b>. Yrit&auml; uudelleen!',
         msgSizeTooLarge: 'Tiedosto "{name}" (<b>{size} Kt</b>) ylitt&auml;&auml; suurimman sallitun tiedoston koon, joka on <b>{maxSize} Kt</b>. Yrit&auml; uudelleen!',
         msgFilesTooLess: 'V&auml;hint&auml;&auml;n <b>{n}</b> {files} tiedostoa on valittava ladattavaksi. Ole hyv&auml; ja yrit&auml; uudelleen!',
         msgFilesTooLess: 'V&auml;hint&auml;&auml;n <b>{n}</b> {files} tiedostoa on valittava ladattavaksi. Ole hyv&auml; ja yrit&auml; uudelleen!',
         msgFilesTooMany: 'Valittujen tiedostojen lukum&auml;&auml;r&auml; <b>({n})</b> ylitt&auml;&auml; suurimman sallitun m&auml;&auml;r&auml;n <b>{m}</b>. Ole hyv&auml; ja yrit&auml; uudelleen!',
         msgFilesTooMany: 'Valittujen tiedostojen lukum&auml;&auml;r&auml; <b>({n})</b> ylitt&auml;&auml; suurimman sallitun m&auml;&auml;r&auml;n <b>{m}</b>. Ole hyv&auml; ja yrit&auml; uudelleen!',
@@ -30,6 +31,7 @@
         msgFileNotReadable: 'Tiedosto "{name}" ei ole luettavissa.',
         msgFileNotReadable: 'Tiedosto "{name}" ei ole luettavissa.',
         msgFilePreviewAborted: 'Tiedoston "{name}" esikatselu keskeytetty.',
         msgFilePreviewAborted: 'Tiedoston "{name}" esikatselu keskeytetty.',
         msgFilePreviewError: 'Virhe on tapahtunut luettaessa tiedostoa "{name}".',
         msgFilePreviewError: 'Virhe on tapahtunut luettaessa tiedostoa "{name}".',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'Tiedosto "{name}" on v&auml;&auml;r&auml;n tyyppinen. Ainoastaan tiedostot tyyppi&auml; "{types}" ovat tuettuja.',
         msgInvalidFileType: 'Tiedosto "{name}" on v&auml;&auml;r&auml;n tyyppinen. Ainoastaan tiedostot tyyppi&auml; "{types}" ovat tuettuja.',
         msgInvalidFileExtension: 'Tiedoston "{name}" tarkenne on ep&auml;kelpo. Ainoastaan tarkenteet "{extensions}" ovat tuettuja.',
         msgInvalidFileExtension: 'Tiedoston "{name}" tarkenne on ep&auml;kelpo. Ainoastaan tarkenteet "{extensions}" ovat tuettuja.',
         msgUploadThreshold: 'Processing...',
         msgUploadThreshold: 'Processing...',

+ 2 - 0
js/locales/fr.js

@@ -25,6 +25,7 @@
         msgNoFilesSelected: '',
         msgNoFilesSelected: '',
         msgCancelled: 'Annulé',
         msgCancelled: 'Annulé',
         msgZoomModalHeading: 'Aperçu détaillé',
         msgZoomModalHeading: 'Aperçu détaillé',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'Le fichier "{name}" (<b>{size} Ko</b>) dépasse la taille maximale autorisée qui est de <b>{maxSize} Ko</b>.',
         msgSizeTooLarge: 'Le fichier "{name}" (<b>{size} Ko</b>) dépasse la taille maximale autorisée qui est de <b>{maxSize} Ko</b>.',
         msgFilesTooLess: 'Vous devez sélectionner au moins <b>{n}</b> {files} à transmettre.',
         msgFilesTooLess: 'Vous devez sélectionner au moins <b>{n}</b> {files} à transmettre.',
         msgFilesTooMany: 'Le nombre de fichier sélectionné <b>({n})</b> dépasse la quantité maximale autorisée qui est de <b>{m}</b>.',
         msgFilesTooMany: 'Le nombre de fichier sélectionné <b>({n})</b> dépasse la quantité maximale autorisée qui est de <b>{m}</b>.',
@@ -33,6 +34,7 @@
         msgFileNotReadable: 'Le fichier "{name}" est illisble.',
         msgFileNotReadable: 'Le fichier "{name}" est illisble.',
         msgFilePreviewAborted: 'Prévisualisation du fichier "{name}" annulée.',
         msgFilePreviewAborted: 'Prévisualisation du fichier "{name}" annulée.',
         msgFilePreviewError: 'Une erreur est survenue lors de la lecture du fichier "{name}".',
         msgFilePreviewError: 'Une erreur est survenue lors de la lecture du fichier "{name}".',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'Type de document invalide pour "{name}". Seulement les documents de type "{types}" sont autorisés.',
         msgInvalidFileType: 'Type de document invalide pour "{name}". Seulement les documents de type "{types}" sont autorisés.',
         msgInvalidFileExtension: 'Extension invalide pour le fichier "{name}". Seules les extensions "{extensions}" sont autorisées.',
         msgInvalidFileExtension: 'Extension invalide pour le fichier "{name}". Seules les extensions "{extensions}" sont autorisées.',
         msgUploadAborted: 'Le téléchargement du fichier a été interrompu',
         msgUploadAborted: 'Le téléchargement du fichier a été interrompu',

+ 2 - 0
js/locales/hu.js

@@ -25,6 +25,7 @@
         msgNoFilesSelected: '',
         msgNoFilesSelected: '',
         msgCancelled: 'Cancelled',
         msgCancelled: 'Cancelled',
         msgZoomModalHeading: 'Részletes Preview',
         msgZoomModalHeading: 'Részletes Preview',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: '"{name}" fájl (<b>{size} KB</b>) mérete nagyobb a megengedettnél <b>{maxSize} KB</b>.',
         msgSizeTooLarge: '"{name}" fájl (<b>{size} KB</b>) mérete nagyobb a megengedettnél <b>{maxSize} KB</b>.',
         msgFilesTooLess: 'Legalább <b>{n}</b> {files} ki kell választania a feltöltéshez.',
         msgFilesTooLess: 'Legalább <b>{n}</b> {files} ki kell választania a feltöltéshez.',
         msgFilesTooMany: 'A feltölteni kívánt fájlok száma <b>({n})</b> elérte a megengedett maximumot <b>{m}</b>.',
         msgFilesTooMany: 'A feltölteni kívánt fájlok száma <b>({n})</b> elérte a megengedett maximumot <b>{m}</b>.',
@@ -33,6 +34,7 @@
         msgFileNotReadable: '"{name}" fájl nem olvasható',
         msgFileNotReadable: '"{name}" fájl nem olvasható',
         msgFilePreviewAborted: '"{name}" fájl feltöltése megszakítva.',
         msgFilePreviewAborted: '"{name}" fájl feltöltése megszakítva.',
         msgFilePreviewError: 'Hiba lépett fel a "{name}" fájl olvasása közben.',
         msgFilePreviewError: 'Hiba lépett fel a "{name}" fájl olvasása közben.',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'Nem megengedett fájl "{name}". Csak a "{types}" fájl típusok támogatottak.',
         msgInvalidFileType: 'Nem megengedett fájl "{name}". Csak a "{types}" fájl típusok támogatottak.',
         msgInvalidFileExtension: 'Nem megengedett kiterjesztés / fájltípus "{name}". Csak a "{extensions}" kiterjesztés(ek) / fájltípus(ok) támogatottak.',
         msgInvalidFileExtension: 'Nem megengedett kiterjesztés / fájltípus "{name}". Csak a "{extensions}" kiterjesztés(ek) / fájltípus(ok) támogatottak.',
         msgUploadAborted: 'A fájl feltöltés megszakítva',
         msgUploadAborted: 'A fájl feltöltés megszakítva',

+ 2 - 0
js/locales/id.js

@@ -26,6 +26,7 @@
         msgNoFilesSelected: '',
         msgNoFilesSelected: '',
         msgCancelled: 'Dibatalkan',
         msgCancelled: 'Dibatalkan',
         msgZoomModalHeading: 'Pratinjau terperinci',
         msgZoomModalHeading: 'Pratinjau terperinci',
+        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>.',
         msgSizeTooLarge: 'Berkas "{name}" (<b>{size} KB</b>) melebihi ukuran upload maksimal yaitu <b>{maxSize} KB</b>.',
         msgFilesTooLess: 'Anda harus memilih setidaknya <b>{n}</b> {files} untuk diunggah.',
         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 upload maksimal yaitu <b>{m}</b>.',
@@ -34,6 +35,7 @@
         msgFileNotReadable: 'Berkas "{name}" tak dapat dibaca.',
         msgFileNotReadable: 'Berkas "{name}" tak dapat dibaca.',
         msgFilePreviewAborted: 'Pratinjau untuk berkas "{name}" dibatalkan.',
         msgFilePreviewAborted: 'Pratinjau untuk berkas "{name}" dibatalkan.',
         msgFilePreviewError: 'Kesalahan saat membaca berkas "{name}".',
         msgFilePreviewError: 'Kesalahan saat membaca berkas "{name}".',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'Jenis berkas "{name}" tidak sah. Hanya berkas "{types}" yang didukung.',
         msgInvalidFileType: 'Jenis berkas "{name}" tidak sah. Hanya berkas "{types}" yang didukung.',
         msgInvalidFileExtension: 'Ekstensi berkas "{name}" tidak sah. Hanya ekstensi "{extensions}" yang didukung.',
         msgInvalidFileExtension: 'Ekstensi berkas "{name}" tidak sah. Hanya ekstensi "{extensions}" yang didukung.',
         msgUploadAborted: 'Pengunggahan berkas dibatalkan',
         msgUploadAborted: 'Pengunggahan berkas dibatalkan',

+ 2 - 0
js/locales/it.js

@@ -27,6 +27,7 @@
         msgNoFilesSelected: '',
         msgNoFilesSelected: '',
         msgCancelled: 'Annullato',
         msgCancelled: 'Annullato',
         msgZoomModalHeading: 'Anteprima dettagliata',
         msgZoomModalHeading: 'Anteprima dettagliata',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'Il file "{name}" (<b>{size} KB</b>) eccede la dimensione massima di caricamento di <b>{maxSize} KB</b>.',
         msgSizeTooLarge: 'Il file "{name}" (<b>{size} KB</b>) eccede la dimensione massima di caricamento di <b>{maxSize} KB</b>.',
         msgFilesTooLess: 'Devi selezionare almeno <b>{n}</b> {files} da caricare.',
         msgFilesTooLess: 'Devi selezionare almeno <b>{n}</b> {files} da caricare.',
         msgFilesTooMany: 'Il numero di file selezionati per il caricamento <b>({n})</b> eccede il numero massimo di file accettati <b>{m}</b>.',
         msgFilesTooMany: 'Il numero di file selezionati per il caricamento <b>({n})</b> eccede il numero massimo di file accettati <b>{m}</b>.',
@@ -35,6 +36,7 @@
         msgFileNotReadable: 'Il file "{name}" non \xE8 leggibile.',
         msgFileNotReadable: 'Il file "{name}" non \xE8 leggibile.',
         msgFilePreviewAborted: 'Generazione anteprima per "{name}" annullata.',
         msgFilePreviewAborted: 'Generazione anteprima per "{name}" annullata.',
         msgFilePreviewError: 'Errore durante la lettura del file "{name}".',
         msgFilePreviewError: 'Errore durante la lettura del file "{name}".',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'Tipo non valido per il file "{name}". Sono ammessi solo file di tipo "{types}".',
         msgInvalidFileType: 'Tipo non valido per il file "{name}". Sono ammessi solo file di tipo "{types}".',
         msgInvalidFileExtension: 'Estensione non valida per il file "{name}". Sono ammessi solo file con estensione "{extensions}".',
         msgInvalidFileExtension: 'Estensione non valida per il file "{name}". Sono ammessi solo file con estensione "{extensions}".',
         msgUploadAborted: 'Il caricamento del file è stata interrotta',
         msgUploadAborted: 'Il caricamento del file è stata interrotta',

+ 2 - 0
js/locales/ja.js

@@ -32,6 +32,7 @@
         msgNoFilesSelected: 'ファイルが選択されていません',
         msgNoFilesSelected: 'ファイルが選択されていません',
         msgCancelled: 'キャンセル',
         msgCancelled: 'キャンセル',
         msgZoomModalHeading: 'プレビュー',
         msgZoomModalHeading: 'プレビュー',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'ファイル"{name}" (<b>{size} KB</b>)はアップロード可能な上限容量<b>{maxSize} KB</b>を超えています',
         msgSizeTooLarge: 'ファイル"{name}" (<b>{size} KB</b>)はアップロード可能な上限容量<b>{maxSize} KB</b>を超えています',
         msgFilesTooLess: '最低<b>{n}</b>個の{files}を選択してください',
         msgFilesTooLess: '最低<b>{n}</b>個の{files}を選択してください',
         msgFilesTooMany: '選択したファイルの数<b>({n}個)</b>はアップロード可能な上限数<b>({m}個)</b>を超えています',
         msgFilesTooMany: '選択したファイルの数<b>({n}個)</b>はアップロード可能な上限数<b>({m}個)</b>を超えています',
@@ -40,6 +41,7 @@
         msgFileNotReadable: 'ファイル"{name}"は読み込めません',
         msgFileNotReadable: 'ファイル"{name}"は読み込めません',
         msgFilePreviewAborted: 'ファイル"{name}"のプレビューを中止しました',
         msgFilePreviewAborted: 'ファイル"{name}"のプレビューを中止しました',
         msgFilePreviewError: 'ファイル"{name}"の読み込み中にエラーが発生しました',
         msgFilePreviewError: 'ファイル"{name}"の読み込み中にエラーが発生しました',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: '"{name}"は無効なファイル形式です。"{types}"形式のファイルのみサポートしています',
         msgInvalidFileType: '"{name}"は無効なファイル形式です。"{types}"形式のファイルのみサポートしています',
         msgInvalidFileExtension: '"{name}"は無効なファイル拡張子です。拡張子が"{extensions}"のファイルのみサポートしています',
         msgInvalidFileExtension: '"{name}"は無効なファイル拡張子です。拡張子が"{extensions}"のファイルのみサポートしています',
         msgUploadAborted: 'ファイルのアップロードが中止されました',
         msgUploadAborted: 'ファイルのアップロードが中止されました',

+ 2 - 0
js/locales/nl.js

@@ -25,6 +25,7 @@
         msgNoFilesSelected: '',
         msgNoFilesSelected: '',
         msgCancelled: 'Geannuleerd',
         msgCancelled: 'Geannuleerd',
         msgZoomModalHeading: 'Gedetailleerd voorbeeld',
         msgZoomModalHeading: 'Gedetailleerd voorbeeld',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'Bestand "{name}" (<b>{size} KB</b>) is groter dan de toegestane <b>{maxSize} KB</b>.',
         msgSizeTooLarge: 'Bestand "{name}" (<b>{size} KB</b>) is groter dan de toegestane <b>{maxSize} KB</b>.',
         msgFilesTooLess: 'U moet minstens <b>{n}</b> {files} selecteren om te uploaden.',
         msgFilesTooLess: 'U moet minstens <b>{n}</b> {files} selecteren om te uploaden.',
         msgFilesTooMany: 'Aantal geselecteerde bestanden <b>({n})</b> is meer dan de toegestane <b>{m}</b>.',
         msgFilesTooMany: 'Aantal geselecteerde bestanden <b>({n})</b> is meer dan de toegestane <b>{m}</b>.',
@@ -33,6 +34,7 @@
         msgFileNotReadable: 'Bestand "{name}" is niet leesbaar.',
         msgFileNotReadable: 'Bestand "{name}" is niet leesbaar.',
         msgFilePreviewAborted: 'Bestand weergaven geannuleerd voor "{name}".',
         msgFilePreviewAborted: 'Bestand weergaven geannuleerd voor "{name}".',
         msgFilePreviewError: 'Er is een fout opgetreden met het lezen van "{name}".',
         msgFilePreviewError: 'Er is een fout opgetreden met het lezen van "{name}".',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'Geen geldig bestand "{name}". Alleen "{types}" zijn toegestaan.',
         msgInvalidFileType: 'Geen geldig bestand "{name}". Alleen "{types}" zijn toegestaan.',
         msgInvalidFileExtension: 'Geen geldige extensie "{name}". Alleen "{extensions}" zijn toegestaan.',
         msgInvalidFileExtension: 'Geen geldige extensie "{name}". Alleen "{extensions}" zijn toegestaan.',
         msgUploadAborted: 'Het uploaden van bestanden is afgebroken',
         msgUploadAborted: 'Het uploaden van bestanden is afgebroken',

+ 2 - 0
js/locales/pl.js

@@ -25,6 +25,7 @@
         msgNoFilesSelected: 'Brak zaznaczonych plików',
         msgNoFilesSelected: 'Brak zaznaczonych plików',
         msgCancelled: 'Odwołany',
         msgCancelled: 'Odwołany',
         msgZoomModalHeading: 'Szczegółowe Podgląd',
         msgZoomModalHeading: 'Szczegółowe Podgląd',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'Plik o nazwie "{name}" (<b>{size} KB</b>) przekroczył maksymalną dopuszczalną wielkość pliku wynoszącą <b>{maxSize} KB</b>.',
         msgSizeTooLarge: 'Plik o nazwie "{name}" (<b>{size} KB</b>) przekroczył maksymalną dopuszczalną wielkość pliku wynoszącą <b>{maxSize} KB</b>.',
         msgFilesTooLess: 'Musisz wybrać przynajmniej <b>{n}</b> {files} do wgrania.',
         msgFilesTooLess: 'Musisz wybrać przynajmniej <b>{n}</b> {files} do wgrania.',
         msgFilesTooMany: 'Liczba plików wybranych do wgrania w liczbie <b>({n})</b>, przekracza maksymalny dozwolony limit wynoszący <b>{m}</b>.',
         msgFilesTooMany: 'Liczba plików wybranych do wgrania w liczbie <b>({n})</b>, przekracza maksymalny dozwolony limit wynoszący <b>{m}</b>.',
@@ -33,6 +34,7 @@
         msgFileNotReadable: 'Plik "{name}" nie jest plikiem do odczytu.',
         msgFileNotReadable: 'Plik "{name}" nie jest plikiem do odczytu.',
         msgFilePreviewAborted: 'Podgląd pliku "{name}" został przerwany.',
         msgFilePreviewAborted: 'Podgląd pliku "{name}" został przerwany.',
         msgFilePreviewError: 'Wystąpił błąd w czasie odczytu pliku "{name}".',
         msgFilePreviewError: 'Wystąpił błąd w czasie odczytu pliku "{name}".',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'Nieznny typ pliku "{name}". Tylko następujące rodzaje plików "{types}", są obsługiwane.',
         msgInvalidFileType: 'Nieznny typ pliku "{name}". Tylko następujące rodzaje plików "{types}", są obsługiwane.',
         msgInvalidFileExtension: 'Złe rozszerzenie dla pliku "{name}". Tylko następujące rozszerzenia plików "{extensions}", są obsługiwane.',
         msgInvalidFileExtension: 'Złe rozszerzenie dla pliku "{name}". Tylko następujące rozszerzenia plików "{extensions}", są obsługiwane.',
         msgUploadAborted: 'Plik przesyłanie zostało przerwane',
         msgUploadAborted: 'Plik przesyłanie zostało przerwane',

+ 2 - 0
js/locales/pt-BR.js

@@ -25,6 +25,7 @@
         msgNoFilesSelected: '',
         msgNoFilesSelected: '',
         msgCancelled: 'Cancelado',
         msgCancelled: 'Cancelado',
         msgZoomModalHeading: 'Pré-visualização detalhada',
         msgZoomModalHeading: 'Pré-visualização detalhada',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'O arquivo "{name}" (<b>{size} KB</b>) excede o tamanho máximo permitido de <b>{maxSize} KB</b>.',
         msgSizeTooLarge: 'O arquivo "{name}" (<b>{size} KB</b>) excede o tamanho máximo permitido de <b>{maxSize} KB</b>.',
         msgFilesTooLess: 'Você deve selecionar pelo menos <b>{n}</b> {files} para enviar.',
         msgFilesTooLess: 'Você deve selecionar pelo menos <b>{n}</b> {files} para enviar.',
         msgFilesTooMany: 'O número de arquivos selecionados para o envio <b>({n})</b> excede o limite máximo permitido de <b>{m}</b>.',
         msgFilesTooMany: 'O número de arquivos selecionados para o envio <b>({n})</b> excede o limite máximo permitido de <b>{m}</b>.',
@@ -33,6 +34,7 @@
         msgFileNotReadable: 'O arquivo "{name}" não pode ser lido.',
         msgFileNotReadable: 'O arquivo "{name}" não pode ser lido.',
         msgFilePreviewAborted: 'A pré-visualização do arquivo "{name}" foi interrompida.',
         msgFilePreviewAborted: 'A pré-visualização do arquivo "{name}" foi interrompida.',
         msgFilePreviewError: 'Ocorreu um erro ao ler o arquivo "{name}".',
         msgFilePreviewError: 'Ocorreu um erro ao ler o arquivo "{name}".',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'Tipo inválido para o arquivo "{name}". Apenas arquivos "{types}" são permitidos.',
         msgInvalidFileType: 'Tipo inválido para o arquivo "{name}". Apenas arquivos "{types}" são permitidos.',
         msgInvalidFileExtension: 'Extensão inválida para o arquivo "{name}". Apenas arquivos "{extensions}" são permitidos.',
         msgInvalidFileExtension: 'Extensão inválida para o arquivo "{name}". Apenas arquivos "{extensions}" são permitidos.',
         msgUploadAborted: 'O envio do arquivo foi abortado',
         msgUploadAborted: 'O envio do arquivo foi abortado',

+ 2 - 0
js/locales/pt.js

@@ -25,6 +25,7 @@
         msgNoFilesSelected: '',
         msgNoFilesSelected: '',
         msgCancelled: 'Cancelado',
         msgCancelled: 'Cancelado',
         msgZoomModalHeading: 'Pré-visualização detalhada',
         msgZoomModalHeading: 'Pré-visualização detalhada',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'Ficheiro "{name}" (<b>{size} KB</b>) excede o tamanho máximo permido de <b>{maxSize} KB</b>.',
         msgSizeTooLarge: 'Ficheiro "{name}" (<b>{size} KB</b>) excede o tamanho máximo permido de <b>{maxSize} KB</b>.',
         msgFilesTooLess: 'Deve seleccionar pelo menos <b>{n}</b> {files} para fazer upload.',
         msgFilesTooLess: 'Deve seleccionar pelo menos <b>{n}</b> {files} para fazer upload.',
         msgFilesTooMany: 'Número máximo de ficheiros seleccionados <b>({n})</b> excede o limite máximo de <b>{m}</b>.',
         msgFilesTooMany: 'Número máximo de ficheiros seleccionados <b>({n})</b> excede o limite máximo de <b>{m}</b>.',
@@ -33,6 +34,7 @@
         msgFileNotReadable: 'Ficheiro "{name}" não pode ser lido.',
         msgFileNotReadable: 'Ficheiro "{name}" não pode ser lido.',
         msgFilePreviewAborted: 'Pré-visualização abortado para o ficheiro "{name}".',
         msgFilePreviewAborted: 'Pré-visualização abortado para o ficheiro "{name}".',
         msgFilePreviewError: 'Ocorreu um erro ao ler o ficheiro "{name}".',
         msgFilePreviewError: 'Ocorreu um erro ao ler o ficheiro "{name}".',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'Tipo inválido para o ficheiro "{name}". Apenas ficheiros "{types}" são suportados.',
         msgInvalidFileType: 'Tipo inválido para o ficheiro "{name}". Apenas ficheiros "{types}" são suportados.',
         msgInvalidFileExtension: 'Extensão inválida para o ficheiro "{name}". Apenas ficheiros "{extensions}" são suportados.',
         msgInvalidFileExtension: 'Extensão inválida para o ficheiro "{name}". Apenas ficheiros "{extensions}" são suportados.',
         msgUploadAborted: 'O upload do arquivo foi abortada',
         msgUploadAborted: 'O upload do arquivo foi abortada',

+ 2 - 0
js/locales/ro.js

@@ -26,6 +26,7 @@
         msgNoFilesSelected: '',
         msgNoFilesSelected: '',
         msgCancelled: 'Anulat',
         msgCancelled: 'Anulat',
         msgZoomModalHeading: 'Previzualizare detaliată',
         msgZoomModalHeading: 'Previzualizare detaliată',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'Fișierul "{name}" (<b>{size} KB</b>) depășește limita maximă de încărcare de <b>{maxSize} KB</b>.',
         msgSizeTooLarge: 'Fișierul "{name}" (<b>{size} KB</b>) depășește limita maximă de încărcare de <b>{maxSize} KB</b>.',
         msgFilesTooLess: 'Trebuie să selectezi cel puțin <b>{n}</b> {files} pentru a încărca.',
         msgFilesTooLess: 'Trebuie să selectezi cel puțin <b>{n}</b> {files} pentru a încărca.',
         msgFilesTooMany: 'Numărul fișierelor pentru încărcare <b>({n})</b> depășește limita maximă de <b>{m}</b>.',
         msgFilesTooMany: 'Numărul fișierelor pentru încărcare <b>({n})</b> depășește limita maximă de <b>{m}</b>.',
@@ -34,6 +35,7 @@
         msgFileNotReadable: 'Fișierul "{name}" nu se poate citi.',
         msgFileNotReadable: 'Fișierul "{name}" nu se poate citi.',
         msgFilePreviewAborted: 'Fișierului "{name}" nu poate fi previzualizat.',
         msgFilePreviewAborted: 'Fișierului "{name}" nu poate fi previzualizat.',
         msgFilePreviewError: 'A intervenit o eroare în încercarea de citire a fișierului "{name}".',
         msgFilePreviewError: 'A intervenit o eroare în încercarea de citire a fișierului "{name}".',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'Tip de fișier incorect pentru "{name}". Sunt suportate doar fișiere de tipurile "{types}".',
         msgInvalidFileType: 'Tip de fișier incorect pentru "{name}". Sunt suportate doar fișiere de tipurile "{types}".',
         msgInvalidFileExtension: 'Extensie incorectă pentru "{name}". Sunt suportate doar extensiile "{extensions}".',
         msgInvalidFileExtension: 'Extensie incorectă pentru "{name}". Sunt suportate doar extensiile "{extensions}".',
         msgUploadAborted: 'Fișierul Încărcarea a fost întrerupt',
         msgUploadAborted: 'Fișierul Încărcarea a fost întrerupt',

+ 2 - 0
js/locales/ru.js

@@ -26,6 +26,7 @@
         msgNoFilesSelected: '',
         msgNoFilesSelected: '',
         msgCancelled: 'Отменено',
         msgCancelled: 'Отменено',
         msgZoomModalHeading: 'Подробное превью',
         msgZoomModalHeading: 'Подробное превью',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'Файл "{name}" (<b>{size} KB</b>) превышает максимальный размер <b>{maxSize} KB</b>.',
         msgSizeTooLarge: 'Файл "{name}" (<b>{size} KB</b>) превышает максимальный размер <b>{maxSize} KB</b>.',
         msgFilesTooLess: 'Вы должны выбрать как минимум <b>{n}</b> {files} для загрузки.',
         msgFilesTooLess: 'Вы должны выбрать как минимум <b>{n}</b> {files} для загрузки.',
         msgFilesTooMany: 'Количество выбранных файлов <b>({n})</b> превышает максимально допустимое количество <b>{m}</b>.',
         msgFilesTooMany: 'Количество выбранных файлов <b>({n})</b> превышает максимально допустимое количество <b>{m}</b>.',
@@ -34,6 +35,7 @@
         msgFileNotReadable: 'Файл "{name}" невозможно прочитать.',
         msgFileNotReadable: 'Файл "{name}" невозможно прочитать.',
         msgFilePreviewAborted: 'Предпросмотр отменен для файла "{name}".',
         msgFilePreviewAborted: 'Предпросмотр отменен для файла "{name}".',
         msgFilePreviewError: 'Произошла ошибка при чтении файла "{name}".',
         msgFilePreviewError: 'Произошла ошибка при чтении файла "{name}".',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'Запрещенный тип файла для "{name}". Только "{types}" разрешены.',
         msgInvalidFileType: 'Запрещенный тип файла для "{name}". Только "{types}" разрешены.',
         msgInvalidFileExtension: 'Запрещенное расширение для файла "{name}". Только "{extensions}" разрешены.',
         msgInvalidFileExtension: 'Запрещенное расширение для файла "{name}". Только "{extensions}" разрешены.',
         msgUploadAborted: 'Выгрузка файла прервана',
         msgUploadAborted: 'Выгрузка файла прервана',

+ 2 - 0
js/locales/sk.js

@@ -25,6 +25,7 @@
         msgNoFilesSelected: '',
         msgNoFilesSelected: '',
         msgCancelled: 'Zrušené',
         msgCancelled: 'Zrušené',
         msgZoomModalHeading: 'Detailný náhľad',
         msgZoomModalHeading: 'Detailný náhľad',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'Súbor "{name}" (<b>{size} KB</b>): prekročenie - maximálna povolená veľkosť <b>{maxSize} KB</b>.',
         msgSizeTooLarge: 'Súbor "{name}" (<b>{size} KB</b>): prekročenie - maximálna povolená veľkosť <b>{maxSize} KB</b>.',
         msgFilesTooLess: 'Musíte vybrať najmenej <b>{n}</b> {files} pre nahranie.',
         msgFilesTooLess: 'Musíte vybrať najmenej <b>{n}</b> {files} pre nahranie.',
         msgFilesTooMany: 'Počet vybratých súborov pre nahranie <b>({n})</b>: prekročenie - maximálny povolený limit <b>{m}</b>.',
         msgFilesTooMany: 'Počet vybratých súborov pre nahranie <b>({n})</b>: prekročenie - maximálny povolený limit <b>{m}</b>.',
@@ -33,6 +34,7 @@
         msgFileNotReadable: 'Súbor "{name}" nie je čitateľný.',
         msgFileNotReadable: 'Súbor "{name}" nie je čitateľný.',
         msgFilePreviewAborted: 'Náhľad súboru bol prerušený pre "{name}".',
         msgFilePreviewAborted: 'Náhľad súboru bol prerušený pre "{name}".',
         msgFilePreviewError: 'Nastala chyba pri načítaní súboru "{name}".',
         msgFilePreviewError: 'Nastala chyba pri načítaní súboru "{name}".',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'Neplatný typ súboru "{name}". Iba "{types}" súborov sú podporované.',
         msgInvalidFileType: 'Neplatný typ súboru "{name}". Iba "{types}" súborov sú podporované.',
         msgInvalidFileExtension: 'Neplatná extenzia súboru "{name}". Iba "{extensions}" súborov sú podporované.',
         msgInvalidFileExtension: 'Neplatná extenzia súboru "{name}". Iba "{extensions}" súborov sú podporované.',
         msgUploadAborted: 'Súbor nahrávania bol prerušený',
         msgUploadAborted: 'Súbor nahrávania bol prerušený',

+ 2 - 0
js/locales/th.js

@@ -25,6 +25,7 @@
         msgNoFilesSelected: '',
         msgNoFilesSelected: '',
         msgCancelled: 'ยกเลิก',
         msgCancelled: 'ยกเลิก',
         msgZoomModalHeading: 'ตัวอย่างละเอียด',
         msgZoomModalHeading: 'ตัวอย่างละเอียด',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'ไฟล์ "{name}" (<b>{size} KB</b>) มีขนาดเกินที่ระบบอนุญาตที่ <b>{maxSize} KB</b>, กรุณาลองใหม่อีกครั้ง!',
         msgSizeTooLarge: 'ไฟล์ "{name}" (<b>{size} KB</b>) มีขนาดเกินที่ระบบอนุญาตที่ <b>{maxSize} KB</b>, กรุณาลองใหม่อีกครั้ง!',
         msgFilesTooLess: 'คุณต้องเลือกไฟล์จำนวนอย่างน้อย <b>{n}</b> {files} เพื่ออัพโหลด, กรุณาลองใหม่อีกครั้ง!',
         msgFilesTooLess: 'คุณต้องเลือกไฟล์จำนวนอย่างน้อย <b>{n}</b> {files} เพื่ออัพโหลด, กรุณาลองใหม่อีกครั้ง!',
         msgFilesTooMany: 'ไฟล์ที่คุณเลือกมีจำนวน <b>({n})</b> ซึ่งเกินกว่าที่ระบบอนุญาตที่ <b>{m}</b>, กรุณาลองใหม่อีกครั้ง!',
         msgFilesTooMany: 'ไฟล์ที่คุณเลือกมีจำนวน <b>({n})</b> ซึ่งเกินกว่าที่ระบบอนุญาตที่ <b>{m}</b>, กรุณาลองใหม่อีกครั้ง!',
@@ -33,6 +34,7 @@
         msgFileNotReadable: 'ไม่สามารถอ่านไฟล์ "{name}" ได้',
         msgFileNotReadable: 'ไม่สามารถอ่านไฟล์ "{name}" ได้',
         msgFilePreviewAborted: 'ไฟล์ "{name}" ไม่อนุญาตให้ดูตัวอย่าง',
         msgFilePreviewAborted: 'ไฟล์ "{name}" ไม่อนุญาตให้ดูตัวอย่าง',
         msgFilePreviewError: 'พบปัญหาในการดูตัวอย่างไฟล์ "{name}".',
         msgFilePreviewError: 'พบปัญหาในการดูตัวอย่างไฟล์ "{name}".',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'ไฟล์ "{name}" เป็นประเภทไฟล์ที่ไม่ถูกต้อง, อนุญาตเฉพาะไฟล์ประเภท "{types}"',
         msgInvalidFileType: 'ไฟล์ "{name}" เป็นประเภทไฟล์ที่ไม่ถูกต้อง, อนุญาตเฉพาะไฟล์ประเภท "{types}"',
         msgInvalidFileExtension: 'ไฟล์ "{name}" เป็น extension ที่ไมถูกต้อง, อนุญาตเฉพาะไฟล์ extension "{extensions}"',
         msgInvalidFileExtension: 'ไฟล์ "{name}" เป็น extension ที่ไมถูกต้อง, อนุญาตเฉพาะไฟล์ extension "{extensions}"',
         msgUploadAborted: 'อัปโหลดไฟล์ถูกยกเลิก',
         msgUploadAborted: 'อัปโหลดไฟล์ถูกยกเลิก',

+ 2 - 0
js/locales/tr.js

@@ -25,6 +25,7 @@
         msgNoFilesSelected: '',
         msgNoFilesSelected: '',
         msgCancelled: 'Iptal edildi',
         msgCancelled: 'Iptal edildi',
         msgZoomModalHeading: 'Detaylı Önizleme',
         msgZoomModalHeading: 'Detaylı Önizleme',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: '"{name}" dosyasının boyutu (<b>{size} KB</b>) izin verilen azami dosya boyutu olan <b>{maxSize} KB</b>\'tan büyük.',
         msgSizeTooLarge: '"{name}" dosyasının boyutu (<b>{size} KB</b>) izin verilen azami dosya boyutu olan <b>{maxSize} KB</b>\'tan büyük.',
         msgFilesTooLess: 'Yüklemek için en az <b>{n}</b> {files} dosya seçmelisiniz.',
         msgFilesTooLess: 'Yüklemek için en az <b>{n}</b> {files} dosya seçmelisiniz.',
         msgFilesTooMany: 'Yüklemek için seçtiğiniz dosya sayısı <b>({n})</b> azami limitin <b>({m})</b> altında olmalıdır.',
         msgFilesTooMany: 'Yüklemek için seçtiğiniz dosya sayısı <b>({n})</b> azami limitin <b>({m})</b> altında olmalıdır.',
@@ -33,6 +34,7 @@
         msgFileNotReadable: '"{name}" dosyası okunabilir değil.',
         msgFileNotReadable: '"{name}" dosyası okunabilir değil.',
         msgFilePreviewAborted: '"{name}" dosyası için önizleme iptal edildi.',
         msgFilePreviewAborted: '"{name}" dosyası için önizleme iptal edildi.',
         msgFilePreviewError: '"{name}" dosyası okunurken bir hata oluştu.',
         msgFilePreviewError: '"{name}" dosyası okunurken bir hata oluştu.',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: '"{name}" dosyasının türü geçerli değil. Yalnızca "{types}" türünde dosyalara izin veriliyor.',
         msgInvalidFileType: '"{name}" dosyasının türü geçerli değil. Yalnızca "{types}" türünde dosyalara izin veriliyor.',
         msgInvalidFileExtension: '"{name}" dosyasının uzantısı geçersiz. Yalnızca "{extensions}" uzantılı dosyalara izin veriliyor.',
         msgInvalidFileExtension: '"{name}" dosyasının uzantısı geçersiz. Yalnızca "{extensions}" uzantılı dosyalara izin veriliyor.',
         msgUploadAborted: 'Dosya yükleme iptal edildi',
         msgUploadAborted: 'Dosya yükleme iptal edildi',

+ 2 - 0
js/locales/uk.js

@@ -26,6 +26,7 @@
         msgNoFilesSelected: '',
         msgNoFilesSelected: '',
         msgCancelled: 'Cкасовано',
         msgCancelled: 'Cкасовано',
         msgZoomModalHeading: 'Детальний превью',
         msgZoomModalHeading: 'Детальний превью',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'Файл "{name}" (<b>{size} KB</b>) перевищує максимальний розмір <b>{maxSize} KB</b>.',
         msgSizeTooLarge: 'Файл "{name}" (<b>{size} KB</b>) перевищує максимальний розмір <b>{maxSize} KB</b>.',
         msgFilesTooLess: 'Ви повинні вибрати як мінімум <b>{n}</b> {files} для загрузки.',
         msgFilesTooLess: 'Ви повинні вибрати як мінімум <b>{n}</b> {files} для загрузки.',
         msgFilesTooMany: 'Кількість вибраних файлів <b>({n})</b> перевищує максимально допустиму кількість <b>{m}</b>.',
         msgFilesTooMany: 'Кількість вибраних файлів <b>({n})</b> перевищує максимально допустиму кількість <b>{m}</b>.',
@@ -34,6 +35,7 @@
         msgFileNotReadable: 'Файл "{name}" неможливо прочитати.',
         msgFileNotReadable: 'Файл "{name}" неможливо прочитати.',
         msgFilePreviewAborted: 'Перегляд скасований для файла "{name}".',
         msgFilePreviewAborted: 'Перегляд скасований для файла "{name}".',
         msgFilePreviewError: 'Сталася помилка під час читання файла "{name}".',
         msgFilePreviewError: 'Сталася помилка під час читання файла "{name}".',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'Заборонений тип файла для "{name}". Тільки "{types}" дозволені.',
         msgInvalidFileType: 'Заборонений тип файла для "{name}". Тільки "{types}" дозволені.',
         msgInvalidFileExtension: 'Заборонене розширення для файла "{name}". Тільки "{extensions}" дозволені.',
         msgInvalidFileExtension: 'Заборонене розширення для файла "{name}". Тільки "{extensions}" дозволені.',
         msgUploadAborted: 'Вивантаження файлу перервана',
         msgUploadAborted: 'Вивантаження файлу перервана',

+ 2 - 0
js/locales/vi.js

@@ -26,6 +26,7 @@
         msgNoFilesSelected: 'Không tập tin nào được chọn',
         msgNoFilesSelected: 'Không tập tin nào được chọn',
         msgCancelled: 'Đã hủy',
         msgCancelled: 'Đã hủy',
         msgZoomModalHeading: 'Chi tiết xem trước',
         msgZoomModalHeading: 'Chi tiết xem trước',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: 'Tập tin "{name}" (<b>{size} KB</b>) vượt quá kích thước giới hạn cho phép <b>{maxSize} KB</b>.',
         msgSizeTooLarge: 'Tập tin "{name}" (<b>{size} KB</b>) vượt quá kích thước giới hạn cho phép <b>{maxSize} KB</b>.',
         msgFilesTooLess: 'Bạn phải chọn ít nhất <b>{n}</b> {files} để upload.',
         msgFilesTooLess: 'Bạn phải chọn ít nhất <b>{n}</b> {files} để upload.',
         msgFilesTooMany: 'Số lượng tập tin upload <b>({n})</b> vượt quá giới hạn cho phép là <b>{m}</b>.',
         msgFilesTooMany: 'Số lượng tập tin upload <b>({n})</b> vượt quá giới hạn cho phép là <b>{m}</b>.',
@@ -34,6 +35,7 @@
         msgFileNotReadable: 'Không đọc được tập tin "{name}".',
         msgFileNotReadable: 'Không đọc được tập tin "{name}".',
         msgFilePreviewAborted: 'Đã dừng xem trước tập tin "{name}".',
         msgFilePreviewAborted: 'Đã dừng xem trước tập tin "{name}".',
         msgFilePreviewError: 'Đã xảy ra lỗi khi đọc tập tin "{name}".',
         msgFilePreviewError: 'Đã xảy ra lỗi khi đọc tập tin "{name}".',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: 'Tập tin "{name}" không hợp lệ. Chỉ hỗ trợ loại tập tin "{types}".',
         msgInvalidFileType: 'Tập tin "{name}" không hợp lệ. Chỉ hỗ trợ loại tập tin "{types}".',
         msgInvalidFileExtension: 'Phần mở rộng của tập tin "{name}" không hợp lệ. Chỉ hỗ trợ phần mở rộng "{extensions}".',
         msgInvalidFileExtension: 'Phần mở rộng của tập tin "{name}" không hợp lệ. Chỉ hỗ trợ phần mở rộng "{extensions}".',
         msgUploadAborted: 'Đã dừng upload',
         msgUploadAborted: 'Đã dừng upload',

+ 2 - 0
js/locales/zh-TW.js

@@ -27,6 +27,7 @@
         msgCancelled: '取消',
         msgCancelled: '取消',
         zoomTitle: '詳細資料',
         zoomTitle: '詳細資料',
         msgZoomModalHeading: '內容預覽',
         msgZoomModalHeading: '內容預覽',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: '檔案 "{name}" (<b>{size} KB</b>) 大小超過上限 <b>{maxSize} KB</b>.',
         msgSizeTooLarge: '檔案 "{name}" (<b>{size} KB</b>) 大小超過上限 <b>{maxSize} KB</b>.',
         msgFilesTooLess: '最少必須選擇 <b>{n}</b> {files} 來上傳. ',
         msgFilesTooLess: '最少必須選擇 <b>{n}</b> {files} 來上傳. ',
         msgFilesTooMany: '上傳的檔案數量 <b>({n})</b> 超過最大檔案上傳限制 <b>{m}</b>.',
         msgFilesTooMany: '上傳的檔案數量 <b>({n})</b> 超過最大檔案上傳限制 <b>{m}</b>.',
@@ -35,6 +36,7 @@
         msgFileNotReadable: '文件 "{name}" 不可讀取.',
         msgFileNotReadable: '文件 "{name}" 不可讀取.',
         msgFilePreviewAborted: '檔案 "{name}" 預覽中止.',
         msgFilePreviewAborted: '檔案 "{name}" 預覽中止.',
         msgFilePreviewError: '讀取 "{name}" 發生錯誤.',
         msgFilePreviewError: '讀取 "{name}" 發生錯誤.',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: '檔案類型錯誤 "{name}". 只能使用 "{types}" 類型的檔案.',
         msgInvalidFileType: '檔案類型錯誤 "{name}". 只能使用 "{types}" 類型的檔案.',
         msgInvalidFileExtension: '附檔名錯誤 "{name}". 只能使用 "{extensions}" 的檔案.',
         msgInvalidFileExtension: '附檔名錯誤 "{name}". 只能使用 "{extensions}" 的檔案.',
         msgUploadAborted: '該文件上傳被中止',
         msgUploadAborted: '該文件上傳被中止',

+ 2 - 0
js/locales/zh.js

@@ -26,6 +26,7 @@
         msgNoFilesSelected: '',
         msgNoFilesSelected: '',
         msgCancelled: '取消',
         msgCancelled: '取消',
         msgZoomModalHeading: '详细预览',
         msgZoomModalHeading: '详细预览',
+        msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
         msgSizeTooLarge: '文件 "{name}" (<b>{size} KB</b>) 超过了允许大小 <b>{maxSize} KB</b>.',
         msgSizeTooLarge: '文件 "{name}" (<b>{size} KB</b>) 超过了允许大小 <b>{maxSize} KB</b>.',
         msgFilesTooLess: '你必须选择最少 <b>{n}</b> {files} 来上传. ',
         msgFilesTooLess: '你必须选择最少 <b>{n}</b> {files} 来上传. ',
         msgFilesTooMany: '选择的上传文件个数 <b>({n})</b> 超出最大文件的限制个数 <b>{m}</b>.',
         msgFilesTooMany: '选择的上传文件个数 <b>({n})</b> 超出最大文件的限制个数 <b>{m}</b>.',
@@ -34,6 +35,7 @@
         msgFileNotReadable: '文件 "{name}" 不可读.',
         msgFileNotReadable: '文件 "{name}" 不可读.',
         msgFilePreviewAborted: '取消 "{name}" 的预览.',
         msgFilePreviewAborted: '取消 "{name}" 的预览.',
         msgFilePreviewError: '读取 "{name}" 时出现了一个错误.',
         msgFilePreviewError: '读取 "{name}" 时出现了一个错误.',
+        msgInvalidFileName: 'Invalid or unsupported characters in file name "{name}".',
         msgInvalidFileType: '不正确的类型 "{name}". 只支持 "{types}" 类型的文件.',
         msgInvalidFileType: '不正确的类型 "{name}". 只支持 "{types}" 类型的文件.',
         msgInvalidFileExtension: '不正确的文件扩展名 "{name}". 只支持 "{extensions}" 的文件扩展名.',
         msgInvalidFileExtension: '不正确的文件扩展名 "{name}". 只支持 "{extensions}" 的文件扩展名.',
         msgUploadAborted: '该文件上传被中止',
         msgUploadAborted: '该文件上传被中止',

+ 1 - 1
nuget/Package.nuspec

@@ -3,7 +3,7 @@
   <metadata>
   <metadata>
     <id>bootstrap-fileinput</id>
     <id>bootstrap-fileinput</id>
 	<title>bootstrap-fileinput</title>
 	<title>bootstrap-fileinput</title>
-    <version>4.3.5</version>
+    <version>4.3.6</version>
     <authors>Kartik Visweswaran</authors>
     <authors>Kartik Visweswaran</authors>
     <owners>Kartik Visweswaran</owners>
     <owners>Kartik Visweswaran</owners>
     <licenseUrl>https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md</licenseUrl>
     <licenseUrl>https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md</licenseUrl>

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
 {
     "name": "bootstrap-fileinput",
     "name": "bootstrap-fileinput",
-    "version": "4.3.5",
+    "version": "4.3.6",
     "homepage": "https://github.com/kartik-v/bootstrap-fileinput",
     "homepage": "https://github.com/kartik-v/bootstrap-fileinput",
     "authors": [
     "authors": [
         "Kartik Visweswaran <[email protected]>"
         "Kartik Visweswaran <[email protected]>"

+ 1 - 1
themes/fa/theme.js

@@ -1,5 +1,5 @@
 /*!
 /*!
- * bootstrap-fileinput v4.3.5
+ * bootstrap-fileinput v4.3.6
  * http://plugins.krajee.com/file-input
  * http://plugins.krajee.com/file-input
  *
  *
  * Font Awesome icon theme configuration for bootstrap-fileinput. Requires font awesome assets to be loaded.
  * Font Awesome icon theme configuration for bootstrap-fileinput. Requires font awesome assets to be loaded.

+ 1 - 1
themes/gly/theme.js

@@ -1,5 +1,5 @@
 /*!
 /*!
- * bootstrap-fileinput v4.3.5
+ * bootstrap-fileinput v4.3.6
  * http://plugins.krajee.com/file-input
  * http://plugins.krajee.com/file-input
  *
  *
  * Glyphicon (default) theme configuration for bootstrap-fileinput.
  * Glyphicon (default) theme configuration for bootstrap-fileinput.

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff