浏览代码

Fix #412 & Fix #413: Updates to upload cancel and translations

Kartik Visweswaran 9 年之前
父节点
当前提交
92808db6a4

+ 3 - 1
CHANGE.md

@@ -3,7 +3,7 @@ Change Log: `bootstrap-fileinput`
 
 ## version 4.2.6
 
-**Date**: 07-Aug-2015
+**Date**: 21-Aug-2015
 
 1. (enh #373): Default delete ajax request type to POST (instead of DELETE).
 2. (enh #376): Ability to validate initial/server files for max and min file count.
@@ -23,6 +23,8 @@ Change Log: `bootstrap-fileinput`
 16. (enh #401): Various enhancements to preview file thumbnails and error validations.
 17. (enh #405): Create traditional Chinese translations.
 18. (enh #410): Better validation for IE 10 and below.
+19. (enh #412): Enhancements to file upload cancellation.
+20. (enh #413): Various updates to translations.
 
 ## version 4.2.5
 

+ 3 - 0
README.md

@@ -998,6 +998,9 @@ where:
 - `{name}`: will be replaced by the file name being uploaded
 - `{extensions}`: will be replaced by the comma separated list of extensions defined in `allowedFileExtensions`.
 
+### msgUploadAborted
+_string_ the message to be displayed when an ongoing ajax file upload is aborted by pressing the **Cancel** button. Defaults to `The file upload was aborted`. If this is set to null or empty, the internal ajax error message will be displayed.
+
 ### msgValidationError
 _string_ the exception message to be displayed within the caption container (instead of `msgFilesSelected`), 
 when a validation error is encountered. Defaults to `File Upload Error`.

二进制
bootstrap-fileinput.zip


+ 4 - 0
css/fileinput.css

@@ -218,4 +218,8 @@
 .file-uploading {
     background: url('../img/loading-sm.gif') no-repeat center bottom 10px;
     opacity: 0.6;
+}
+
+.file-error-message .close  {
+    margin-top: 10px;
 }

文件差异内容过多而无法显示
+ 0 - 0
css/fileinput.min.css


+ 12 - 5
js/fileinput.js

@@ -24,15 +24,15 @@
         if (navigator.appName != 'Microsoft Internet Explorer') {
             return false;
         }
+        if (ver == 10) {
+            return RegExp('msie\\s' + ver, 'i').test(navigator.userAgent);
+        }
         var div = document.createElement("div"), status;
         div.innerHTML = "<!--[if IE " + ver + "]> <i></i> <![endif]-->";
         status = div.getElementsByTagName("i").length;
         document.body.appendChild(div);
         div.parentNode.removeChild(div);
-        if (status) {
-            return status;
-        }
-        return RegExp('msie\\s' + ver, 'i').test(navigator.userAgent);
+        return status;
     },
     handler = function ($el, event, callback, skipNS) {
         var ev = skipNS ? event : event + '.fileinput';
@@ -513,6 +513,7 @@
             self.ajaxRequests = [];
             self.isError = false;
             self.ajaxAborted = false;
+            self.cancelling = false;
             self.dropZoneEnabled = hasDragDropSupport() && self.dropZoneEnabled;
             self.isDisabled = self.$element.attr('disabled') || self.$element.attr('readonly');
             self.isUploadable = hasFileUploadSupport() && !isEmpty(self.uploadUrl);
@@ -564,6 +565,9 @@
                 dot = errMsg.slice(-1) === '.' ? '' : '.',
                 text = jqXHR.responseJSON !== undefined && jqXHR.responseJSON.error !== undefined ?
                     jqXHR.responseJSON.error : jqXHR.responseText;
+            if (self.cancelling && self.msgUploadAborted) {
+                errMsg = self.msgUploadAborted;
+            }
             if (self.showAjaxErrorDetails && text) {
                 text = $.trim(text.replace(/\n\s*\n/g, '\n'));
                 text = text.length > 0 ? '<pre>' + text + '</pre>' : '';
@@ -571,7 +575,8 @@
             } else {
                 errMsg += dot;
             }
-            return fileName ? '<b>' + fileName + ': </b>' + jqXHR : errMsg;
+            self.cancelling = false;
+            return fileName ? '<b>' + fileName + ': </b>' + errMsg : errMsg;
         },
         raise: function (event, params) {
             var self = this, e = $.Event(event);
@@ -1168,6 +1173,7 @@
             var self = this, xhr = self.ajaxRequests, len = xhr.length, i;
             if (len > 0) {
                 for (i = 0; i < len; i += 1) {
+                    self.cancelling = true;
                     xhr[i].abort();
                 }
             }
@@ -2358,6 +2364,7 @@
         msgFilePreviewError: 'An error occurred while reading the file "{name}".',
         msgInvalidFileType: 'Invalid type for file "{name}". Only "{types}" files are supported.',
         msgInvalidFileExtension: 'Invalid extension for file "{name}". Only "{extensions}" files are supported.',
+        msgUploadAborted: 'The file upload was aborted',
         msgValidationError: 'File Upload Error',
         msgLoading: 'Loading file {index} of {files} &hellip;',
         msgProgress: 'Loading file {index} of {files} - {name} - {percent}% completed.',

文件差异内容过多而无法显示
+ 0 - 0
js/fileinput.min.js


+ 1 - 0
js/fileinput_locale_LANG.js

@@ -33,6 +33,7 @@
         msgFilePreviewError: 'An error occurred while reading the file "{name}".',
         msgInvalidFileType: 'Invalid type for file "{name}". Only "{types}" files are supported.',
         msgInvalidFileExtension: 'Invalid extension for file "{name}". Only "{extensions}" files are supported.',
+        msgUploadAborted: 'The file upload was aborted',
         msgValidationError: 'File Upload Error',
         msgLoading: 'Loading file {index} of {files} &hellip;',
         msgProgress: 'Loading file {index} of {files} - {name} - {percent}% completed.',

+ 1 - 0
js/fileinput_locale_bg.js

@@ -33,6 +33,7 @@
         msgFilePreviewError: 'Грешка при опит за четене на файла "{name}".',
         msgInvalidFileType: 'Невалиден тип на файла "{name}". Разрешени са само "{types}".',
         msgInvalidFileExtension: 'Невалидно разрешение на "{name}". Разрешени са само "{extensions}".',
+        msgUploadAborted: 'Качите файла, бе прекратена',
         msgValidationError: 'Грешка при качване на файл.',
         msgLoading: 'Зареждане на файл {index} от общо {files} &hellip;',
         msgProgress: 'Зареждане на файл {index} от общо {files} - {name} - {percent}% завършени.',

+ 57 - 56
js/fileinput_locale_sr.js → js/fileinput_locale_cr.js

@@ -1,56 +1,57 @@
-/*!
- * FileInput Serbian 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 Milos Stojanovic <[email protected]>
- *
- * NOTE: this file must be saved in UTF-8 encoding.
- */
-(function ($) {
-    "use strict";
-
-    $.fn.fileinputLocales['sr'] = {
-        fileSingle: 'datoteka',
-        filePlural: 'datoteke',
-        browseLabel: 'Izaberi &hellip;',
-        removeLabel: 'Ukloni',
-        removeTitle: 'Ukloni označene datoteke',
-        cancelLabel: 'Odustani',
-        cancelTitle: 'Prekini trenutno otpremanje',
-        uploadLabel: 'Otpremi',
-        uploadTitle: 'Otpremi označene datoteke',
-        msgZoomTitle: 'Приказ детаља',
-        msgZoomModalHeading: 'Детаљан приказ',
-        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.',
-        msgFilesTooMany: 'Broj datoteka označenih za otpremanje <b>({n})</b> prekoračuje maksimalni dozvoljeni limit od <b>{m}</b>.',
-        msgFileNotFound: 'Datoteka "{name}" nije pronađena!',
-        msgFileSecured: 'Datoteku "{name}" nije moguće pročitati zbog bezbednosnih ograničenja.',
-        msgFileNotReadable: 'Datoteku "{name}" nije moguće pročitati.',
-        msgFilePreviewAborted: 'Generisanje prikaza nije moguće za "{name}".',
-        msgFilePreviewError: 'Došlo je do greške prilikom čitanja datoteke "{name}".',
-        msgInvalidFileType: 'Datoteka "{name}" je pogrešnog formata. Dozvoljeni formati su "{types}".',
-        msgInvalidFileExtension: 'Ekstenzija datoteke "{name}" nije dozvoljena. Dozvoljene ekstenzije su "{extensions}".',
-        msgValidationError: 'Greška prilikom otpremanja fajla',
-        msgLoading: 'Učitavanje datoteke {index} od {files} &hellip;',
-        msgProgress: 'Učitavanje datoteke {index} od {files} - {name} - {percent}% završeno.',
-        msgSelected: '{n} {files} je označeno',
-        msgFoldersNotAllowed: 'Moguće je prevlačiti samo datoteke! Preskočeno je {n} fascikla.',
-        msgImageWidthSmall: 'Ширина Имаге Филе "{name}" мора бити најмање {size} пк.',
-        msgImageHeightSmall: 'Висина Имаге Филе "{name}" мора бити најмање {size} пк.',
-        msgImageWidthLarge: 'Ширина Имаге Филе "{name}" не може бити већи од {size} пк.',
-        msgImageHeightLarge: 'Висина Имаге Филе "{name}" не може бити већи од {size} пк.',
-        dropZoneTitle: 'Prevucite datoteke ovde &hellip;',
-        fileActionSettings: {
-            removeTitle: 'Уклони датотеку',
-            uploadTitle: 'филе уплоад',
-            indicatorNewTitle: 'Још није уплоадед',
-            indicatorSuccessTitle: 'Постављено',
-            indicatorErrorTitle: 'Додај Грешка',
-            indicatorLoadingTitle: 'уплоадинг ...'
-        }
-    };
-})(window.jQuery);
+/*!
+ * FileInput Croatian 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 Milos Stojanovic <[email protected]>
+ *
+ * NOTE: this file must be saved in UTF-8 encoding.
+ */
+(function ($) {
+    "use strict";
+
+    $.fn.fileinputLocales['cr'] = {
+        fileSingle: 'datoteka',
+        filePlural: 'datoteke',
+        browseLabel: 'Izaberi &hellip;',
+        removeLabel: 'Ukloni',
+        removeTitle: 'Ukloni označene datoteke',
+        cancelLabel: 'Odustani',
+        cancelTitle: 'Prekini trenutno otpremanje',
+        uploadLabel: 'Otpremi',
+        uploadTitle: 'Otpremi označene datoteke',
+        msgZoomTitle: 'Pregledavati pojedinosti',
+        msgZoomModalHeading: 'Detaljni pregled',
+        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.',
+        msgFilesTooMany: 'Broj datoteka označenih za otpremanje <b>({n})</b> prekoračuje maksimalni dozvoljeni limit od <b>{m}</b>.',
+        msgFileNotFound: 'Datoteka "{name}" nije pronađena!',
+        msgFileSecured: 'Datoteku "{name}" nije moguće pročitati zbog bezbednosnih ograničenja.',
+        msgFileNotReadable: 'Datoteku "{name}" nije moguće pročitati.',
+        msgFilePreviewAborted: 'Generisanje prikaza nije moguće za "{name}".',
+        msgFilePreviewError: 'Došlo je do greške prilikom čitanja datoteke "{name}".',
+        msgInvalidFileType: 'Datoteka "{name}" je pogrešnog formata. Dozvoljeni formati su "{types}".',
+        msgInvalidFileExtension: 'Ekstenzija datoteke "{name}" nije dozvoljena. Dozvoljene ekstenzije su "{extensions}".',
+        msgUploadAborted: 'Prijenos datoteka je prekinut',
+        msgValidationError: 'Greška prilikom otpremanja fajla',
+        msgLoading: 'Učitavanje datoteke {index} od {files} &hellip;',
+        msgProgress: 'Učitavanje datoteke {index} od {files} - {name} - {percent}% završeno.',
+        msgSelected: '{n} {files} je označeno',
+        msgFoldersNotAllowed: 'Moguće je prevlačiti samo datoteke! Preskočeno je {n} fascikla.',
+        msgImageWidthSmall: 'Širina slikovnu datoteku "{name}" moraju biti najmanje {size} px.',
+        msgImageHeightSmall: 'Visina slikovnu datoteku "{name}" moraju biti najmanje {size} px.',
+        msgImageWidthLarge: 'Širina slikovnu datoteku "{name}" ne može prelaziti {size} px.',
+        msgImageHeightLarge: 'Visina slikovnu datoteku "{name}" ne može prelaziti {size} px.',
+        dropZoneTitle: 'Prevucite datoteke ovde &hellip;',
+        fileActionSettings: {
+            removeTitle: 'Uklonite datoteku',
+            uploadTitle: 'Postavi datoteku',
+            indicatorNewTitle: 'Još nije učitao',
+            indicatorSuccessTitle: 'Preneseno',
+            indicatorErrorTitle: 'Postavi Greška',
+            indicatorLoadingTitle: 'Prijenos ...'
+        }
+    };
+})(window.jQuery);

+ 1 - 0
js/fileinput_locale_cz.js

@@ -33,6 +33,7 @@
         msgFilePreviewError: 'Nastala chyba při načtení souboru "{name}".',
         msgInvalidFileType: 'Neplatný typ souboru "{name}". Pouze "{types}" souborů jsou podporovány.',
         msgInvalidFileExtension: 'Neplatná extenze souboru "{name}". Pouze "{extensions}" souborů jsou podporovány.',
+        msgUploadAborted: 'Soubor nahrávání byl přerušen',
         msgValidationError: 'Chyba nahrání souboru.',
         msgLoading: 'Nahrávání souboru {index} z {files} &hellip;',
         msgProgress: 'Nahrávání souboru {index} z {files} - {name} - {percent}% dokončeno.',

+ 1 - 0
js/fileinput_locale_de.js

@@ -31,6 +31,7 @@
         msgFilePreviewError: 'Beim Lesen der Datei "{name}" ein Fehler aufgetreten.',
         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.',
+        msgUploadAborted: 'Der Datei-Upload wurde abgebrochen',
         msgValidationError: 'Fehler beim Hochladen',
         msgLoading: 'Lade Datei {index} von {files} hoch&hellip;',
         msgProgress: 'Datei {index} von {files} - {name} - zu {percent}% fertiggestellt.',

+ 1 - 0
js/fileinput_locale_el.js

@@ -33,6 +33,7 @@
         msgFilePreviewError: 'Παρουσιάστηκε σφάλμα κατά την ανάγνωση του αρχείου "{name}".',
         msgInvalidFileType: 'Μη έγκυρος τύπος αρχείου "{name}". Οι τύποι αρχείων που υποστηρίζονται είναι : "{types}".',
         msgInvalidFileExtension: 'Μη έγκυρη επέκταση αρχείου "{name}". Οι επεκτάσεις που υποστηρίζονται είναι:  "{extensions}" .',
+        msgUploadAborted: 'Το ανέβασμα των αρχείων ματαιώθηκε',
         msgValidationError: 'Σφάλμα κατά την μεταφόρτωση',
         msgLoading: 'Φόρτωση αρχείου {index} από {files} &hellip;',
         msgProgress: 'Φόρτωση αρχείου {index} απο {files} - {name} - {percent}% ολοκληρώθηκε.',

+ 1 - 0
js/fileinput_locale_es.js

@@ -33,6 +33,7 @@
         msgFilePreviewError: 'Ocurrió un error mientras se leía el archivo "{name}".',
         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.',
+        msgUploadAborted: 'La carga de archivos se ha cancelado',
         msgValidationError: 'Error al subir archivo',
         msgLoading: 'Subiendo archivo {index} de {files} &hellip;',
         msgProgress: 'Subiendo archivo {index} de {files} - {name} - {percent}% completado.',

+ 1 - 0
js/fileinput_locale_fa.js

@@ -34,6 +34,7 @@
         msgFilePreviewError: 'در هنگام خواندن فایل "{name}" خطایی رخ داد.',
         msgInvalidFileType: 'نوع فایل "{name}" معتبر نیست. فقط "{types}" پشیبانی می‌شود.',
         msgInvalidFileExtension: 'پسوند فایل "{name}" معتبر نیست. فقط "{extensions}" پشتیبانی می‌شود.',
+        msgUploadAborted: 'The file upload was aborted',
         msgValidationError: 'خطا در بارگزاری فایل',
         msgLoading: 'بارگیری فایل {index} از {files} &hellip;',
         msgProgress: 'بارگیری فایل {index} از {files} - {name} - {percent}% تمام شد.',

+ 1 - 0
js/fileinput_locale_fr.js

@@ -33,6 +33,7 @@
         msgFilePreviewError: 'Une erreur est survenue lors de la lecture du fichier "{name}".',
         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.',
+        msgUploadAborted: 'Le téléchargement du fichier a été interrompue',
         msgValidationError: 'Erreur lors de la transmission du fichier',
         msgLoading: 'Transmission du fichier {index} sur {files}&hellip;',
         msgProgress: 'Transmission du fichier {index} sur {files} - {name} - {percent}% faits.',

+ 1 - 0
js/fileinput_locale_hu.js

@@ -33,6 +33,7 @@
         msgFilePreviewError: 'Hiba lépett fel a "{name}" fájl olvasása közben.',
         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.',
+        msgUploadAborted: 'A fájl feltöltés megszakítva',
         msgValidationError: 'Fájl ellenörzési hiba.',
         msgLoading: '{index} / {files} töltése &hellip;',
         msgProgress: 'Feltöltés: {index} / {files} - {name} - {percent}% kész.',

+ 1 - 0
js/fileinput_locale_it.js

@@ -35,6 +35,7 @@
         msgFilePreviewError: 'Errore durante la lettura del file "{name}".',
         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}".',
+        msgUploadAborted: 'Il caricamento del file è stata interrotta',
         msgValidationError: 'Errore caricamento file',
         msgLoading: 'Caricamento file {index} di {files}&hellip;',
         msgProgress: 'Caricamento file {index} di {files} - {name} - {percent}% completato.',

+ 1 - 0
js/fileinput_locale_nl.js

@@ -33,6 +33,7 @@
         msgFilePreviewError: 'Er is een fout opgetreden met lezen van "{name}".',
         msgInvalidFileType: 'Geen geldig bestand "{name}". Alleen "{types}" zijn toegestaan.',
         msgInvalidFileExtension: 'Geen geldige extensie "{name}". Alleen "{extensions}" zijn toegestaan.',
+        msgUploadAborted: 'Het uploaden van bestanden is afgebroken',
         msgValidationError: 'Bestand upload fout',
         msgLoading: 'Bestanden laden {index} van de {files} &hellip;',
         msgProgress: 'Bestanden laden {index} van de {files} - {name} - {percent}% compleet.',

+ 1 - 0
js/fileinput_locale_pl.js

@@ -33,6 +33,7 @@
         msgFilePreviewError: 'Wystąpił błąd w czasie odczytu pliku "{name}".',
         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.',
+        msgUploadAborted: 'Plik przesyłanie zostało przerwane',
         msgValidationError: 'Błąd podczas przesyłania pliku.',
         msgLoading: 'Wczytywanie pliku {index} z {files} &hellip;',
         msgProgress: 'Wczytywanie pliku {index} z {files} - {name} - {percent}% zakończone.',

+ 1 - 0
js/fileinput_locale_pt-BR.js

@@ -33,6 +33,7 @@
         msgFilePreviewError: 'Ocorreu um erro ao ler o arquivo "{name}".',
         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.',
+        msgUploadAborted: 'O upload do arquivo foi abortada',
         msgValidationError: 'Erro de envio de arquivo',
         msgLoading: 'Enviando arquivo {index} de {files}&hellip;',
         msgProgress: 'Enviando arquivo {index} de {files} - {name} - {percent}% completo.',

+ 1 - 0
js/fileinput_locale_pt.js

@@ -33,6 +33,7 @@
         msgFilePreviewError: 'Ocorreu um erro ao ler o ficheiro "{name}".',
         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.',
+        msgUploadAborted: 'O upload do arquivo foi abortada',
         msgValidationError: 'Erro de carregamento de ficheiro',
         msgLoading: 'A carregar ficheiro {index} de {files} &hellip;',
         msgProgress: 'A carregar ficheiro {index} de {files} - {name} - {percent}% completo.',

+ 1 - 0
js/fileinput_locale_ro.js

@@ -34,6 +34,7 @@
         msgFilePreviewError: 'A intervenit o eroare în încercarea de citire a fișierului "{name}".',
         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}".',
+        msgUploadAborted: 'Fișierul Încărcarea a fost întrerupt',
         msgValidationError: 'Eroare de încărcare',
         msgLoading: 'Se încarcă fișierul {index} din {files} &hellip;',
         msgProgress: 'Se încarcă fișierul {index} din {files} - {name} - {percent}% încărcat.',

+ 1 - 0
js/fileinput_locale_ru.js

@@ -34,6 +34,7 @@
         msgFilePreviewError: 'Произошла ошибка при чтении файла "{name}".',
         msgInvalidFileType: 'Запрещенный тип файла для "{name}". Только "{types}" разрешены.',
         msgInvalidFileExtension: 'Запрещенное расширение для файла "{name}". Только "{extensions}" разрешены.',
+        msgUploadAborted: 'Выгрузка файла прервана',
         msgValidationError: 'Ошибка при загрузке файла',
         msgLoading: 'Загрузка файла {index} из {files} &hellip;',
         msgProgress: 'Загрузка файла {index} из {files} - {name} - {percent}% завершено.',

+ 1 - 0
js/fileinput_locale_sk.js

@@ -33,6 +33,7 @@
         msgFilePreviewError: 'Nastala chyba pri načítaní súboru "{name}".',
         msgInvalidFileType: 'Neplatný typ súboru "{name}". Iba "{types}" súborov sú podporované.',
         msgInvalidFileExtension: 'Neplatná extenzia súboru "{name}". Iba "{extensions}" súborov sú podporované.',
+        msgUploadAborted: 'Súbor nahrávania bol prerušený',
         msgValidationError: 'Chyba nahratia súboru.',
         msgLoading: 'Nahrávanie súboru {index} z {files} &hellip;',
         msgProgress: 'Nahrávanie súboru {index} z {files} - {name} - {percent}% dokončené.',

+ 1 - 0
js/fileinput_locale_th.js

@@ -33,6 +33,7 @@
         msgFilePreviewError: 'พบปัญหาในการดูตัวอย่างไฟล์ "{name}".',
         msgInvalidFileType: 'ไฟล์ "{name}" เป็นประเภทไฟล์ที่ไม่ถูกต้อง, อนุญาตเฉพาะไฟล์ประเภท "{types}"',
         msgInvalidFileExtension: 'ไฟล์ "{name}" เป็น extension ที่ไมถูกต้อง, อนุญาตเฉพาะไฟล์ extension "{extensions}"',
+        msgUploadAborted: 'อัปโหลดไฟล์ถูกยกเลิก',
         msgValidationError: 'อัพโหลดไฟล์มีปัญหา',
         msgLoading: 'กำลังโหลดไฟล์ {index} จาก {files} &hellip;',
         msgProgress: 'กำลังโหลดไฟล์ {index} จาก {files} - {name} - {percent}%',

+ 1 - 0
js/fileinput_locale_tr.js

@@ -33,6 +33,7 @@
         msgFilePreviewError: '"{name}" dosyası okunurken bir hata oluştu.',
         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.',
+        msgUploadAborted: 'Dosya yükleme iptal edildi',
         msgValidationError: 'Dosya Yükleme Hatası',
         msgLoading: 'Dosyalar yükleniyor {index} / {files} &hellip;',
         msgProgress: 'Dosya yükleniyor {index} / {files} - {name} - %{percent} tamamlandı.',

+ 1 - 0
js/fileinput_locale_uk.js

@@ -34,6 +34,7 @@
         msgFilePreviewError: 'Сталася помилка під час читання файла "{name}".',
         msgInvalidFileType: 'Заборонений тип файла для "{name}". Тільки "{types}" дозволені.',
         msgInvalidFileExtension: 'Заборонене розширення для файла "{name}". Тільки "{extensions}" дозволені.',
+        msgUploadAborted: 'Вивантаження файлу перервана',
         msgValidationError: 'Помилка під час загрузки файла',
         msgLoading: 'Загрузка файла {index} із {files} &hellip;',
         msgProgress: 'Загрузка файла {index} із {files} - {name} - {percent}% завершено.',

+ 1 - 0
js/fileinput_locale_zh-TW.js

@@ -34,6 +34,7 @@
         msgFilePreviewError: '讀取 "{name}" 發生錯誤.',
         msgInvalidFileType: '檔案類型錯誤 "{name}". 只能使用 "{types}" 類型的檔案.',
         msgInvalidFileExtension: '附檔名錯誤 "{name}". 只能使用 "{extensions}" 的檔案.',
+        msgUploadAborted: '該文件上傳被中止',
         msgValidationError: '檔案上傳失敗',
         msgLoading: '載入第 {index} 個檔案,共 {files} &hellip;',
         msgProgress: '載入第 {index} 個檔案,共 {files} - {name} - {percent}% 成功.',

+ 1 - 0
js/fileinput_locale_zh.js

@@ -34,6 +34,7 @@
         msgFilePreviewError: '读取 "{name}" 时出现了一个错误.',
         msgInvalidFileType: '不正确的类型 "{name}". 只支持 "{types}" 类型的文件.',
         msgInvalidFileExtension: '不正确的文件扩展名 "{name}". 只支持 "{extensions}" 的文件扩展名.',
+        msgUploadAborted: '该文件上传被中止',
         msgValidationError: '文件上传错误',
         msgLoading: '加载第 {index} 文件 共 {files} &hellip;',
         msgProgress: '加载第 {index} 文件 共 {files} - {name} - {percent}% 完成.',

部分文件因为文件数量过多而无法显示