Hi everyone!
I’ve run into a problem while trying to apply UploadI18N on my upload form. The problem is as follows: when form opens I see a JS error ‘cannot get property ‘one’ of null’ (in browser console it’s connected to ‘_i18nMulti’ variable) and form doesn’t respond to any actions. Without providing I18N it works just fine.
My UploadI18N is:
UploadI18N uploadI18N = new UploadI18N();
//general error
uploadI18N.setError( new UploadI18N.Error() );
uploadI18N.getError().setFileIsTooBig( "Размер файла превышает 2 Мб" );
uploadI18N.getError().setIncorrectFileType( "Расширение должно соответствовать .pdf, .jpg или .png" );
uploadI18N.getError().setTooManyFiles( "Нужно прикрепить не более 1 файла" );
//add files
uploadI18N.setAddFiles( new UploadI18N.AddFiles() );
uploadI18N.getAddFiles().setOne( "Загрузить файл" );
uploadI18N.getAddFiles().setMany( "Загрузить файлы" );
//uploading
uploadI18N.setUploading( new UploadI18N.Uploading() );
//uploading errors
uploadI18N.getUploading().setError( new UploadI18N.Uploading.Error() );
uploadI18N.getUploading().getError().setForbidden( "В доступе отказано!" );
uploadI18N.getUploading().getError().setServerUnavailable( "Сервер недоступен!" );
uploadI18N.getUploading().getError().setUnexpectedServerError( "Внезапная ошибка сервера!" );
//uploading status
uploadI18N.getUploading().setStatus( new UploadI18N.Uploading.Status() );
uploadI18N.getUploading().getStatus().setConnecting("Подключение...");
uploadI18N.getUploading().getStatus().setHeld("Ожидание...");
uploadI18N.getUploading().getStatus().setProcessing("Обработка...");
uploadI18N.getUploading().getStatus().setStalled("Ожидание...");
//uploading remaining time
uploadI18N.getUploading().setRemainingTime( new UploadI18N.Uploading.RemainingTime() );
uploadI18N.getUploading().getRemainingTime().setPrefix( "Осталось" );
uploadI18N.getUploading().getRemainingTime().setUnknown( "Неизвестно" );
uploadI18N.setCancel( "Отмена" );
uploadI18N.setUnits( new UploadI18N.Units() );
uploadI18N.getUnits().setSize( new ArrayList<>(Arrays.asList("б", "кБ", "Мб", "Гб", "Тб", "Пб", "Еб", "Зб", "Йб") ));
MemoryBuffer memoryBuffer = new MemoryBuffer();
Upload upload = new Upload(memoryBuffer);
upload.setMaxFiles(1);
upload.setMaxFileSize( 2097152 );
upload.setAcceptedFileTypes( "image/jpeg", "image/png", "application/pdf" );
upload.setI18n( I18n.getUploadI18nRu() );
upload.setDropLabel( new Label( "Перетащите..." ) );
upload.addFinishedListener(e -> {
//something...
});
content.add(upload);
I’m new to Vaadin and would appreciate any help.