@@ -2381,7 +2381,7 @@ public void handleAddLibrary(Editor editor) {
2381
2381
JFileChooser fileChooser = new JFileChooser (System .getProperty ("user.home" ));
2382
2382
fileChooser .setDialogTitle (_ ("Select a zip file or a folder containing the library you'd like to add" ));
2383
2383
fileChooser .setFileSelectionMode (JFileChooser .FILES_AND_DIRECTORIES );
2384
- fileChooser .setFileFilter (new FileNameExtensionFilter ("ZIP files or folders" , "zip" ));
2384
+ fileChooser .setFileFilter (new FileNameExtensionFilter (_ ( "ZIP files or folders" ) , "zip" ));
2385
2385
2386
2386
Dimension preferredSize = fileChooser .getPreferredSize ();
2387
2387
fileChooser .setPreferredSize (new Dimension (preferredSize .width + 200 , preferredSize .height + 200 ));
@@ -2404,7 +2404,7 @@ public void handleAddLibrary(Editor editor) {
2404
2404
zipDeflater .deflate ();
2405
2405
File [] foldersInTmpFolder = tmpFolder .listFiles (new OnlyDirs ());
2406
2406
if (foldersInTmpFolder .length != 1 ) {
2407
- throw new IOException ("Zip doesn't contain one library" );
2407
+ throw new IOException (_ ( "Zip doesn't contain a library" ) );
2408
2408
}
2409
2409
sourceFile = foldersInTmpFolder [0 ];
2410
2410
} catch (IOException e ) {
@@ -2413,22 +2413,27 @@ public void handleAddLibrary(Editor editor) {
2413
2413
}
2414
2414
}
2415
2415
2416
- // is there a library?
2417
- File libFolder = scanFatLibrary (sourceFile );
2418
- if (libFolder == null ) {
2419
- editor .statusError ("Not a valid library" );
2416
+ // is there a valid library?
2417
+ File libFolder = sourceFile ;
2418
+ String libName = libFolder .getName ();
2419
+ if (!Sketch .isSanitaryName (libName )) {
2420
+ String mess = I18n .format (_ ("The library \" {0}\" cannot be used.\n "
2421
+ + "Library names must contain only basic letters and numbers.\n "
2422
+ + "(ASCII only and no spaces, and it cannot start with a number)" ),
2423
+ libName );
2424
+ editor .statusError (mess );
2420
2425
return ;
2421
2426
}
2422
2427
String [] headerFiles = headerListFromIncludePath (libFolder );
2423
2428
if (headerFiles == null || headerFiles .length == 0 ) {
2424
- editor .statusError ("Not a valid library" );
2429
+ editor .statusError (_ ( "Not a valid library: no header files found" ) );
2425
2430
return ;
2426
2431
}
2427
2432
2428
2433
// copy folder
2429
2434
File destinationFolder = new File (getSketchbookLibrariesFolder (), sourceFile .getName ());
2430
2435
if (!destinationFolder .mkdir ()) {
2431
- editor .statusError ("A library named " + sourceFile .getName () + " already exists" );
2436
+ editor .statusError (I18n . format ( _ ( "A library named {0} already exists" ), sourceFile .getName ()) );
2432
2437
return ;
2433
2438
}
2434
2439
try {
0 commit comments