OpenJDK / aarch32-port / jdk9u / jdk
changeset 5573:c960cb8d0f8b
Merge
author | lana |
---|---|
date | Wed, 27 Jun 2012 18:39:43 -0700 |
parents | ad126e65ccc5 b92353a01aa0 |
children | 8e6b8a676596 a18a547546a4 |
files | |
diffstat | 128 files changed, 5897 insertions(+), 3202 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags Tue Jun 26 09:54:29 2012 -0700 +++ b/.hgtags Wed Jun 27 18:39:43 2012 -0700 @@ -165,3 +165,4 @@ 4eac56f073ea8179b1a35fcd2af9b48b0088be9f jdk8-b41 cf5c1f6fbc5ba14163fe0ef8eb8601b33f951372 jdk8-b42 b3246687c3695dff6f461bb407f9db88f7d072e7 jdk8-b43 +db471a7af03168e4441c245b1d9976f720a7cb77 jdk8-b44
--- a/make/com/sun/jmx/Makefile Tue Jun 26 09:54:29 2012 -0700 +++ b/make/com/sun/jmx/Makefile Wed Jun 27 18:39:43 2012 -0700 @@ -1,5 +1,5 @@ # -# Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -100,6 +100,23 @@ # so that *_tie classes are generated in package without the prefix # org.omg.stub (6375696) # +# To ensure the latest stub generator files are picked up from corba repo +# when available, we need to run with latest rmic version available. rmic +# launch tool not built at this stage but we can invoke via rmi class. + +RMIC_JAVA = $(OUTPUTDIR)/bin/java +# need to treat 64bit solaris differently +ifeq ($(PLATFORM)-$(LIBARCH), solaris-amd64) +RMIC_JAVA = $(OUTPUTDIR)/bin/amd64/java +endif +ifeq ($(PLATFORM)-$(LIBARCH), solaris-sparcv9) +RMIC_JAVA = $(OUTPUTDIR)/bin/sparcv9/java +endif + +ifeq ($(CROSS_COMPILE_ARCH),) +RMIC = $(RMIC_JAVA) $(JAVA_TOOLS_FLAGS) -cp $(OUTPUTDIR)/classes sun.rmi.rmic.Main +endif + $(CLASSDESTDIR)/%_Stub.class: $(CLASSDESTDIR)/%.class $(prep-target) $(RMIC) -classpath "$(CLASSDESTDIR)" \
--- a/make/common/Defs-embedded.gmk Tue Jun 26 09:54:29 2012 -0700 +++ b/make/common/Defs-embedded.gmk Wed Jun 27 18:39:43 2012 -0700 @@ -42,7 +42,7 @@ OTHER_CPPFLAGS += -DJAVASE_EMBEDDED # Product naming -PRODUCT_SUFFIX = SE Runtime Environment for Embedded +PRODUCT_SUFFIX = SE Embedded Runtime Environment RUNTIME_NAME = $(PRODUCT_NAME) $(PRODUCT_SUFFIX) # Reduced JRE locations
--- a/make/java/java/FILES_java.gmk Tue Jun 26 09:54:29 2012 -0700 +++ b/make/java/java/FILES_java.gmk Wed Jun 27 18:39:43 2012 -0700 @@ -372,6 +372,7 @@ java/util/spi/CurrencyNameProvider.java \ java/util/spi/LocaleNameProvider.java \ java/util/spi/LocaleServiceProvider.java \ + java/util/spi/ResourceBundleControlProvider.java \ java/util/spi/TimeZoneNameProvider.java \ java/io/Closeable.java \ java/io/Flushable.java \
--- a/make/java/nio/mapfile-linux Tue Jun 26 09:54:29 2012 -0700 +++ b/make/java/nio/mapfile-linux Wed Jun 27 18:39:43 2012 -0700 @@ -88,6 +88,7 @@ Java_sun_nio_ch_IOUtil_fdVal; Java_sun_nio_ch_IOUtil_fdLimit; Java_sun_nio_ch_IOUtil_initIDs; + Java_sun_nio_ch_IOUtil_iovMax; Java_sun_nio_ch_IOUtil_makePipe; Java_sun_nio_ch_IOUtil_randomBytes; Java_sun_nio_ch_IOUtil_setfdVal;
--- a/make/java/nio/mapfile-solaris Tue Jun 26 09:54:29 2012 -0700 +++ b/make/java/nio/mapfile-solaris Wed Jun 27 18:39:43 2012 -0700 @@ -76,6 +76,7 @@ Java_sun_nio_ch_IOUtil_fdLimit; Java_sun_nio_ch_IOUtil_fdVal; Java_sun_nio_ch_IOUtil_initIDs; + Java_sun_nio_ch_IOUtil_iovMax; Java_sun_nio_ch_IOUtil_makePipe; Java_sun_nio_ch_IOUtil_randomBytes; Java_sun_nio_ch_IOUtil_setfdVal;
--- a/src/macosx/classes/apple/applescript/AppleScriptEngine.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/macosx/classes/apple/applescript/AppleScriptEngine.java Wed Jun 27 18:39:43 2012 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -26,6 +26,7 @@ package apple.applescript; import java.io.*; +import java.nio.file.Files; import java.util.*; import java.util.Map.Entry; @@ -297,7 +298,7 @@ File tmpfile; FileWriter tmpwrite; try { - tmpfile = File.createTempFile("AppleScriptEngine.", ".scpt"); + tmpfile = Files.createTempFile("AppleScriptEngine.", ".scpt").toFile(); tmpwrite = new FileWriter(tmpfile); // read in our input and write directly to tmpfile
--- a/src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java Wed Jun 27 18:39:43 2012 -0700 @@ -63,6 +63,7 @@ private static native void nativeSetNSWindowSecurityWarningPositioning(long nsWindowPtr, double x, double y, float biasX, float biasY); private static native void nativeSetEnabled(long nsWindowPtr, boolean isEnabled); private static native void nativeSynthesizeMouseEnteredExitedEvents(long nsWindowPtr); + private static native void nativeDispose(long nsWindowPtr); private static native int nativeGetNSWindowDisplayID_AppKitThread(long nsWindowPtr); @@ -423,6 +424,7 @@ EventQueue.invokeLater(new Runnable() { public void run() { contentView.dispose(); + nativeDispose(getNSWindowPtr()); CPlatformWindow.super.dispose(); } });
--- a/src/macosx/classes/sun/lwawt/macosx/CToolkitThreadBlockedHandler.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/macosx/classes/sun/lwawt/macosx/CToolkitThreadBlockedHandler.java Wed Jun 27 18:39:43 2012 -0700 @@ -41,10 +41,11 @@ } public void enter() { - toolkit.startNativeNestedEventLoop(); + // Execute the next AppKit event while we are waiting for system to + // finish our request - this will save us from biting our own tail + toolkit.executeNextAppKitEvent(); } public void exit() { - toolkit.stopNativeNestedEventLoop(); } }
--- a/src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java Wed Jun 27 18:39:43 2012 -0700 @@ -63,9 +63,7 @@ private static native void initIDs(); - static native void startNativeNestedEventLoop(); - - static native void stopNativeNestedEventLoop(); + static native void executeNextAppKitEvent(); private static CInputMethodDescriptor sInputMethodDescriptor; @@ -361,9 +359,11 @@ CWrapper.NSObject.release(screen); } // Convert between Cocoa's coordinate system and Java. - return new Insets(fullScreen.height - workArea.height - workArea.y, - workArea.x, workArea.y, - fullScreen.width - workArea.width - workArea.x); + int bottom = workArea.y - fullScreen.y; + int top = fullScreen.height - workArea.height - bottom; + int left = workArea.x - fullScreen.x; + int right = fullScreen.width - workArea.width - left; + return new Insets(top, left, bottom, right); } @Override
--- a/src/macosx/native/sun/awt/AWTView.m Tue Jun 26 09:54:29 2012 -0700 +++ b/src/macosx/native/sun/awt/AWTView.m Wed Jun 27 18:39:43 2012 -0700 @@ -188,7 +188,9 @@ #endif } } else { +#if IM_DEBUG NSLog(@"-> IM does not want to handle event"); +#endif [self deliverJavaMouseEvent: event]; } }
--- a/src/macosx/native/sun/awt/AWTWindow.m Tue Jun 26 09:54:29 2012 -0700 +++ b/src/macosx/native/sun/awt/AWTWindow.m Wed Jun 27 18:39:43 2012 -0700 @@ -228,6 +228,7 @@ } if (self.nsWindow == nil) return nil; // no hope either + [self.nsWindow release]; // the property retains the object already self.isEnabled = YES; self.javaPlatformWindow = platformWindow; @@ -677,9 +678,9 @@ styleBits:styleBits frameRect:frameRect contentView:contentView]; + // the window is released is CPlatformWindow.nativeDispose() - if (window) CFRetain(window); - [window release]; // GC + if (window) CFRetain(window.nsWindow); }]; JNF_COCOA_EXIT(env); @@ -1160,3 +1161,24 @@ JNF_COCOA_EXIT(env); } +JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CPlatformWindow_nativeDispose +(JNIEnv *env, jclass clazz, jlong windowPtr) +{ +JNF_COCOA_ENTER(env); + + NSWindow *nsWindow = OBJC(windowPtr); + [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){ + AWTWindow *window = (AWTWindow*)[nsWindow delegate]; + + // AWTWindow holds a reference to the NSWindow in its nsWindow + // property. Unsetting the delegate allows it to be deallocated + // which releases the reference. This, in turn, allows the window + // itself be deallocated. + [nsWindow setDelegate: nil]; + + [window release]; + }]; + +JNF_COCOA_EXIT(env); +} +
--- a/src/macosx/native/sun/awt/LWCToolkit.m Tue Jun 26 09:54:29 2012 -0700 +++ b/src/macosx/native/sun/awt/LWCToolkit.m Wed Jun 27 18:39:43 2012 -0700 @@ -42,7 +42,6 @@ @implementation AWTToolkit static long eventCount; -static bool shouldKeepRunningNestedLoop = NO; + (long) getEventCount{ return eventCount; @@ -460,33 +459,18 @@ /* * Class: sun_lwawt_macosx_LWCToolkit - * Method: startNativeNestedEventLoop + * Method: executeNextAppKitEvent * Signature: ()V */ -JNIEXPORT void JNICALL Java_sun_lwawt_macosx_LWCToolkit_startNativeNestedEventLoop +JNIEXPORT void JNICALL Java_sun_lwawt_macosx_LWCToolkit_executeNextAppKitEvent (JNIEnv *env, jclass cls) { - if(!shouldKeepRunningNestedLoop) { - NSRunLoop *theRL = [NSRunLoop currentRunLoop]; - NSApplication * app = [NSApplication sharedApplication]; - shouldKeepRunningNestedLoop = YES; - while (shouldKeepRunningNestedLoop && [theRL runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]) - { - NSEvent * event = [app nextEventMatchingMask: 0xFFFFFFFF untilDate:nil inMode:NSDefaultRunLoopMode dequeue:YES]; - if (event != nil) { - [app sendEvent: event]; - } - } + // Simply get the next event in native loop and pass it to execution + // We'll be called repeatedly so there's no need to block here + NSRunLoop *theRL = [NSRunLoop currentRunLoop]; + NSApplication * app = [NSApplication sharedApplication]; + NSEvent * event = [app nextEventMatchingMask: 0xFFFFFFFF untilDate:nil inMode:NSDefaultRunLoopMode dequeue:YES]; + if (event != nil) { + [app sendEvent: event]; } } - -/* - * Class: sun_lwawt_macosx_LWCToolkit - * Method: stopNativeNestedEventLoop - * Signature: ()V - */ -JNIEXPORT void JNICALL Java_sun_lwawt_macosx_LWCToolkit_stopNativeNestedEventLoop -(JNIEnv *env, jclass cls) -{ - shouldKeepRunningNestedLoop = NO; -}
--- a/src/macosx/native/sun/java2d/opengl/CGLGraphicsConfig.m Tue Jun 26 09:54:29 2012 -0700 +++ b/src/macosx/native/sun/java2d/opengl/CGLGraphicsConfig.m Wed Jun 27 18:39:43 2012 -0700 @@ -63,12 +63,14 @@ CGLCtxInfo *ctxinfo = (CGLCtxInfo *)oglc->ctxInfo; if (ctxinfo != NULL) { + NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; [NSOpenGLContext clearCurrentContext]; [ctxinfo->context clearDrawable]; [ctxinfo->context release]; if (ctxinfo->scratchSurface != 0) { [ctxinfo->scratchSurface release]; } + [pool drain]; free(ctxinfo); } }
--- a/src/macosx/native/sun/osxapp/QueuingApplicationDelegate.h Tue Jun 26 09:54:29 2012 -0700 +++ b/src/macosx/native/sun/osxapp/QueuingApplicationDelegate.h Wed Jun 27 18:39:43 2012 -0700 @@ -30,6 +30,8 @@ BOOL fHandlesDocumentTypes; BOOL fHandlesURLTypes; + id <NSApplicationDelegate> realDelegate; + NSMutableArray* queue; } @@ -40,5 +42,9 @@ - (void)processQueuedEventsWithTargetDelegate:(id <NSApplicationDelegate>)delegate; +@property(retain) id <NSApplicationDelegate> realDelegate; + +@property(retain) NSMutableArray* queue; + @end
--- a/src/macosx/native/sun/osxapp/QueuingApplicationDelegate.m Tue Jun 26 09:54:29 2012 -0700 +++ b/src/macosx/native/sun/osxapp/QueuingApplicationDelegate.m Wed Jun 27 18:39:43 2012 -0700 @@ -27,8 +27,6 @@ #import "QueuingApplicationDelegate.h" -static id <NSApplicationDelegate> realDelegate = nil; - @interface NSBundle (EAWTOverrides) - (BOOL)_hasEAWTOverride:(NSString *)key; @end @@ -44,6 +42,9 @@ @implementation QueuingApplicationDelegate +@synthesize realDelegate; +@synthesize queue; + + (QueuingApplicationDelegate*) sharedDelegate { static QueuingApplicationDelegate * qad = nil; @@ -62,7 +63,7 @@ return self; } - self->queue = [[NSMutableArray arrayWithCapacity: 0] retain]; + self.queue = [NSMutableArray arrayWithCapacity: 0]; // If the java application has a bundle with an Info.plist file with // a CFBundleDocumentTypes entry, then it is set up to handle Open Doc @@ -100,8 +101,8 @@ Class clz = [QueuingApplicationDelegate class]; [ctr removeObserver:clz]; - [self->queue release]; - self->queue = nil; + self.queue = nil; + self.realDelegate = nil; [super dealloc]; } @@ -109,16 +110,16 @@ - (void)_handleOpenURLEvent:(NSAppleEventDescriptor *)openURLEvent withReplyEvent:(NSAppleEventDescriptor *)replyEvent { - [self->queue addObject:^(){ - [realDelegate _handleOpenURLEvent:openURLEvent withReplyEvent:replyEvent]; - }]; + [self.queue addObject:[^(){ + [self.realDelegate _handleOpenURLEvent:openURLEvent withReplyEvent:replyEvent]; + } copy]]; } - (void)application:(NSApplication *)theApplication openFiles:(NSArray *)fileNames { - [self->queue addObject:^(){ - [realDelegate application:theApplication openFiles:fileNames]; - }]; + [self.queue addObject:[^(){ + [self.realDelegate application:theApplication openFiles:fileNames]; + } copy]]; } - (NSApplicationPrintReply)application:(NSApplication *)application printFiles:(NSArray *)fileNames withSettings:(NSDictionary *)printSettings showPrintPanels:(BOOL)showPrintPanels @@ -127,9 +128,9 @@ return NSPrintingCancelled; } - [self->queue addObject:^(){ - [realDelegate application:application printFiles:fileNames withSettings:printSettings showPrintPanels:showPrintPanels]; - }]; + [self.queue addObject:[^(){ + [self.realDelegate application:application printFiles:fileNames withSettings:printSettings showPrintPanels:showPrintPanels]; + } copy]]; // well, a bit premature, but what else can we do?.. return NSPrintingSuccess; @@ -137,76 +138,76 @@ - (void)_willFinishLaunching { - QueuingApplicationDelegate * q = self; - [self->queue addObject:^(){ - [[realDelegate class] _willFinishLaunching]; - }]; + [self.queue addObject:[^(){ + [[self.realDelegate class] _willFinishLaunching]; + } copy]]; } - (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag { - [self->queue addObject:^(){ - [realDelegate applicationShouldHandleReopen:theApplication hasVisibleWindows:flag]; - }]; + [self.queue addObject:[^(){ + [self.realDelegate applicationShouldHandleReopen:theApplication hasVisibleWindows:flag]; + } copy]]; return YES; } - (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)app { - [self->queue addObject:^(){ - [realDelegate applicationShouldTerminate:app]; - }]; + [self.queue addObject:[^(){ + [self.realDelegate applicationShouldTerminate:app]; + } copy]]; return NSTerminateLater; } - (void)_systemWillPowerOff { - [self->queue addObject:^(){ - [[realDelegate class] _systemWillPowerOff]; - }]; + [self.queue addObject:[^(){ + [[self.realDelegate class] _systemWillPowerOff]; + } copy]]; } - (void)_appDidActivate { - [self->queue addObject:^(){ - [[realDelegate class] _appDidActivate]; - }]; + [self.queue addObject:[^(){ + [[self.realDelegate class] _appDidActivate]; + } copy]]; } - (void)_appDidDeactivate { - [self->queue addObject:^(){ - [[realDelegate class] _appDidDeactivate]; - }]; + [self.queue addObject:[^(){ + [[self.realDelegate class] _appDidDeactivate]; + } copy]]; } - (void)_appDidHide { - [self->queue addObject:^(){ - [[realDelegate class] _appDidHide]; - }]; + [self.queue addObject:[^(){ + [[self.realDelegate class] _appDidHide]; + } copy]]; } - (void)_appDidUnhide { - [self->queue addObject:^(){ - [[realDelegate class] _appDidUnhide]; - }]; + [self.queue addObject:[^(){ + [[self.realDelegate class] _appDidUnhide]; + } copy]]; } - (void)processQueuedEventsWithTargetDelegate:(id <NSApplicationDelegate>)delegate { + self.realDelegate = delegate; + NSUInteger i; - NSUInteger count = [self->queue count]; - - realDelegate = delegate; + NSUInteger count = [self.queue count]; for (i = 0; i < count; i++) { - void (^event)() = (void (^)())[self->queue objectAtIndex: i]; + void (^event)() = (void (^)())[self.queue objectAtIndex: i]; event(); + [event release]; } - [self->queue removeAllObjects]; + [self.queue removeAllObjects]; } @end
--- a/src/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java Wed Jun 27 18:39:43 2012 -0700 @@ -926,9 +926,20 @@ int x, int y, int w, int h) { // Text is odd in that it uses the TEXT_BACKGROUND vs BACKGROUND. JComponent c = context.getComponent(); + Container container = c.getParent(); + Container containerParent = null; GTKStyle style = (GTKStyle)context.getStyle(); Region id = context.getRegion(); int state = context.getComponentState(); + + if (c instanceof ListCellRenderer && container != null) { + containerParent = container.getParent(); + if (containerParent instanceof JComboBox + && containerParent.hasFocus()) { + state |= SynthConstants.FOCUSED; + } + } + synchronized (UNIXToolkit.GTK_LOCK) { if (ENGINE.paintCachedImage(g, x, y, w, h, id, state)) { return; @@ -938,9 +949,10 @@ int focusSize = 0; boolean interiorFocus = style.getClassSpecificBoolValue( context, "interior-focus", true); + + focusSize = style.getClassSpecificIntValue(context, + "focus-line-width",1); if (!interiorFocus && (state & SynthConstants.FOCUSED) != 0) { - focusSize = style.getClassSpecificIntValue(context, - "focus-line-width",1); x += focusSize; y += focusSize; w -= 2 * focusSize; @@ -961,11 +973,25 @@ h - (2 * yThickness), ColorType.TEXT_BACKGROUND); - if (focusSize > 0) { - x -= focusSize; - y -= focusSize; - w += 2 * focusSize; - h += 2 * focusSize; + if (focusSize > 0 && (state & SynthConstants.FOCUSED) != 0) { + if (!interiorFocus) { + x -= focusSize; + y -= focusSize; + w += 2 * focusSize; + h += 2 * focusSize; + } else { + if (containerParent instanceof JComboBox) { + x += (focusSize + 2); + y += (focusSize + 1); + w -= (2 * focusSize + 1); + h -= (2 * focusSize + 2); + } else { + x += focusSize; + y += focusSize; + w -= 2 * focusSize; + h -= 2 * focusSize; + } + } ENGINE.paintFocus(g, context, id, gtkState, "entry", x, y, w, h); }
--- a/src/share/classes/com/sun/java/util/jar/pack/Driver.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/java/util/jar/pack/Driver.java Wed Jun 27 18:39:43 2012 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -35,6 +35,7 @@ import java.io.OutputStream; import java.io.PrintStream; import java.text.MessageFormat; +import java.nio.file.Files; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -385,9 +386,7 @@ if ( base.getParentFile() == null && suffix.equals(".bak")) where = new File(".").getAbsoluteFile(); - - File f = File.createTempFile(prefix, suffix, where); - return f; + return Files.createTempFile(where.toPath(), prefix, suffix).toFile(); } static private
--- a/src/share/classes/com/sun/rowset/CachedRowSetImpl.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/rowset/CachedRowSetImpl.java Wed Jun 27 18:39:43 2012 -0700 @@ -659,7 +659,7 @@ * us work with drivers that do not support * getObject with a map in fairly sensible way */ - if (map == null) { + if (map == null || map.isEmpty()) { obj = data.getObject(i); } else { obj = data.getObject(i, map);
--- a/src/share/classes/com/sun/rowset/internal/CachedRowSetWriter.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/rowset/internal/CachedRowSetWriter.java Wed Jun 27 18:39:43 2012 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -812,101 +812,119 @@ } } - /** - * Inserts a row that has been inserted into the given - * <code>CachedRowSet</code> object into the data source from which - * the rowset is derived, returning <code>false</code> if the insertion - * was successful. - * - * @param crs the <code>CachedRowSet</code> object that has had a row inserted - * and to whose underlying data source the row will be inserted - * @param pstmt the <code>PreparedStatement</code> object that will be used - * to execute the insertion - * @return <code>false</code> to indicate that the insertion was successful; - * <code>true</code> otherwise - * @throws SQLException if a database access error occurs - */ - private boolean insertNewRow(CachedRowSet crs, - PreparedStatement pstmt, CachedRowSetImpl crsRes) throws SQLException { - int i = 0; - int icolCount = crs.getMetaData().getColumnCount(); + /** + * Inserts a row that has been inserted into the given + * <code>CachedRowSet</code> object into the data source from which + * the rowset is derived, returning <code>false</code> if the insertion + * was successful. + * + * @param crs the <code>CachedRowSet</code> object that has had a row inserted + * and to whose underlying data source the row will be inserted + * @param pstmt the <code>PreparedStatement</code> object that will be used + * to execute the insertion + * @return <code>false</code> to indicate that the insertion was successful; + * <code>true</code> otherwise + * @throws SQLException if a database access error occurs + */ + private boolean insertNewRow(CachedRowSet crs, + PreparedStatement pstmt, CachedRowSetImpl crsRes) throws SQLException { + + boolean returnVal = false; - boolean returnVal = false; - PreparedStatement pstmtSel = con.prepareStatement(selectCmd, - ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); - ResultSet rs, rs2 = null; - DatabaseMetaData dbmd = con.getMetaData(); - rs = pstmtSel.executeQuery(); - String table = crs.getTableName(); - rs2 = dbmd.getPrimaryKeys(null, null, table); - String [] primaryKeys = new String[icolCount]; - int k = 0; - while(rs2.next()) { - String pkcolname = rs2.getString("COLUMN_NAME"); - primaryKeys[k] = pkcolname; - k++; - } + try (PreparedStatement pstmtSel = con.prepareStatement(selectCmd, + ResultSet.TYPE_SCROLL_SENSITIVE, + ResultSet.CONCUR_READ_ONLY); + ResultSet rs = pstmtSel.executeQuery(); + ResultSet rs2 = con.getMetaData().getPrimaryKeys(null, null, + crs.getTableName()) + ) { + + ResultSetMetaData rsmd = crs.getMetaData(); + int icolCount = rsmd.getColumnCount(); + String[] primaryKeys = new String[icolCount]; + int k = 0; + while (rs2.next()) { + primaryKeys[k] = rs2.getString("COLUMN_NAME"); + k++; + } + + if (rs.next()) { + for (String pkName : primaryKeys) { + if (!isPKNameValid(pkName, rsmd)) { + + /* We came here as one of the the primary keys + * of the table is not present in the cached + * rowset object, it should be an autoincrement column + * and not included while creating CachedRowSet + * Object, proceed to check for other primary keys + */ + continue; + } - if(rs.next()) { - for(int j=0;j<primaryKeys.length;j++) { - if(primaryKeys[j] != null) { - if(crs.getObject(primaryKeys[j]) == null){ - break; - } - String crsPK = (crs.getObject(primaryKeys[j])).toString(); - String rsPK = (rs.getObject(primaryKeys[j])).toString(); - if(crsPK.equals(rsPK)) { - returnVal = true; - this.crsResolve.moveToInsertRow(); - for(i = 1; i <= icolCount; i++) { - String colname = (rs.getMetaData()).getColumnName(i); - if(colname.equals(primaryKeys[j])) - this.crsResolve.updateObject(i,rsPK); - else - this.crsResolve.updateNull(i); - } - this.crsResolve.insertRow(); - this.crsResolve.moveToCurrentRow(); - } - } - } - } - if(returnVal) - return returnVal; + Object crsPK = crs.getObject(pkName); + if (crsPK == null) { + /* + * It is possible that the PK is null on some databases + * and will be filled in at insert time (MySQL for example) + */ + break; + } + + String rsPK = rs.getObject(pkName).toString(); + if (crsPK.toString().equals(rsPK)) { + returnVal = true; + this.crsResolve.moveToInsertRow(); + for (int i = 1; i <= icolCount; i++) { + String colname = (rs.getMetaData()).getColumnName(i); + if (colname.equals(pkName)) + this.crsResolve.updateObject(i,rsPK); + else + this.crsResolve.updateNull(i); + } + this.crsResolve.insertRow(); + this.crsResolve.moveToCurrentRow(); + } + } + } + + if (returnVal) { + return returnVal; + } - try { - for (i = 1; i <= icolCount; i++) { - Object obj = crs.getObject(i); - if (obj != null) { - pstmt.setObject(i, obj); - } else { - pstmt.setNull(i,crs.getMetaData().getColumnType(i)); - } - } + try { + for (int i = 1; i <= icolCount; i++) { + Object obj = crs.getObject(i); + if (obj != null) { + pstmt.setObject(i, obj); + } else { + pstmt.setNull(i,crs.getMetaData().getColumnType(i)); + } + } - i = pstmt.executeUpdate(); - return false; + pstmt.executeUpdate(); + return false; - } catch (SQLException ex) { - /** - * Cursor will come here if executeUpdate fails. - * There can be many reasons why the insertion failed, - * one can be violation of primary key. - * Hence we cannot exactly identify why the insertion failed - * Present the current row as a null row to the user. - **/ - this.crsResolve.moveToInsertRow(); + } catch (SQLException ex) { + /* + * Cursor will come here if executeUpdate fails. + * There can be many reasons why the insertion failed, + * one can be violation of primary key. + * Hence we cannot exactly identify why the insertion failed, + * present the current row as a null row to the caller. + */ + this.crsResolve.moveToInsertRow(); - for(i = 1; i <= icolCount; i++) { - this.crsResolve.updateNull(i); - } + for (int i = 1; i <= icolCount; i++) { + this.crsResolve.updateNull(i); + } - this.crsResolve.insertRow(); - this.crsResolve.moveToCurrentRow(); + this.crsResolve.insertRow(); + this.crsResolve.moveToCurrentRow(); - return true; - } - } + return true; + } + } + } /** * Deletes the row in the underlying data source that corresponds to @@ -1437,4 +1455,25 @@ } static final long serialVersionUID =-8506030970299413976L; + + /** + * Validate whether the Primary Key is known to the CachedRowSet. If it is + * not, it is an auto-generated key + * @param pk - Primary Key to validate + * @param rsmd - ResultSetMetadata for the RowSet + * @return true if found, false otherwise (auto generated key) + */ + private boolean isPKNameValid(String pk, ResultSetMetaData rsmd) throws SQLException { + boolean isValid = false; + int cols = rsmd.getColumnCount(); + for(int i = 1; i<= cols; i++) { + String colName = rsmd.getColumnClassName(i); + if(colName.equalsIgnoreCase(pk)) { + isValid = true; + break; + } + } + + return isValid; + } }
--- a/src/share/classes/com/sun/rowset/internal/XmlReaderContentHandler.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/rowset/internal/XmlReaderContentHandler.java Wed Jun 27 18:39:43 2012 -0700 @@ -764,6 +764,7 @@ rs.next(); rs.setOriginalRow(); applyUpdates(); + rs.deleteRow(); } catch (SQLException ex) { throw new SAXException(MessageFormat.format(resBundle.handleGetObject("xmlrch.errdel").toString() , ex.getMessage())); }
--- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic.properties Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic.properties Wed Jun 27 18:39:43 2012 -0700 @@ -1,189 +1,189 @@ -# This properties file is used to create a PropertyResourceBundle -# It contains Locale specific strings used in Swing -# Currently, the following components need this for support: -# -# ColorChooser -# FileChooser -# OptionPane -# -# When this file is read in, the strings are put into the -# defaults table. This is an implementation detail of the current -# workings of Swing. DO NOT DEPEND ON THIS. -# This may change in future versions of Swing as we improve localization -# support. -# -# MNEMONIC NOTE: -# Many of strings in this file are used by widgets that have a -# mnemonic, for example: -# ColorChooser.rgbNameTextAndMnemonic=R&GB -# -# Indicates that the tab in the ColorChooser for RGB colors will have -# the text 'RGB', further the mnemonic character will be 'g' and that -# a decoration will be provided under the 'G'. This will typically -# look like: RGB -# - -# -# One important thing to remember is that the mnemonic MUST exist in -# the String, if it does not exist you should add text that makes it -# exist. This will typically take the form 'XXXX (M)' where M is the -# character for the mnemonic. -# -# @author Steve Wilson - -############ FILE CHOOSER STRINGS ############# -FileChooser.fileDescription.textAndMnemonic=Generic File -FileChooser.directoryDescription.textAndMnemonic=Directory -FileChooser.newFolderError.textAndMnemonic=Error creating new folder -FileChooser.newFolderErrorSeparator= : -FileChooser.newFolderParentDoesntExistTitle.textAndMnemonic=Unable to create folder -FileChooser.newFolderParentDoesntExist.textAndMnemonic=Unable to create the folder.\n\nThe system cannot find the path specified. -FileChooser.renameErrorTitle.textAndMnemonic=Error Renaming File or Folder -FileChooser.renameError.textAndMnemonic=Cannot rename {0} +# This properties file is used to create a PropertyResourceBundle +# It contains Locale specific strings used in Swing +# Currently, the following components need this for support: +# +# ColorChooser +# FileChooser +# OptionPane +# +# When this file is read in, the strings are put into the +# defaults table. This is an implementation detail of the current +# workings of Swing. DO NOT DEPEND ON THIS. +# This may change in future versions of Swing as we improve localization +# support. +# +# MNEMONIC NOTE: +# Many of strings in this file are used by widgets that have a +# mnemonic, for example: +# ColorChooser.rgbNameTextAndMnemonic=R&GB +# +# Indicates that the tab in the ColorChooser for RGB colors will have +# the text 'RGB', further the mnemonic character will be 'g' and that +# a decoration will be provided under the 'G'. This will typically +# look like: RGB +# - +# +# One important thing to remember is that the mnemonic MUST exist in +# the String, if it does not exist you should add text that makes it +# exist. This will typically take the form 'XXXX (M)' where M is the +# character for the mnemonic. +# +# @author Steve Wilson + +############ FILE CHOOSER STRINGS ############# +FileChooser.fileDescription.textAndMnemonic=Generic File +FileChooser.directoryDescription.textAndMnemonic=Directory +FileChooser.newFolderError.textAndMnemonic=Error creating new folder +FileChooser.newFolderErrorSeparator= : +FileChooser.newFolderParentDoesntExistTitle.textAndMnemonic=Unable to create folder +FileChooser.newFolderParentDoesntExist.textAndMnemonic=Unable to create the folder.\n\nThe system cannot find the path specified. +FileChooser.renameErrorTitle.textAndMnemonic=Error Renaming File or Folder +FileChooser.renameError.textAndMnemonic=Cannot rename {0} FileChooser.renameErrorFileExists.textAndMnemonic=Cannot rename {0}: A file with the name you specified already exists. \ - Specify a different file name. -FileChooser.acceptAllFileFilter.textAndMnemonic=All Files -FileChooser.cancelButton.textAndMnemonic=Cancel -FileChooser.saveButton.textAndMnemonic=&Save -FileChooser.openButton.textAndMnemonic=&Open -FileChooser.saveDialogTitle.textAndMnemonic=Save -FileChooser.openDialogTitle.textAndMnemonic=Open -FileChooser.updateButton.textAndMnemonic=&Update -FileChooser.helpButton.textAndMnemonic=&Help -FileChooser.directoryOpenButton.textAndMnemonic=&Open - -# File Size Units -FileChooser.fileSizeKiloBytes={0} KB -FileChooser.fileSizeMegaBytes={0} MB -FileChooser.fileSizeGigaBytes={0} GB - -# These strings are platform dependent not look and feel dependent. -FileChooser.win32.newFolder=New Folder -FileChooser.win32.newFolder.subsequent=New Folder ({0}) -FileChooser.other.newFolder=NewFolder -FileChooser.other.newFolder.subsequent=NewFolder.{0} - - -## file chooser tooltips ### -FileChooser.cancelButtonToolTip.textAndMnemonic=Abort file chooser dialog -FileChooser.saveButtonToolTip.textAndMnemonic=Save selected file -FileChooser.openButtonToolTip.textAndMnemonic=Open selected file -FileChooser.updateButtonToolTip.textAndMnemonic=Update directory listing -FileChooser.helpButtonToolTip.textAndMnemonic=FileChooser help -FileChooser.directoryOpenButtonToolTip.textAndMnemonic=Open selected directory - -FileChooser.filesListAccessibleName=Files List -FileChooser.filesDetailsAccessibleName=Files Details - -############ COLOR CHOOSER STRINGS ############# -ColorChooser.preview.textAndMnemonic=Preview -ColorChooser.ok.textAndMnemonic=OK -ColorChooser.cancel.textAndMnemonic=Cancel -ColorChooser.reset.textAndMnemonic=&Reset -ColorChooser.sample.textAndMnemonic=Sample Text Sample Text -ColorChooser.swatches.textAndMnemonic=&Swatches -ColorChooser.swatchesRecent.textAndMnemonic=Recent: -ColorChooser.hsv.textAndMnemonic=&HSV -ColorChooser.hsvHue.textAndMnemonic=Hue -ColorChooser.hsvSaturation.textAndMnemonic=Saturation -ColorChooser.hsvValue.textAndMnemonic=Value -ColorChooser.hsvTransparency.textAndMnemonic=Transparency -ColorChooser.hsl.textAndMnemonic=HS&L -ColorChooser.hslHue.textAndMnemonic=Hue -ColorChooser.hslSaturation.textAndMnemonic=Saturation -ColorChooser.hslLightness.textAndMnemonic=Lightness -ColorChooser.hslTransparency.textAndMnemonic=Transparency -ColorChooser.rgb.textAndMnemonic=R&GB -ColorChooser.rgbRed.textAndMnemonic=Re&d -ColorChooser.rgbGreen.textAndMnemonic=Gree&n -ColorChooser.rgbBlue.textAndMnemonic=&Blue -ColorChooser.rgbAlpha.textAndMnemonic=Alpha -ColorChooser.rgbHexCode.textAndMnemonic=&Color Code -ColorChooser.cmyk.textAndMnemonic=C&MYK -ColorChooser.cmykCyan.textAndMnemonic=Cyan -ColorChooser.cmykMagenta.textAndMnemonic=Magenta -ColorChooser.cmykYellow.textAndMnemonic=Yellow -ColorChooser.cmykBlack.textAndMnemonic=Black -ColorChooser.cmykAlpha.textAndMnemonic=Alpha - -############ OPTION PANE STRINGS ############# -# We only define mnemonics for YES/NO, but for completeness you can -# define mnemonics for any of the buttons. -OptionPane.yesButton.textAndMnemonic=&Yes -OptionPane.noButton.textAndMnemonic=&No -OptionPane.okButton.textAndMnemonic=OK -#OptionPane.okButtonMnemonic=0 -OptionPane.cancelButton.textAndMnemonic=Cancel -#OptionPane.cancelButtonMnemonic=0 -OptionPane.title.textAndMnemonic=Select an Option -# Title for the dialog for the showInputDialog methods. Only used if -# the developer uses one of the variants that doesn't take a title. -OptionPane.inputDialog.titleAndMnemonic=Input -# Title for the dialog for the showMessageDialog methods. Only used if -# the developer uses one of the variants that doesn't take a title. -OptionPane.messageDialog.titleAndMnemonic=Message - -############ Printing Dialog Strings ############ -PrintingDialog.titleProgress.textAndMnemonic=Printing -PrintingDialog.titleAborting.textAndMnemonic=Printing (Aborting) - -PrintingDialog.contentInitial.textAndMnemonic=Printing in progress... - -# The following string will be formatted by a MessageFormat -# and {0} will be replaced by page number being printed -PrintingDialog.contentProgress.textAndMnemonic=Printed page {0}... - -PrintingDialog.contentAborting.textAndMnemonic=Printing aborting... - -PrintingDialog.abortButton.textAndMnemonic=&Abort -PrintingDialog.abortButtonToolTip.textAndMnemonic=Abort Printing - -############ Internal Frame Strings ############ -InternalFrame.iconButtonToolTip=Minimize -InternalFrame.maxButtonToolTip=Maximize -InternalFrame.restoreButtonToolTip=Restore -InternalFrame.closeButtonToolTip=Close - -############ Internal Frame Title Pane Strings ############ -InternalFrameTitlePane.restoreButton.textAndMnemonic=Restore -InternalFrameTitlePane.moveButton.textAndMnemonic=Move -InternalFrameTitlePane.sizeButton.textAndMnemonic=Size -InternalFrameTitlePane.minimizeButton.textAndMnemonic=Minimize -InternalFrameTitlePane.maximizeButton.textAndMnemonic=Maximize -InternalFrameTitlePane.closeButton.textAndMnemonic=Close - -############ Text strings ############# -# Used for html forms -FormView.submitButton.textAndMnemonic=Submit Query -FormView.resetButton.textAndMnemonic=Reset -FormView.browseFileButton.textAndMnemonic=Browse... - -############ Abstract Document Strings ############ -AbstractDocument.styleChange.textAndMnemonic=style change -AbstractDocument.addition.textAndMnemonic=addition -AbstractDocument.deletion.textAndMnemonic=deletion -AbstractDocument.undo.textAndMnemonic=Undo -AbstractDocument.redo.textAndMnemonic=Redo - -############ Abstract Button Strings ############ -AbstractButton.click.textAndMnemonic=click - -############ Abstract Undoable Edit Strings ############ -AbstractUndoableEdit.undo.textAndMnemonic=Undo -AbstractUndoableEdit.redo.textAndMnemonic=Redo - -############ Combo Box Strings ############ -ComboBox.togglePopup.textAndMnemonic=togglePopup - -############ Progress Monitor Strings ############ -ProgressMonitor.progress.textAndMnemonic=Progress... - -############ Split Pane Strings ############ -SplitPane.leftButton.textAndMnemonic=left button -SplitPane.rightButton.textAndMnemonic=right button -# Used for Isindex -IsindexView.prompt=This is a searchable index. Enter search keywords: - -############ InternalFrameTitlePane Strings ############ -InternalFrameTitlePane.iconifyButtonAccessibleName=Iconify -InternalFrameTitlePane.maximizeButtonAccessibleName=Maximize -InternalFrameTitlePane.closeButtonAccessibleName=Close + Specify a different file name. +FileChooser.acceptAllFileFilter.textAndMnemonic=All Files +FileChooser.cancelButton.textAndMnemonic=Cancel +FileChooser.saveButton.textAndMnemonic=&Save +FileChooser.openButton.textAndMnemonic=&Open +FileChooser.saveDialogTitle.textAndMnemonic=Save +FileChooser.openDialogTitle.textAndMnemonic=Open +FileChooser.updateButton.textAndMnemonic=&Update +FileChooser.helpButton.textAndMnemonic=&Help +FileChooser.directoryOpenButton.textAndMnemonic=&Open + +# File Size Units +FileChooser.fileSizeKiloBytes={0} KB +FileChooser.fileSizeMegaBytes={0} MB +FileChooser.fileSizeGigaBytes={0} GB + +# These strings are platform dependent not look and feel dependent. +FileChooser.win32.newFolder=New Folder +FileChooser.win32.newFolder.subsequent=New Folder ({0}) +FileChooser.other.newFolder=NewFolder +FileChooser.other.newFolder.subsequent=NewFolder.{0} + + +## file chooser tooltips ### +FileChooser.cancelButtonToolTip.textAndMnemonic=Abort file chooser dialog +FileChooser.saveButtonToolTip.textAndMnemonic=Save selected file +FileChooser.openButtonToolTip.textAndMnemonic=Open selected file +FileChooser.updateButtonToolTip.textAndMnemonic=Update directory listing +FileChooser.helpButtonToolTip.textAndMnemonic=FileChooser help +FileChooser.directoryOpenButtonToolTip.textAndMnemonic=Open selected directory + +FileChooser.filesListAccessibleName=Files List +FileChooser.filesDetailsAccessibleName=Files Details + +############ COLOR CHOOSER STRINGS ############# +ColorChooser.preview.textAndMnemonic=Preview +ColorChooser.ok.textAndMnemonic=OK +ColorChooser.cancel.textAndMnemonic=Cancel +ColorChooser.reset.textAndMnemonic=&Reset +ColorChooser.sample.textAndMnemonic=Sample Text Sample Text +ColorChooser.swatches.textAndMnemonic=&Swatches +ColorChooser.swatchesRecent.textAndMnemonic=Recent: +ColorChooser.hsv.textAndMnemonic=&HSV +ColorChooser.hsvHue.textAndMnemonic=Hue +ColorChooser.hsvSaturation.textAndMnemonic=Saturation +ColorChooser.hsvValue.textAndMnemonic=Value +ColorChooser.hsvTransparency.textAndMnemonic=Transparency +ColorChooser.hsl.textAndMnemonic=HS&L +ColorChooser.hslHue.textAndMnemonic=Hue +ColorChooser.hslSaturation.textAndMnemonic=Saturation +ColorChooser.hslLightness.textAndMnemonic=Lightness +ColorChooser.hslTransparency.textAndMnemonic=Transparency +ColorChooser.rgb.textAndMnemonic=R&GB +ColorChooser.rgbRed.textAndMnemonic=Re&d +ColorChooser.rgbGreen.textAndMnemonic=Gree&n +ColorChooser.rgbBlue.textAndMnemonic=&Blue +ColorChooser.rgbAlpha.textAndMnemonic=Alpha +ColorChooser.rgbHexCode.textAndMnemonic=&Color Code +ColorChooser.cmyk.textAndMnemonic=C&MYK +ColorChooser.cmykCyan.textAndMnemonic=Cyan +ColorChooser.cmykMagenta.textAndMnemonic=Magenta +ColorChooser.cmykYellow.textAndMnemonic=Yellow +ColorChooser.cmykBlack.textAndMnemonic=Black +ColorChooser.cmykAlpha.textAndMnemonic=Alpha + +############ OPTION PANE STRINGS ############# +# We only define mnemonics for YES/NO, but for completeness you can +# define mnemonics for any of the buttons. +OptionPane.yesButton.textAndMnemonic=&Yes +OptionPane.noButton.textAndMnemonic=&No +OptionPane.okButton.textAndMnemonic=OK +#OptionPane.okButtonMnemonic=0 +OptionPane.cancelButton.textAndMnemonic=Cancel +#OptionPane.cancelButtonMnemonic=0 +OptionPane.title.textAndMnemonic=Select an Option +# Title for the dialog for the showInputDialog methods. Only used if +# the developer uses one of the variants that doesn't take a title. +OptionPane.inputDialog.titleAndMnemonic=Input +# Title for the dialog for the showMessageDialog methods. Only used if +# the developer uses one of the variants that doesn't take a title. +OptionPane.messageDialog.titleAndMnemonic=Message + +############ Printing Dialog Strings ############ +PrintingDialog.titleProgress.textAndMnemonic=Printing +PrintingDialog.titleAborting.textAndMnemonic=Printing (Aborting) + +PrintingDialog.contentInitial.textAndMnemonic=Printing in progress... + +# The following string will be formatted by a MessageFormat +# and {0} will be replaced by page number being printed +PrintingDialog.contentProgress.textAndMnemonic=Printed page {0}... + +PrintingDialog.contentAborting.textAndMnemonic=Printing aborting... + +PrintingDialog.abortButton.textAndMnemonic=&Abort +PrintingDialog.abortButtonToolTip.textAndMnemonic=Abort Printing + +############ Internal Frame Strings ############ +InternalFrame.iconButtonToolTip=Minimize +InternalFrame.maxButtonToolTip=Maximize +InternalFrame.restoreButtonToolTip=Restore +InternalFrame.closeButtonToolTip=Close + +############ Internal Frame Title Pane Strings ############ +InternalFrameTitlePane.restoreButton.textAndMnemonic=Restore +InternalFrameTitlePane.moveButton.textAndMnemonic=Move +InternalFrameTitlePane.sizeButton.textAndMnemonic=Size +InternalFrameTitlePane.minimizeButton.textAndMnemonic=Minimize +InternalFrameTitlePane.maximizeButton.textAndMnemonic=Maximize +InternalFrameTitlePane.closeButton.textAndMnemonic=Close + +############ Text strings ############# +# Used for html forms +FormView.submitButton.textAndMnemonic=Submit Query +FormView.resetButton.textAndMnemonic=Reset +FormView.browseFileButton.textAndMnemonic=Browse... + +############ Abstract Document Strings ############ +AbstractDocument.styleChange.textAndMnemonic=style change +AbstractDocument.addition.textAndMnemonic=addition +AbstractDocument.deletion.textAndMnemonic=deletion +AbstractDocument.undo.textAndMnemonic=Undo +AbstractDocument.redo.textAndMnemonic=Redo + +############ Abstract Button Strings ############ +AbstractButton.click.textAndMnemonic=click + +############ Abstract Undoable Edit Strings ############ +AbstractUndoableEdit.undo.textAndMnemonic=Undo +AbstractUndoableEdit.redo.textAndMnemonic=Redo + +############ Combo Box Strings ############ +ComboBox.togglePopup.textAndMnemonic=togglePopup + +############ Progress Monitor Strings ############ +ProgressMonitor.progress.textAndMnemonic=Progress... + +############ Split Pane Strings ############ +SplitPane.leftButton.textAndMnemonic=left button +SplitPane.rightButton.textAndMnemonic=right button +# Used for Isindex +IsindexView.prompt=This is a searchable index. Enter search keywords: + +############ InternalFrameTitlePane Strings ############ +InternalFrameTitlePane.iconifyButtonAccessibleName=Iconify +InternalFrameTitlePane.maximizeButtonAccessibleName=Maximize +InternalFrameTitlePane.closeButtonAccessibleName=Close
--- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties Wed Jun 27 18:39:43 2012 -0700 @@ -1,187 +1,187 @@ -# This properties file is used to create a PropertyResourceBundle -# It contains Locale specific strings used in Swing -# Currently, the following components need this for support: -# -# ColorChooser -# FileChooser -# OptionPane -# -# When this file is read in, the strings are put into the -# defaults table. This is an implementation detail of the current -# workings of Swing. DO NOT DEPEND ON THIS. -# This may change in future versions of Swing as we improve localization -# support. -# -# MNEMONIC NOTE: -# Many of strings in this file are used by widgets that have a -# mnemonic, for example: -# ColorChooser.rgbNameTextAndMnemonic=R&GB -# -# Indicates that the tab in the ColorChooser for RGB colors will have -# the text 'RGB', further the mnemonic character will be 'g' and that -# a decoration will be provided under the 'G'. This will typically -# look like: RGB -# - -# -# One important thing to remember is that the mnemonic MUST exist in -# the String, if it does not exist you should add text that makes it -# exist. This will typically take the form 'XXXX (M)' where M is the -# character for the mnemonic. -# -# @author Steve Wilson - -############ FILE CHOOSER STRINGS ############# -FileChooser.fileDescription.textAndMnemonic=Allgemeine Datei -FileChooser.directoryDescription.textAndMnemonic=Verzeichnis -FileChooser.newFolderError.textAndMnemonic=Fehler beim Erstellen eines neuen Ordners -FileChooser.newFolderErrorSeparator= : -FileChooser.newFolderParentDoesntExistTitle.textAndMnemonic=Ordner kann nicht erstellt werden -FileChooser.newFolderParentDoesntExist.textAndMnemonic=Ordner kann nicht erstellt werden.\n\nSystem kann den angegebenen Pfad nicht finden. -FileChooser.renameErrorTitle.textAndMnemonic=Fehler beim Umbenennen von Datei oder Ordner -FileChooser.renameError.textAndMnemonic={0} kann nicht umbenannt werden -FileChooser.renameErrorFileExists.textAndMnemonic={0} kann nicht umbenannt werden: Es ist bereits eine Datei mit dem angegebenen Namen vorhanden. Geben Sie einen anderen Dateinamen an. -FileChooser.acceptAllFileFilter.textAndMnemonic=Alle Dateien -FileChooser.cancelButton.textAndMnemonic=&Abbrechen -FileChooser.saveButton.textAndMnemonic=&Speichern -FileChooser.openButton.textAndMnemonic=\u00D6ffnen(&F) -FileChooser.saveDialogTitle.textAndMnemonic=Speichern -FileChooser.openDialogTitle.textAndMnemonic=\u00D6ffnen -FileChooser.updateButton.textAndMnemonic=A&ktualisieren -FileChooser.helpButton.textAndMnemonic=&Hilfe -FileChooser.directoryOpenButton.textAndMnemonic=\u00D6ffnen(&F) - -# File Size Units -FileChooser.fileSizeKiloBytes={0} KB -FileChooser.fileSizeMegaBytes={0} MB -FileChooser.fileSizeGigaBytes={0} GB - -# These strings are platform dependent not look and feel dependent. -FileChooser.win32.newFolder=Neuer Ordner -FileChooser.win32.newFolder.subsequent=Neuer Ordner ({0}) -FileChooser.other.newFolder=NewFolder -FileChooser.other.newFolder.subsequent=NewFolder.{0} - - -## file chooser tooltips ### -FileChooser.cancelButtonToolTip.textAndMnemonic=Dialogfeld f\u00FCr Dateiauswahl schlie\u00DFen -FileChooser.saveButtonToolTip.textAndMnemonic=Ausgew\u00E4hlte Datei speichern -FileChooser.openButtonToolTip.textAndMnemonic=Ausgew\u00E4hlte Datei \u00F6ffnen -FileChooser.updateButtonToolTip.textAndMnemonic=Verzeichnisliste aktualisieren -FileChooser.helpButtonToolTip.textAndMnemonic=FileChooser-Hilfe -FileChooser.directoryOpenButtonToolTip.textAndMnemonic=Ausgew\u00E4hltes Verzeichnis \u00F6ffnen - -FileChooser.filesListAccessibleName=Files List -FileChooser.filesDetailsAccessibleName=Files Details - -############ COLOR CHOOSER STRINGS ############# -ColorChooser.preview.textAndMnemonic=Vorschau -ColorChooser.ok.textAndMnemonic=OK -ColorChooser.cancel.textAndMnemonic=Abbrechen -ColorChooser.reset.textAndMnemonic=Zur\u00FCcksetzen(&Z) -ColorChooser.sample.textAndMnemonic=Beispieltext Beispieltext -ColorChooser.swatches.textAndMnemonic=&Swatches -ColorChooser.swatchesRecent.textAndMnemonic=Aktuell: -ColorChooser.hsv.textAndMnemonic=&HSV -ColorChooser.hsvHue.textAndMnemonic=Farbton -ColorChooser.hsvSaturation.textAndMnemonic=S\u00E4ttigung -ColorChooser.hsvValue.textAndMnemonic=Wert -ColorChooser.hsvTransparency.textAndMnemonic=Transparenz -ColorChooser.hsl.textAndMnemonic=HS&L -ColorChooser.hslHue.textAndMnemonic=Farbton -ColorChooser.hslSaturation.textAndMnemonic=S\u00E4ttigung -ColorChooser.hslLightness.textAndMnemonic=Helligkeit -ColorChooser.hslTransparency.textAndMnemonic=Transparenz -ColorChooser.rgb.textAndMnemonic=R&GB -ColorChooser.rgbRed.textAndMnemonic=Ro&t -ColorChooser.rgbGreen.textAndMnemonic=Gr\u00FCn(&N) -ColorChooser.rgbBlue.textAndMnemonic=&Blau -ColorChooser.rgbAlpha.textAndMnemonic=Alpha -ColorChooser.rgbHexCode.textAndMnemonic=&Farbcode -ColorChooser.cmyk.textAndMnemonic=C&MYK -ColorChooser.cmykCyan.textAndMnemonic=Zyan -ColorChooser.cmykMagenta.textAndMnemonic=Magenta -ColorChooser.cmykYellow.textAndMnemonic=Gelb -ColorChooser.cmykBlack.textAndMnemonic=Schwarz -ColorChooser.cmykAlpha.textAndMnemonic=Alpha - -############ OPTION PANE STRINGS ############# -# We only define mnemonics for YES/NO, but for completeness you can -# define mnemonics for any of the buttons. -OptionPane.yesButton.textAndMnemonic=&Ja -OptionPane.noButton.textAndMnemonic=&Nein -OptionPane.okButton.textAndMnemonic=&OK -OptionPane.cancelButton.textAndMnemonic=&Abbrechen -OptionPane.title.textAndMnemonic=Option ausw\u00E4hlen -# Title for the dialog for the showInputDialog methods. Only used if -# the developer uses one of the variants that doesn't take a title. -OptionPane.inputDialog.titleAndMnemonic=Eingabe -# Title for the dialog for the showMessageDialog methods. Only used if -# the developer uses one of the variants that doesn't take a title. -OptionPane.messageDialog.titleAndMnemonic=Meldung - -############ Printing Dialog Strings ############ -PrintingDialog.titleProgress.textAndMnemonic=Drucken -PrintingDialog.titleAborting.textAndMnemonic=Drucken (Abbruch) - -PrintingDialog.contentInitial.textAndMnemonic=Druckvorgang l\u00E4uft... - -# The following string will be formatted by a MessageFormat -# and {0} will be replaced by page number being printed -PrintingDialog.contentProgress.textAndMnemonic=Seite {0} wurde gedruckt... - -PrintingDialog.contentAborting.textAndMnemonic=Druckvorgang wird abgebrochen... - -PrintingDialog.abortButton.textAndMnemonic=&Abbruch -PrintingDialog.abortButtonToolTip.textAndMnemonic=Druckvorgang abbrechen - -############ Internal Frame Strings ############ -InternalFrame.iconButtonToolTip=Minimieren -InternalFrame.maxButtonToolTip=Maximieren -InternalFrame.restoreButtonToolTip=Wiederherstellen -InternalFrame.closeButtonToolTip=Schlie\u00DFen - -############ Internal Frame Title Pane Strings ############ -InternalFrameTitlePane.restoreButton.textAndMnemonic=Wiederherstellen -InternalFrameTitlePane.moveButton.textAndMnemonic=Verschieben -InternalFrameTitlePane.sizeButton.textAndMnemonic=Gr\u00F6\u00DFe -InternalFrameTitlePane.minimizeButton.textAndMnemonic=Minimieren -InternalFrameTitlePane.maximizeButton.textAndMnemonic=Maximieren -InternalFrameTitlePane.closeButton.textAndMnemonic=Schlie\u00DFen - -############ Text strings ############# -# Used for html forms -FormView.submitButton.textAndMnemonic=Abfrage weiterleiten -FormView.resetButton.textAndMnemonic=Zur\u00FCcksetzen -FormView.browseFileButton.textAndMnemonic=Durchsuchen... - -############ Abstract Document Strings ############ -AbstractDocument.styleChange.textAndMnemonic=Formatvorlagen\u00E4nderung -AbstractDocument.addition.textAndMnemonic=Hinzuf\u00FCgen -AbstractDocument.deletion.textAndMnemonic=L\u00F6schen -AbstractDocument.undo.textAndMnemonic=R\u00FCckg\u00E4ngig -AbstractDocument.redo.textAndMnemonic=Wiederherstellen - -############ Abstract Button Strings ############ -AbstractButton.click.textAndMnemonic=Klicken - -############ Abstract Undoable Edit Strings ############ -AbstractUndoableEdit.undo.textAndMnemonic=R\u00FCckg\u00E4ngig -AbstractUndoableEdit.redo.textAndMnemonic=Wiederherstellen - -############ Combo Box Strings ############ -ComboBox.togglePopup.textAndMnemonic=togglePopup - -############ Progress Monitor Strings ############ -ProgressMonitor.progress.textAndMnemonic=Fortschritt... - -############ Split Pane Strings ############ -SplitPane.leftButton.textAndMnemonic=linke Schaltfl\u00E4che -SplitPane.rightButton.textAndMnemonic=rechte Schaltfl\u00E4che -# Used for Isindex -IsindexView.prompt=Dieser Index kann durchsucht werden. Geben Sie Schl\u00FCsselw\u00F6rter f\u00FCr die Suche ein: - -############ InternalFrameTitlePane Strings ############ -InternalFrameTitlePane.iconifyButtonAccessibleName=Als Symbol darstellen -InternalFrameTitlePane.maximizeButtonAccessibleName=Maximieren -InternalFrameTitlePane.closeButtonAccessibleName=Schlie\u00DFen - +# This properties file is used to create a PropertyResourceBundle +# It contains Locale specific strings used in Swing +# Currently, the following components need this for support: +# +# ColorChooser +# FileChooser +# OptionPane +# +# When this file is read in, the strings are put into the +# defaults table. This is an implementation detail of the current +# workings of Swing. DO NOT DEPEND ON THIS. +# This may change in future versions of Swing as we improve localization +# support. +# +# MNEMONIC NOTE: +# Many of strings in this file are used by widgets that have a +# mnemonic, for example: +# ColorChooser.rgbNameTextAndMnemonic=R&GB +# +# Indicates that the tab in the ColorChooser for RGB colors will have +# the text 'RGB', further the mnemonic character will be 'g' and that +# a decoration will be provided under the 'G'. This will typically +# look like: RGB +# - +# +# One important thing to remember is that the mnemonic MUST exist in +# the String, if it does not exist you should add text that makes it +# exist. This will typically take the form 'XXXX (M)' where M is the +# character for the mnemonic. +# +# @author Steve Wilson + +############ FILE CHOOSER STRINGS ############# +FileChooser.fileDescription.textAndMnemonic=Allgemeine Datei +FileChooser.directoryDescription.textAndMnemonic=Verzeichnis +FileChooser.newFolderError.textAndMnemonic=Fehler beim Erstellen eines neuen Ordners +FileChooser.newFolderErrorSeparator= : +FileChooser.newFolderParentDoesntExistTitle.textAndMnemonic=Ordner kann nicht erstellt werden +FileChooser.newFolderParentDoesntExist.textAndMnemonic=Ordner kann nicht erstellt werden.\n\nSystem kann den angegebenen Pfad nicht finden. +FileChooser.renameErrorTitle.textAndMnemonic=Fehler beim Umbenennen von Datei oder Ordner +FileChooser.renameError.textAndMnemonic={0} kann nicht umbenannt werden +FileChooser.renameErrorFileExists.textAndMnemonic={0} kann nicht umbenannt werden: Es ist bereits eine Datei mit dem angegebenen Namen vorhanden. Geben Sie einen anderen Dateinamen an. +FileChooser.acceptAllFileFilter.textAndMnemonic=Alle Dateien +FileChooser.cancelButton.textAndMnemonic=Abbrechen +FileChooser.saveButton.textAndMnemonic=&Speichern +FileChooser.openButton.textAndMnemonic=\u00D6ffnen(&F) +FileChooser.saveDialogTitle.textAndMnemonic=Speichern +FileChooser.openDialogTitle.textAndMnemonic=\u00D6ffnen +FileChooser.updateButton.textAndMnemonic=A&ktualisieren +FileChooser.helpButton.textAndMnemonic=&Hilfe +FileChooser.directoryOpenButton.textAndMnemonic=\u00D6ffnen(&F) + +# File Size Units +FileChooser.fileSizeKiloBytes={0} KB +FileChooser.fileSizeMegaBytes={0} MB +FileChooser.fileSizeGigaBytes={0} GB + +# These strings are platform dependent not look and feel dependent. +FileChooser.win32.newFolder=Neuer Ordner +FileChooser.win32.newFolder.subsequent=Neuer Ordner ({0}) +FileChooser.other.newFolder=NewFolder +FileChooser.other.newFolder.subsequent=NewFolder.{0} + + +## file chooser tooltips ### +FileChooser.cancelButtonToolTip.textAndMnemonic=Dialogfeld f\u00FCr Dateiauswahl schlie\u00DFen +FileChooser.saveButtonToolTip.textAndMnemonic=Ausgew\u00E4hlte Datei speichern +FileChooser.openButtonToolTip.textAndMnemonic=Ausgew\u00E4hlte Datei \u00F6ffnen +FileChooser.updateButtonToolTip.textAndMnemonic=Verzeichnisliste aktualisieren +FileChooser.helpButtonToolTip.textAndMnemonic=FileChooser-Hilfe +FileChooser.directoryOpenButtonToolTip.textAndMnemonic=Ausgew\u00E4hltes Verzeichnis \u00F6ffnen + +FileChooser.filesListAccessibleName=Files List +FileChooser.filesDetailsAccessibleName=Files Details + +############ COLOR CHOOSER STRINGS ############# +ColorChooser.preview.textAndMnemonic=Vorschau +ColorChooser.ok.textAndMnemonic=OK +ColorChooser.cancel.textAndMnemonic=Abbrechen +ColorChooser.reset.textAndMnemonic=Zur\u00FCcksetzen(&Z) +ColorChooser.sample.textAndMnemonic=Beispieltext Beispieltext +ColorChooser.swatches.textAndMnemonic=&Swatches +ColorChooser.swatchesRecent.textAndMnemonic=Aktuell: +ColorChooser.hsv.textAndMnemonic=&HSV +ColorChooser.hsvHue.textAndMnemonic=Farbton +ColorChooser.hsvSaturation.textAndMnemonic=S\u00E4ttigung +ColorChooser.hsvValue.textAndMnemonic=Wert +ColorChooser.hsvTransparency.textAndMnemonic=Transparenz +ColorChooser.hsl.textAndMnemonic=HS&L +ColorChooser.hslHue.textAndMnemonic=Farbton +ColorChooser.hslSaturation.textAndMnemonic=S\u00E4ttigung +ColorChooser.hslLightness.textAndMnemonic=Helligkeit +ColorChooser.hslTransparency.textAndMnemonic=Transparenz +ColorChooser.rgb.textAndMnemonic=R&GB +ColorChooser.rgbRed.textAndMnemonic=Ro&t +ColorChooser.rgbGreen.textAndMnemonic=Gr\u00FCn(&N) +ColorChooser.rgbBlue.textAndMnemonic=&Blau +ColorChooser.rgbAlpha.textAndMnemonic=Alpha +ColorChooser.rgbHexCode.textAndMnemonic=&Farbcode +ColorChooser.cmyk.textAndMnemonic=C&MYK +ColorChooser.cmykCyan.textAndMnemonic=Zyan +ColorChooser.cmykMagenta.textAndMnemonic=Magenta +ColorChooser.cmykYellow.textAndMnemonic=Gelb +ColorChooser.cmykBlack.textAndMnemonic=Schwarz +ColorChooser.cmykAlpha.textAndMnemonic=Alpha + +############ OPTION PANE STRINGS ############# +# We only define mnemonics for YES/NO, but for completeness you can +# define mnemonics for any of the buttons. +OptionPane.yesButton.textAndMnemonic=&Ja +OptionPane.noButton.textAndMnemonic=&Nein +OptionPane.okButton.textAndMnemonic=&OK +OptionPane.cancelButton.textAndMnemonic=&Abbrechen +OptionPane.title.textAndMnemonic=Option ausw\u00E4hlen +# Title for the dialog for the showInputDialog methods. Only used if +# the developer uses one of the variants that doesn't take a title. +OptionPane.inputDialog.titleAndMnemonic=Eingabe +# Title for the dialog for the showMessageDialog methods. Only used if +# the developer uses one of the variants that doesn't take a title. +OptionPane.messageDialog.titleAndMnemonic=Meldung + +############ Printing Dialog Strings ############ +PrintingDialog.titleProgress.textAndMnemonic=Drucken +PrintingDialog.titleAborting.textAndMnemonic=Drucken (Abbruch) + +PrintingDialog.contentInitial.textAndMnemonic=Druckvorgang l\u00E4uft... + +# The following string will be formatted by a MessageFormat +# and {0} will be replaced by page number being printed +PrintingDialog.contentProgress.textAndMnemonic=Seite {0} wurde gedruckt... + +PrintingDialog.contentAborting.textAndMnemonic=Druckvorgang wird abgebrochen... + +PrintingDialog.abortButton.textAndMnemonic=&Abbruch +PrintingDialog.abortButtonToolTip.textAndMnemonic=Druckvorgang abbrechen + +############ Internal Frame Strings ############ +InternalFrame.iconButtonToolTip=Minimieren +InternalFrame.maxButtonToolTip=Maximieren +InternalFrame.restoreButtonToolTip=Wiederherstellen +InternalFrame.closeButtonToolTip=Schlie\u00DFen + +############ Internal Frame Title Pane Strings ############ +InternalFrameTitlePane.restoreButton.textAndMnemonic=Wiederherstellen +InternalFrameTitlePane.moveButton.textAndMnemonic=Verschieben +InternalFrameTitlePane.sizeButton.textAndMnemonic=Gr\u00F6\u00DFe +InternalFrameTitlePane.minimizeButton.textAndMnemonic=Minimieren +InternalFrameTitlePane.maximizeButton.textAndMnemonic=Maximieren +InternalFrameTitlePane.closeButton.textAndMnemonic=Schlie\u00DFen + +############ Text strings ############# +# Used for html forms +FormView.submitButton.textAndMnemonic=Abfrage weiterleiten +FormView.resetButton.textAndMnemonic=Zur\u00FCcksetzen +FormView.browseFileButton.textAndMnemonic=Durchsuchen... + +############ Abstract Document Strings ############ +AbstractDocument.styleChange.textAndMnemonic=Formatvorlagen\u00E4nderung +AbstractDocument.addition.textAndMnemonic=Hinzuf\u00FCgen +AbstractDocument.deletion.textAndMnemonic=L\u00F6schen +AbstractDocument.undo.textAndMnemonic=R\u00FCckg\u00E4ngig +AbstractDocument.redo.textAndMnemonic=Wiederherstellen + +############ Abstract Button Strings ############ +AbstractButton.click.textAndMnemonic=Klicken + +############ Abstract Undoable Edit Strings ############ +AbstractUndoableEdit.undo.textAndMnemonic=R\u00FCckg\u00E4ngig +AbstractUndoableEdit.redo.textAndMnemonic=Wiederherstellen + +############ Combo Box Strings ############ +ComboBox.togglePopup.textAndMnemonic=togglePopup + +############ Progress Monitor Strings ############ +ProgressMonitor.progress.textAndMnemonic=Fortschritt... + +############ Split Pane Strings ############ +SplitPane.leftButton.textAndMnemonic=linke Schaltfl\u00E4che +SplitPane.rightButton.textAndMnemonic=rechte Schaltfl\u00E4che +# Used for Isindex +IsindexView.prompt=Dieser Index kann durchsucht werden. Geben Sie Schl\u00FCsselw\u00F6rter f\u00FCr die Suche ein: + +############ InternalFrameTitlePane Strings ############ +InternalFrameTitlePane.iconifyButtonAccessibleName=Als Symbol darstellen +InternalFrameTitlePane.maximizeButtonAccessibleName=Maximieren +InternalFrameTitlePane.closeButtonAccessibleName=Schlie\u00DFen +
--- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties Wed Jun 27 18:39:43 2012 -0700 @@ -1,186 +1,186 @@ -# This properties file is used to create a PropertyResourceBundle -# It contains Locale specific strings used in Swing -# Currently, the following components need this for support: -# -# ColorChooser -# FileChooser -# OptionPane -# -# When this file is read in, the strings are put into the -# defaults table. This is an implementation detail of the current -# workings of Swing. DO NOT DEPEND ON THIS. -# This may change in future versions of Swing as we improve localization -# support. -# -# MNEMONIC NOTE: -# Many of strings in this file are used by widgets that have a -# mnemonic, for example: -# ColorChooser.rgbNameTextAndMnemonic=R&GB -# Indicates that the tab in the ColorChooser for RGB colors will have -# the text 'RGB', further the mnemonic character will be 'g' and that -# a decoration will be provided under the 'G'. This will typically -# look like: RGB -# - -# -# One important thing to remember is that the mnemonic MUST exist in -# the String, if it does not exist you should add text that makes it -# exist. This will typically take the form 'XXXX (M)' where M is the -# character for the mnemonic. -# -# @author Steve Wilson - -############ FILE CHOOSER STRINGS ############# -FileChooser.fileDescription.textAndMnemonic=Archivo Gen\u00E9rico -FileChooser.directoryDescription.textAndMnemonic=Directorio -FileChooser.newFolderError.textAndMnemonic=Error al crear una nueva carpeta -FileChooser.newFolderErrorSeparator= : -FileChooser.newFolderParentDoesntExistTitle.textAndMnemonic=No se ha podido crear la carpeta -FileChooser.newFolderParentDoesntExist.textAndMnemonic=No se ha podido crear la carpeta.\n\nEl sistema no puede encontrar la ruta de acceso especificada. -FileChooser.renameErrorTitle.textAndMnemonic=Error al cambiar el nombre del archivo o carpeta -FileChooser.renameError.textAndMnemonic=No se puede cambiar el nombre de {0} -FileChooser.renameErrorFileExists.textAndMnemonic=No se puede cambiar el nombre de {0}: ya existe un archivo con el nombre especificado. Especifique otro nombre de archivo. -FileChooser.acceptAllFileFilter.textAndMnemonic=Todos los Archivos -FileChooser.cancelButton.textAndMnemonic=&Cancelar -FileChooser.saveButton.textAndMnemonic=&Guardar -FileChooser.openButton.textAndMnemonic=A&brir -FileChooser.saveDialogTitle.textAndMnemonic=Guardar -FileChooser.openDialogTitle.textAndMnemonic=Abrir -FileChooser.updateButton.textAndMnemonic=Act&ualizar -FileChooser.helpButton.textAndMnemonic=A&yuda -FileChooser.directoryOpenButton.textAndMnemonic=&Abrir - -# File Size Units -FileChooser.fileSizeKiloBytes={0} KB -FileChooser.fileSizeMegaBytes={0} MB -FileChooser.fileSizeGigaBytes={0} GB - -# These strings are platform dependent not look and feel dependent. -FileChooser.win32.newFolder=Nueva Carpeta -FileChooser.win32.newFolder.subsequent=Nueva Carpeta ({0}) -FileChooser.other.newFolder=Nueva Carpeta -FileChooser.other.newFolder.subsequent=Nueva Carpeta.{0} - - -## file chooser tooltips ### -FileChooser.cancelButtonToolTip.textAndMnemonic=Cuadro de di\u00E1logo para abortar el selector de archivos -FileChooser.saveButtonToolTip.textAndMnemonic=Guardar archivo seleccionado -FileChooser.openButtonToolTip.textAndMnemonic=Abrir archivo seleccionado -FileChooser.updateButtonToolTip.textAndMnemonic=Actualizar lista de directorios -FileChooser.helpButtonToolTip.textAndMnemonic=Ayuda del Selector de Archivos -FileChooser.directoryOpenButtonToolTip.textAndMnemonic=Abrir directorio seleccionado - -FileChooser.filesListAccessibleName=Files List -FileChooser.filesDetailsAccessibleName=Files Details - -############ COLOR CHOOSER STRINGS ############# -ColorChooser.preview.textAndMnemonic=Presentaci\u00F3n Preliminar -ColorChooser.ok.textAndMnemonic=Aceptar -ColorChooser.cancel.textAndMnemonic=Cancelar -ColorChooser.reset.textAndMnemonic=&Restablecer -ColorChooser.sample.textAndMnemonic=Texto de Ejemplo Texto de Ejemplo -ColorChooser.swatches.textAndMnemonic=Mue&stras -ColorChooser.swatchesRecent.textAndMnemonic=Reciente: -ColorChooser.hsv.textAndMnemonic=&HSV -ColorChooser.hsvHue.textAndMnemonic=Matiz -ColorChooser.hsvSaturation.textAndMnemonic=Saturaci\u00F3n -ColorChooser.hsvValue.textAndMnemonic=Valor -ColorChooser.hsvTransparency.textAndMnemonic=Transparencia -ColorChooser.hsl.textAndMnemonic=HS&L -ColorChooser.hslHue.textAndMnemonic=Matiz -ColorChooser.hslSaturation.textAndMnemonic=Saturaci\u00F3n -ColorChooser.hslLightness.textAndMnemonic=Iluminaci\u00F3n -ColorChooser.hslTransparency.textAndMnemonic=Transparencia -ColorChooser.rgb.textAndMnemonic=R&GB -ColorChooser.rgbRed.textAndMnemonic=Ro&jo -ColorChooser.rgbGreen.textAndMnemonic=&Verde -ColorChooser.rgbBlue.textAndMnemonic=A&zul -ColorChooser.rgbAlpha.textAndMnemonic=Alfa -ColorChooser.rgbHexCode.textAndMnemonic=C\u00F3digo de Color(&C) -ColorChooser.cmyk.textAndMnemonic=C&MYK -ColorChooser.cmykCyan.textAndMnemonic=Cian -ColorChooser.cmykMagenta.textAndMnemonic=Magenta -ColorChooser.cmykYellow.textAndMnemonic=Amarillo -ColorChooser.cmykBlack.textAndMnemonic=Negro -ColorChooser.cmykAlpha.textAndMnemonic=Alfa - -############ OPTION PANE STRINGS ############# -# We only define mnemonics for YES/NO, but for completeness you can -# define mnemonics for any of the buttons. -OptionPane.yesButton.textAndMnemonic=S\u00ED(&S) -OptionPane.noButton.textAndMnemonic=&No -OptionPane.okButton.textAndMnemonic=Aceptar(&O) -OptionPane.cancelButton.textAndMnemonic=&Cancelar -OptionPane.title.textAndMnemonic=Seleccionar una Opci\u00F3n -# Title for the dialog for the showInputDialog methods. Only used if -# the developer uses one of the variants that doesn't take a title. -OptionPane.inputDialog.titleAndMnemonic=Entrada -# Title for the dialog for the showMessageDialog methods. Only used if -# the developer uses one of the variants that doesn't take a title. -OptionPane.messageDialog.titleAndMnemonic=Mensaje - -############ Printing Dialog Strings ############ -PrintingDialog.titleProgress.textAndMnemonic=Impresi\u00F3n -PrintingDialog.titleAborting.textAndMnemonic=Impresi\u00F3n (Abortando) - -PrintingDialog.contentInitial.textAndMnemonic=Impresi\u00F3n en curso... - -# The following string will be formatted by a MessageFormat -# and {0} will be replaced by page number being printed -PrintingDialog.contentProgress.textAndMnemonic=P\u00E1gina impresa {0}... - -PrintingDialog.contentAborting.textAndMnemonic=Abortando la impresi\u00F3n... - -PrintingDialog.abortButton.textAndMnemonic=&Abortar -PrintingDialog.abortButtonToolTip.textAndMnemonic=Abortar Impresi\u00F3n - -############ Internal Frame Strings ############ -InternalFrame.iconButtonToolTip=Minimizar -InternalFrame.maxButtonToolTip=Maximizar -InternalFrame.restoreButtonToolTip=Restaurar -InternalFrame.closeButtonToolTip=Cerrar - -############ Internal Frame Title Pane Strings ############ -InternalFrameTitlePane.restoreButton.textAndMnemonic=Restaurar -InternalFrameTitlePane.moveButton.textAndMnemonic=Mover -InternalFrameTitlePane.sizeButton.textAndMnemonic=Tama\u00F1o -InternalFrameTitlePane.minimizeButton.textAndMnemonic=Minimizar -InternalFrameTitlePane.maximizeButton.textAndMnemonic=Maximizar -InternalFrameTitlePane.closeButton.textAndMnemonic=Cerrar - -############ Text strings ############# -# Used for html forms -FormView.submitButton.textAndMnemonic=Enviar Consulta -FormView.resetButton.textAndMnemonic=Restablecer -FormView.browseFileButton.textAndMnemonic=Examinar... - -############ Abstract Document Strings ############ -AbstractDocument.styleChange.textAndMnemonic=cambio de estilo -AbstractDocument.addition.textAndMnemonic=agregaci\u00F3n -AbstractDocument.deletion.textAndMnemonic=supresi\u00F3n -AbstractDocument.undo.textAndMnemonic=Deshacer -AbstractDocument.redo.textAndMnemonic=Rehacer - -############ Abstract Button Strings ############ -AbstractButton.click.textAndMnemonic=hacer clic - -############ Abstract Undoable Edit Strings ############ -AbstractUndoableEdit.undo.textAndMnemonic=Deshacer -AbstractUndoableEdit.redo.textAndMnemonic=Rehacer - -############ Combo Box Strings ############ -ComboBox.togglePopup.textAndMnemonic=togglePopup - -############ Progress Monitor Strings ############ -ProgressMonitor.progress.textAndMnemonic=Progreso... - -############ Split Pane Strings ############ -SplitPane.leftButton.textAndMnemonic=bot\u00F3n izquierdo -SplitPane.rightButton.textAndMnemonic=bot\u00F3n derecho -# Used for Isindex -IsindexView.prompt=En este \u00EDndice se pueden efectuar b\u00FAsquedas. Escriba las palabras clave de b\u00FAsqueda: - -############ InternalFrameTitlePane Strings ############ -InternalFrameTitlePane.iconifyButtonAccessibleName=Convertir en Icono -InternalFrameTitlePane.maximizeButtonAccessibleName=Maximizar -InternalFrameTitlePane.closeButtonAccessibleName=Cerrar - +# This properties file is used to create a PropertyResourceBundle +# It contains Locale specific strings used in Swing +# Currently, the following components need this for support: +# +# ColorChooser +# FileChooser +# OptionPane +# +# When this file is read in, the strings are put into the +# defaults table. This is an implementation detail of the current +# workings of Swing. DO NOT DEPEND ON THIS. +# This may change in future versions of Swing as we improve localization +# support. +# +# MNEMONIC NOTE: +# Many of strings in this file are used by widgets that have a +# mnemonic, for example: +# ColorChooser.rgbNameTextAndMnemonic=R&GB +# Indicates that the tab in the ColorChooser for RGB colors will have +# the text 'RGB', further the mnemonic character will be 'g' and that +# a decoration will be provided under the 'G'. This will typically +# look like: RGB +# - +# +# One important thing to remember is that the mnemonic MUST exist in +# the String, if it does not exist you should add text that makes it +# exist. This will typically take the form 'XXXX (M)' where M is the +# character for the mnemonic. +# +# @author Steve Wilson + +############ FILE CHOOSER STRINGS ############# +FileChooser.fileDescription.textAndMnemonic=Archivo Gen\u00E9rico +FileChooser.directoryDescription.textAndMnemonic=Directorio +FileChooser.newFolderError.textAndMnemonic=Error al crear una nueva carpeta +FileChooser.newFolderErrorSeparator= : +FileChooser.newFolderParentDoesntExistTitle.textAndMnemonic=No se ha podido crear la carpeta +FileChooser.newFolderParentDoesntExist.textAndMnemonic=No se ha podido crear la carpeta.\n\nEl sistema no puede encontrar la ruta de acceso especificada. +FileChooser.renameErrorTitle.textAndMnemonic=Error al cambiar el nombre del archivo o carpeta +FileChooser.renameError.textAndMnemonic=No se puede cambiar el nombre de {0} +FileChooser.renameErrorFileExists.textAndMnemonic=No se puede cambiar el nombre de {0}: ya existe un archivo con el nombre especificado. Especifique otro nombre de archivo. +FileChooser.acceptAllFileFilter.textAndMnemonic=Todos los Archivos +FileChooser.cancelButton.textAndMnemonic=Cancelar +FileChooser.saveButton.textAndMnemonic=&Guardar +FileChooser.openButton.textAndMnemonic=A&brir +FileChooser.saveDialogTitle.textAndMnemonic=Guardar +FileChooser.openDialogTitle.textAndMnemonic=Abrir +FileChooser.updateButton.textAndMnemonic=Act&ualizar +FileChooser.helpButton.textAndMnemonic=A&yuda +FileChooser.directoryOpenButton.textAndMnemonic=&Abrir + +# File Size Units +FileChooser.fileSizeKiloBytes={0} KB +FileChooser.fileSizeMegaBytes={0} MB +FileChooser.fileSizeGigaBytes={0} GB + +# These strings are platform dependent not look and feel dependent. +FileChooser.win32.newFolder=Nueva Carpeta +FileChooser.win32.newFolder.subsequent=Nueva Carpeta ({0}) +FileChooser.other.newFolder=Nueva Carpeta +FileChooser.other.newFolder.subsequent=Nueva Carpeta.{0} + + +## file chooser tooltips ### +FileChooser.cancelButtonToolTip.textAndMnemonic=Cuadro de di\u00E1logo para abortar el selector de archivos +FileChooser.saveButtonToolTip.textAndMnemonic=Guardar archivo seleccionado +FileChooser.openButtonToolTip.textAndMnemonic=Abrir archivo seleccionado +FileChooser.updateButtonToolTip.textAndMnemonic=Actualizar lista de directorios +FileChooser.helpButtonToolTip.textAndMnemonic=Ayuda del Selector de Archivos +FileChooser.directoryOpenButtonToolTip.textAndMnemonic=Abrir directorio seleccionado + +FileChooser.filesListAccessibleName=Files List +FileChooser.filesDetailsAccessibleName=Files Details + +############ COLOR CHOOSER STRINGS ############# +ColorChooser.preview.textAndMnemonic=Presentaci\u00F3n Preliminar +ColorChooser.ok.textAndMnemonic=Aceptar +ColorChooser.cancel.textAndMnemonic=Cancelar +ColorChooser.reset.textAndMnemonic=&Restablecer +ColorChooser.sample.textAndMnemonic=Texto de Ejemplo Texto de Ejemplo +ColorChooser.swatches.textAndMnemonic=Mue&stras +ColorChooser.swatchesRecent.textAndMnemonic=Reciente: +ColorChooser.hsv.textAndMnemonic=&HSV +ColorChooser.hsvHue.textAndMnemonic=Matiz +ColorChooser.hsvSaturation.textAndMnemonic=Saturaci\u00F3n +ColorChooser.hsvValue.textAndMnemonic=Valor +ColorChooser.hsvTransparency.textAndMnemonic=Transparencia +ColorChooser.hsl.textAndMnemonic=HS&L +ColorChooser.hslHue.textAndMnemonic=Matiz +ColorChooser.hslSaturation.textAndMnemonic=Saturaci\u00F3n +ColorChooser.hslLightness.textAndMnemonic=Iluminaci\u00F3n +ColorChooser.hslTransparency.textAndMnemonic=Transparencia +ColorChooser.rgb.textAndMnemonic=R&GB +ColorChooser.rgbRed.textAndMnemonic=Ro&jo +ColorChooser.rgbGreen.textAndMnemonic=&Verde +ColorChooser.rgbBlue.textAndMnemonic=A&zul +ColorChooser.rgbAlpha.textAndMnemonic=Alfa +ColorChooser.rgbHexCode.textAndMnemonic=C\u00F3digo de Color(&C) +ColorChooser.cmyk.textAndMnemonic=C&MYK +ColorChooser.cmykCyan.textAndMnemonic=Cian +ColorChooser.cmykMagenta.textAndMnemonic=Magenta +ColorChooser.cmykYellow.textAndMnemonic=Amarillo +ColorChooser.cmykBlack.textAndMnemonic=Negro +ColorChooser.cmykAlpha.textAndMnemonic=Alfa + +############ OPTION PANE STRINGS ############# +# We only define mnemonics for YES/NO, but for completeness you can +# define mnemonics for any of the buttons. +OptionPane.yesButton.textAndMnemonic=S\u00ED(&S) +OptionPane.noButton.textAndMnemonic=&No +OptionPane.okButton.textAndMnemonic=Aceptar(&O) +OptionPane.cancelButton.textAndMnemonic=&Cancelar +OptionPane.title.textAndMnemonic=Seleccionar una Opci\u00F3n +# Title for the dialog for the showInputDialog methods. Only used if +# the developer uses one of the variants that doesn't take a title. +OptionPane.inputDialog.titleAndMnemonic=Entrada +# Title for the dialog for the showMessageDialog methods. Only used if +# the developer uses one of the variants that doesn't take a title. +OptionPane.messageDialog.titleAndMnemonic=Mensaje + +############ Printing Dialog Strings ############ +PrintingDialog.titleProgress.textAndMnemonic=Impresi\u00F3n +PrintingDialog.titleAborting.textAndMnemonic=Impresi\u00F3n (Abortando) + +PrintingDialog.contentInitial.textAndMnemonic=Impresi\u00F3n en curso... + +# The following string will be formatted by a MessageFormat +# and {0} will be replaced by page number being printed +PrintingDialog.contentProgress.textAndMnemonic=P\u00E1gina impresa {0}... + +PrintingDialog.contentAborting.textAndMnemonic=Abortando la impresi\u00F3n... + +PrintingDialog.abortButton.textAndMnemonic=&Abortar +PrintingDialog.abortButtonToolTip.textAndMnemonic=Abortar Impresi\u00F3n + +############ Internal Frame Strings ############ +InternalFrame.iconButtonToolTip=Minimizar +InternalFrame.maxButtonToolTip=Maximizar +InternalFrame.restoreButtonToolTip=Restaurar +InternalFrame.closeButtonToolTip=Cerrar + +############ Internal Frame Title Pane Strings ############ +InternalFrameTitlePane.restoreButton.textAndMnemonic=Restaurar +InternalFrameTitlePane.moveButton.textAndMnemonic=Mover +InternalFrameTitlePane.sizeButton.textAndMnemonic=Tama\u00F1o +InternalFrameTitlePane.minimizeButton.textAndMnemonic=Minimizar +InternalFrameTitlePane.maximizeButton.textAndMnemonic=Maximizar +InternalFrameTitlePane.closeButton.textAndMnemonic=Cerrar + +############ Text strings ############# +# Used for html forms +FormView.submitButton.textAndMnemonic=Enviar Consulta +FormView.resetButton.textAndMnemonic=Restablecer +FormView.browseFileButton.textAndMnemonic=Examinar... + +############ Abstract Document Strings ############ +AbstractDocument.styleChange.textAndMnemonic=cambio de estilo +AbstractDocument.addition.textAndMnemonic=agregaci\u00F3n +AbstractDocument.deletion.textAndMnemonic=supresi\u00F3n +AbstractDocument.undo.textAndMnemonic=Deshacer +AbstractDocument.redo.textAndMnemonic=Rehacer + +############ Abstract Button Strings ############ +AbstractButton.click.textAndMnemonic=hacer clic + +############ Abstract Undoable Edit Strings ############ +AbstractUndoableEdit.undo.textAndMnemonic=Deshacer +AbstractUndoableEdit.redo.textAndMnemonic=Rehacer + +############ Combo Box Strings ############ +ComboBox.togglePopup.textAndMnemonic=togglePopup + +############ Progress Monitor Strings ############ +ProgressMonitor.progress.textAndMnemonic=Progreso... + +############ Split Pane Strings ############ +SplitPane.leftButton.textAndMnemonic=bot\u00F3n izquierdo +SplitPane.rightButton.textAndMnemonic=bot\u00F3n derecho +# Used for Isindex +IsindexView.prompt=En este \u00EDndice se pueden efectuar b\u00FAsquedas. Escriba las palabras clave de b\u00FAsqueda: + +############ InternalFrameTitlePane Strings ############ +InternalFrameTitlePane.iconifyButtonAccessibleName=Convertir en Icono +InternalFrameTitlePane.maximizeButtonAccessibleName=Maximizar +InternalFrameTitlePane.closeButtonAccessibleName=Cerrar +
--- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties Wed Jun 27 18:39:43 2012 -0700 @@ -1,186 +1,186 @@ -# This properties file is used to create a PropertyResourceBundle -# It contains Locale specific strings used in Swing -# Currently, the following components need this for support: -# -# ColorChooser -# FileChooser -# OptionPane -# -# When this file is read in, the strings are put into the -# defaults table. This is an implementation detail of the current -# workings of Swing. DO NOT DEPEND ON THIS. -# This may change in future versions of Swing as we improve localization -# support. -# -# MNEMONIC NOTE: -# Many of strings in this file are used by widgets that have a -# mnemonic, for example: -# ColorChooser.rgbNameTextAndMnemonic=R&GB -# Indicates that the tab in the ColorChooser for RGB colors will have -# the text 'RGB', further the mnemonic character will be 'g' and that -# a decoration will be provided under the 'G'. This will typically -# look like: RGB -# - -# -# One important thing to remember is that the mnemonic MUST exist in -# the String, if it does not exist you should add text that makes it -# exist. This will typically take the form 'XXXX (M)' where M is the -# character for the mnemonic. -# -# @author Steve Wilson - -############ FILE CHOOSER STRINGS ############# -FileChooser.fileDescription.textAndMnemonic=Fichier g\u00E9n\u00E9rique -FileChooser.directoryDescription.textAndMnemonic=R\u00E9pertoire -FileChooser.newFolderError.textAndMnemonic=Erreur lors de la cr\u00E9ation du dossier -FileChooser.newFolderErrorSeparator= : -FileChooser.newFolderParentDoesntExistTitle.textAndMnemonic=Impossible de cr\u00E9er le dossier -FileChooser.newFolderParentDoesntExist.textAndMnemonic=Impossible de cr\u00E9er le dossier.\n\nLe syst\u00E8me ne parvient pas \u00E0 trouver le chemin indiqu\u00E9. -FileChooser.renameErrorTitle.textAndMnemonic=Erreur lors du changement de nom du fichier ou du dossier -FileChooser.renameError.textAndMnemonic=Impossible de renommer {0} -FileChooser.renameErrorFileExists.textAndMnemonic=Impossible de renommer {0} : il existe d\u00E9j\u00E0 un fichier portant le nom indiqu\u00E9. Indiquez-en un autre. -FileChooser.acceptAllFileFilter.textAndMnemonic=Tous les fichiers -FileChooser.cancelButton.textAndMnemonic=&Annuler -FileChooser.saveButton.textAndMnemonic=Enregi&strer -FileChooser.openButton.textAndMnemonic=&Ouvrir -FileChooser.saveDialogTitle.textAndMnemonic=Enregistrer -FileChooser.openDialogTitle.textAndMnemonic=Ouvrir -FileChooser.updateButton.textAndMnemonic=Mettre \u00E0 jour(&U) -FileChooser.helpButton.textAndMnemonic=&Aide -FileChooser.directoryOpenButton.textAndMnemonic=&Ouvrir - -# File Size Units -FileChooser.fileSizeKiloBytes={0} KB -FileChooser.fileSizeMegaBytes={0} MB -FileChooser.fileSizeGigaBytes={0} GB - -# These strings are platform dependent not look and feel dependent. -FileChooser.win32.newFolder=Nouveau dossier -FileChooser.win32.newFolder.subsequent=Nouveau dossier ({0}) -FileChooser.other.newFolder=NewFolder -FileChooser.other.newFolder.subsequent=NewFolder.{0} - - -## file chooser tooltips ### -FileChooser.cancelButtonToolTip.textAndMnemonic=Ferme la bo\u00EEte de dialogue du s\u00E9lecteur de fichiers -FileChooser.saveButtonToolTip.textAndMnemonic=Enregistre le fichier s\u00E9lectionn\u00E9 -FileChooser.openButtonToolTip.textAndMnemonic=Ouvre le fichier s\u00E9lectionn\u00E9 -FileChooser.updateButtonToolTip.textAndMnemonic=Met \u00E0 jour la liste des r\u00E9pertoires -FileChooser.helpButtonToolTip.textAndMnemonic=Aide du s\u00E9lecteur de fichiers -FileChooser.directoryOpenButtonToolTip.textAndMnemonic=Ouvre le r\u00E9pertoire s\u00E9lectionn\u00E9 - -FileChooser.filesListAccessibleName=Files List -FileChooser.filesDetailsAccessibleName=Files Details - -############ COLOR CHOOSER STRINGS ############# -ColorChooser.preview.textAndMnemonic=Aper\u00E7u -ColorChooser.ok.textAndMnemonic=OK -ColorChooser.cancel.textAndMnemonic=Annuler -ColorChooser.reset.textAndMnemonic=R\u00E9initialiser(&R) -ColorChooser.sample.textAndMnemonic=Echantillon de texte Echantillon de texte -ColorChooser.swatches.textAndMnemonic=&Echantillons -ColorChooser.swatchesRecent.textAndMnemonic=Dernier : -ColorChooser.hsv.textAndMnemonic=&TSV -ColorChooser.hsvHue.textAndMnemonic=Teinte -ColorChooser.hsvSaturation.textAndMnemonic=Saturation -ColorChooser.hsvValue.textAndMnemonic=Valeur -ColorChooser.hsvTransparency.textAndMnemonic=Transparence -ColorChooser.hsl.textAndMnemonic=TS&L -ColorChooser.hslHue.textAndMnemonic=Teinte -ColorChooser.hslSaturation.textAndMnemonic=Saturation -ColorChooser.hslLightness.textAndMnemonic=Lumi\u00E8re -ColorChooser.hslTransparency.textAndMnemonic=Transparence -ColorChooser.rgb.textAndMnemonic=R&VB -ColorChooser.rgbRed.textAndMnemonic=R&ouge -ColorChooser.rgbGreen.textAndMnemonic=&Vert -ColorChooser.rgbBlue.textAndMnemonic=&Bleu -ColorChooser.rgbAlpha.textAndMnemonic=Alpha -ColorChooser.rgbHexCode.textAndMnemonic=&Code couleur -ColorChooser.cmyk.textAndMnemonic=C&MYK -ColorChooser.cmykCyan.textAndMnemonic=Cyan -ColorChooser.cmykMagenta.textAndMnemonic=Magenta -ColorChooser.cmykYellow.textAndMnemonic=Jaune -ColorChooser.cmykBlack.textAndMnemonic=Noir -ColorChooser.cmykAlpha.textAndMnemonic=Alpha - -############ OPTION PANE STRINGS ############# -# We only define mnemonics for YES/NO, but for completeness you can -# define mnemonics for any of the buttons. -OptionPane.yesButton.textAndMnemonic=&Oui -OptionPane.noButton.textAndMnemonic=&Non -OptionPane.okButton.textAndMnemonic=&OK -OptionPane.cancelButton.textAndMnemonic=&Annuler -OptionPane.title.textAndMnemonic=S\u00E9lectionner une option -# Title for the dialog for the showInputDialog methods. Only used if -# the developer uses one of the variants that doesn't take a title. -OptionPane.inputDialog.titleAndMnemonic=Entr\u00E9e -# Title for the dialog for the showMessageDialog methods. Only used if -# the developer uses one of the variants that doesn't take a title. -OptionPane.messageDialog.titleAndMnemonic=Message - -############ Printing Dialog Strings ############ -PrintingDialog.titleProgress.textAndMnemonic=Impression -PrintingDialog.titleAborting.textAndMnemonic=Impression (abandon) - -PrintingDialog.contentInitial.textAndMnemonic=Impression en cours... - -# The following string will be formatted by a MessageFormat -# and {0} will be replaced by page number being printed -PrintingDialog.contentProgress.textAndMnemonic=Page {0} imprim\u00E9e... - -PrintingDialog.contentAborting.textAndMnemonic=Abandon de l'impression... - -PrintingDialog.abortButton.textAndMnemonic=&Abandonner -PrintingDialog.abortButtonToolTip.textAndMnemonic=Abandonner l'impression - -############ Internal Frame Strings ############ -InternalFrame.iconButtonToolTip=R\u00E9duire -InternalFrame.maxButtonToolTip=Agrandir -InternalFrame.restoreButtonToolTip=Restaurer -InternalFrame.closeButtonToolTip=Fermer - -############ Internal Frame Title Pane Strings ############ -InternalFrameTitlePane.restoreButton.textAndMnemonic=Restaurer -InternalFrameTitlePane.moveButton.textAndMnemonic=D\u00E9placer -InternalFrameTitlePane.sizeButton.textAndMnemonic=Taille -InternalFrameTitlePane.minimizeButton.textAndMnemonic=R\u00E9duire -InternalFrameTitlePane.maximizeButton.textAndMnemonic=Agrandir -InternalFrameTitlePane.closeButton.textAndMnemonic=Fermer - -############ Text strings ############# -# Used for html forms -FormView.submitButton.textAndMnemonic=Soumettre la requ\u00EAte -FormView.resetButton.textAndMnemonic=R\u00E9initialiser -FormView.browseFileButton.textAndMnemonic=Parcourir... - -############ Abstract Document Strings ############ -AbstractDocument.styleChange.textAndMnemonic=modification de style -AbstractDocument.addition.textAndMnemonic=ajout -AbstractDocument.deletion.textAndMnemonic=suppression -AbstractDocument.undo.textAndMnemonic=Annuler -AbstractDocument.redo.textAndMnemonic=R\u00E9tablir - -############ Abstract Button Strings ############ -AbstractButton.click.textAndMnemonic=cliquer - -############ Abstract Undoable Edit Strings ############ -AbstractUndoableEdit.undo.textAndMnemonic=Annuler -AbstractUndoableEdit.redo.textAndMnemonic=R\u00E9tablir - -############ Combo Box Strings ############ -ComboBox.togglePopup.textAndMnemonic=togglePopup - -############ Progress Monitor Strings ############ -ProgressMonitor.progress.textAndMnemonic=Progression... - -############ Split Pane Strings ############ -SplitPane.leftButton.textAndMnemonic=bouton gauche -SplitPane.rightButton.textAndMnemonic=bouton droit -# Used for Isindex -IsindexView.prompt=Ceci est un index de recherche. Tapez des mots-cl\u00E9s pour la recherche : - -############ InternalFrameTitlePane Strings ############ -InternalFrameTitlePane.iconifyButtonAccessibleName=R\u00E9duire -InternalFrameTitlePane.maximizeButtonAccessibleName=Agrandir -InternalFrameTitlePane.closeButtonAccessibleName=Fermer - +# This properties file is used to create a PropertyResourceBundle +# It contains Locale specific strings used in Swing +# Currently, the following components need this for support: +# +# ColorChooser +# FileChooser +# OptionPane +# +# When this file is read in, the strings are put into the +# defaults table. This is an implementation detail of the current +# workings of Swing. DO NOT DEPEND ON THIS. +# This may change in future versions of Swing as we improve localization +# support. +# +# MNEMONIC NOTE: +# Many of strings in this file are used by widgets that have a +# mnemonic, for example: +# ColorChooser.rgbNameTextAndMnemonic=R&GB +# Indicates that the tab in the ColorChooser for RGB colors will have +# the text 'RGB', further the mnemonic character will be 'g' and that +# a decoration will be provided under the 'G'. This will typically +# look like: RGB +# - +# +# One important thing to remember is that the mnemonic MUST exist in +# the String, if it does not exist you should add text that makes it +# exist. This will typically take the form 'XXXX (M)' where M is the +# character for the mnemonic. +# +# @author Steve Wilson + +############ FILE CHOOSER STRINGS ############# +FileChooser.fileDescription.textAndMnemonic=Fichier g\u00E9n\u00E9rique +FileChooser.directoryDescription.textAndMnemonic=R\u00E9pertoire +FileChooser.newFolderError.textAndMnemonic=Erreur lors de la cr\u00E9ation du dossier +FileChooser.newFolderErrorSeparator= : +FileChooser.newFolderParentDoesntExistTitle.textAndMnemonic=Impossible de cr\u00E9er le dossier +FileChooser.newFolderParentDoesntExist.textAndMnemonic=Impossible de cr\u00E9er le dossier.\n\nLe syst\u00E8me ne parvient pas \u00E0 trouver le chemin indiqu\u00E9. +FileChooser.renameErrorTitle.textAndMnemonic=Erreur lors du changement de nom du fichier ou du dossier +FileChooser.renameError.textAndMnemonic=Impossible de renommer {0} +FileChooser.renameErrorFileExists.textAndMnemonic=Impossible de renommer {0} : il existe d\u00E9j\u00E0 un fichier portant le nom indiqu\u00E9. Indiquez-en un autre. +FileChooser.acceptAllFileFilter.textAndMnemonic=Tous les fichiers +FileChooser.cancelButton.textAndMnemonic=Annuler +FileChooser.saveButton.textAndMnemonic=Enregi&strer +FileChooser.openButton.textAndMnemonic=&Ouvrir +FileChooser.saveDialogTitle.textAndMnemonic=Enregistrer +FileChooser.openDialogTitle.textAndMnemonic=Ouvrir +FileChooser.updateButton.textAndMnemonic=Mettre \u00E0 jour(&U) +FileChooser.helpButton.textAndMnemonic=&Aide +FileChooser.directoryOpenButton.textAndMnemonic=&Ouvrir + +# File Size Units +FileChooser.fileSizeKiloBytes={0} KB +FileChooser.fileSizeMegaBytes={0} MB +FileChooser.fileSizeGigaBytes={0} GB + +# These strings are platform dependent not look and feel dependent. +FileChooser.win32.newFolder=Nouveau dossier +FileChooser.win32.newFolder.subsequent=Nouveau dossier ({0}) +FileChooser.other.newFolder=NewFolder +FileChooser.other.newFolder.subsequent=NewFolder.{0} + + +## file chooser tooltips ### +FileChooser.cancelButtonToolTip.textAndMnemonic=Ferme la bo\u00EEte de dialogue du s\u00E9lecteur de fichiers +FileChooser.saveButtonToolTip.textAndMnemonic=Enregistre le fichier s\u00E9lectionn\u00E9 +FileChooser.openButtonToolTip.textAndMnemonic=Ouvre le fichier s\u00E9lectionn\u00E9 +FileChooser.updateButtonToolTip.textAndMnemonic=Met \u00E0 jour la liste des r\u00E9pertoires +FileChooser.helpButtonToolTip.textAndMnemonic=Aide du s\u00E9lecteur de fichiers +FileChooser.directoryOpenButtonToolTip.textAndMnemonic=Ouvre le r\u00E9pertoire s\u00E9lectionn\u00E9 + +FileChooser.filesListAccessibleName=Files List +FileChooser.filesDetailsAccessibleName=Files Details + +############ COLOR CHOOSER STRINGS ############# +ColorChooser.preview.textAndMnemonic=Aper\u00E7u +ColorChooser.ok.textAndMnemonic=OK +ColorChooser.cancel.textAndMnemonic=Annuler +ColorChooser.reset.textAndMnemonic=R\u00E9initialiser(&R) +ColorChooser.sample.textAndMnemonic=Echantillon de texte Echantillon de texte +ColorChooser.swatches.textAndMnemonic=&Echantillons +ColorChooser.swatchesRecent.textAndMnemonic=Dernier : +ColorChooser.hsv.textAndMnemonic=&TSV +ColorChooser.hsvHue.textAndMnemonic=Teinte +ColorChooser.hsvSaturation.textAndMnemonic=Saturation +ColorChooser.hsvValue.textAndMnemonic=Valeur +ColorChooser.hsvTransparency.textAndMnemonic=Transparence +ColorChooser.hsl.textAndMnemonic=TS&L +ColorChooser.hslHue.textAndMnemonic=Teinte +ColorChooser.hslSaturation.textAndMnemonic=Saturation +ColorChooser.hslLightness.textAndMnemonic=Lumi\u00E8re +ColorChooser.hslTransparency.textAndMnemonic=Transparence +ColorChooser.rgb.textAndMnemonic=R&VB +ColorChooser.rgbRed.textAndMnemonic=R&ouge +ColorChooser.rgbGreen.textAndMnemonic=&Vert +ColorChooser.rgbBlue.textAndMnemonic=&Bleu +ColorChooser.rgbAlpha.textAndMnemonic=Alpha +ColorChooser.rgbHexCode.textAndMnemonic=&Code couleur +ColorChooser.cmyk.textAndMnemonic=C&MYK +ColorChooser.cmykCyan.textAndMnemonic=Cyan +ColorChooser.cmykMagenta.textAndMnemonic=Magenta +ColorChooser.cmykYellow.textAndMnemonic=Jaune +ColorChooser.cmykBlack.textAndMnemonic=Noir +ColorChooser.cmykAlpha.textAndMnemonic=Alpha + +############ OPTION PANE STRINGS ############# +# We only define mnemonics for YES/NO, but for completeness you can +# define mnemonics for any of the buttons. +OptionPane.yesButton.textAndMnemonic=&Oui +OptionPane.noButton.textAndMnemonic=&Non +OptionPane.okButton.textAndMnemonic=&OK +OptionPane.cancelButton.textAndMnemonic=&Annuler +OptionPane.title.textAndMnemonic=S\u00E9lectionner une option +# Title for the dialog for the showInputDialog methods. Only used if +# the developer uses one of the variants that doesn't take a title. +OptionPane.inputDialog.titleAndMnemonic=Entr\u00E9e +# Title for the dialog for the showMessageDialog methods. Only used if +# the developer uses one of the variants that doesn't take a title. +OptionPane.messageDialog.titleAndMnemonic=Message + +############ Printing Dialog Strings ############ +PrintingDialog.titleProgress.textAndMnemonic=Impression +PrintingDialog.titleAborting.textAndMnemonic=Impression (abandon) + +PrintingDialog.contentInitial.textAndMnemonic=Impression en cours... + +# The following string will be formatted by a MessageFormat +# and {0} will be replaced by page number being printed +PrintingDialog.contentProgress.textAndMnemonic=Page {0} imprim\u00E9e... + +PrintingDialog.contentAborting.textAndMnemonic=Abandon de l'impression... + +PrintingDialog.abortButton.textAndMnemonic=&Abandonner +PrintingDialog.abortButtonToolTip.textAndMnemonic=Abandonner l'impression + +############ Internal Frame Strings ############ +InternalFrame.iconButtonToolTip=R\u00E9duire +InternalFrame.maxButtonToolTip=Agrandir +InternalFrame.restoreButtonToolTip=Restaurer +InternalFrame.closeButtonToolTip=Fermer + +############ Internal Frame Title Pane Strings ############ +InternalFrameTitlePane.restoreButton.textAndMnemonic=Restaurer +InternalFrameTitlePane.moveButton.textAndMnemonic=D\u00E9placer +InternalFrameTitlePane.sizeButton.textAndMnemonic=Taille +InternalFrameTitlePane.minimizeButton.textAndMnemonic=R\u00E9duire +InternalFrameTitlePane.maximizeButton.textAndMnemonic=Agrandir +InternalFrameTitlePane.closeButton.textAndMnemonic=Fermer + +############ Text strings ############# +# Used for html forms +FormView.submitButton.textAndMnemonic=Soumettre la requ\u00EAte +FormView.resetButton.textAndMnemonic=R\u00E9initialiser +FormView.browseFileButton.textAndMnemonic=Parcourir... + +############ Abstract Document Strings ############ +AbstractDocument.styleChange.textAndMnemonic=modification de style +AbstractDocument.addition.textAndMnemonic=ajout +AbstractDocument.deletion.textAndMnemonic=suppression +AbstractDocument.undo.textAndMnemonic=Annuler +AbstractDocument.redo.textAndMnemonic=R\u00E9tablir + +############ Abstract Button Strings ############ +AbstractButton.click.textAndMnemonic=cliquer + +############ Abstract Undoable Edit Strings ############ +AbstractUndoableEdit.undo.textAndMnemonic=Annuler +AbstractUndoableEdit.redo.textAndMnemonic=R\u00E9tablir + +############ Combo Box Strings ############ +ComboBox.togglePopup.textAndMnemonic=togglePopup + +############ Progress Monitor Strings ############ +ProgressMonitor.progress.textAndMnemonic=Progression... + +############ Split Pane Strings ############ +SplitPane.leftButton.textAndMnemonic=bouton gauche +SplitPane.rightButton.textAndMnemonic=bouton droit +# Used for Isindex +IsindexView.prompt=Ceci est un index de recherche. Tapez des mots-cl\u00E9s pour la recherche : + +############ InternalFrameTitlePane Strings ############ +InternalFrameTitlePane.iconifyButtonAccessibleName=R\u00E9duire +InternalFrameTitlePane.maximizeButtonAccessibleName=Agrandir +InternalFrameTitlePane.closeButtonAccessibleName=Fermer +
--- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties Wed Jun 27 18:39:43 2012 -0700 @@ -1,186 +1,186 @@ -# This properties file is used to create a PropertyResourceBundle -# It contains Locale specific strings used in Swing -# Currently, the following components need this for support: -# -# ColorChooser -# FileChooser -# OptionPane -# -# When this file is read in, the strings are put into the -# defaults table. This is an implementation detail of the current -# workings of Swing. DO NOT DEPEND ON THIS. -# This may change in future versions of Swing as we improve localization -# support. -# -# MNEMONIC NOTE: -# Many of strings in this file are used by widgets that have a -# mnemonic, for example: -# ColorChooser.rgbNameTextAndMnemonic=R&GB -# Indicates that the tab in the ColorChooser for RGB colors will have -# the text 'RGB', further the mnemonic character will be 'g' and that -# a decoration will be provided under the 'G'. This will typically -# look like: RGB -# - -# -# One important thing to remember is that the mnemonic MUST exist in -# the String, if it does not exist you should add text that makes it -# exist. This will typically take the form 'XXXX (M)' where M is the -# character for the mnemonic. -# -# @author Steve Wilson - -############ FILE CHOOSER STRINGS ############# -FileChooser.fileDescription.textAndMnemonic=File generico -FileChooser.directoryDescription.textAndMnemonic=Directory -FileChooser.newFolderError.textAndMnemonic=Errore durante la creazione della nuova cartella -FileChooser.newFolderErrorSeparator= : -FileChooser.newFolderParentDoesntExistTitle.textAndMnemonic=Impossibile creare la cartella -FileChooser.newFolderParentDoesntExist.textAndMnemonic=Impossibile creare la cartella.\n\nIl sistema non \u00E8 in grado di trovare il percorso specificato. -FileChooser.renameErrorTitle.textAndMnemonic=Errore durante la ridenominazione del file o della cartella -FileChooser.renameError.textAndMnemonic=Impossibile rinominare {0} -FileChooser.renameErrorFileExists.textAndMnemonic=Impossibile rinominare {0}: esiste gi\u00E0 un file con il nome specificato. Specificare un altro nome. -FileChooser.acceptAllFileFilter.textAndMnemonic=Tutti i file -FileChooser.cancelButton.textAndMnemonic=&Annulla -FileChooser.saveButton.textAndMnemonic=Sal&va -FileChooser.openButton.textAndMnemonic=A&pri -FileChooser.saveDialogTitle.textAndMnemonic=Salva -FileChooser.openDialogTitle.textAndMnemonic=Apri -FileChooser.updateButton.textAndMnemonic=A&ggiorna -FileChooser.helpButton.textAndMnemonic=?(&H) -FileChooser.directoryOpenButton.textAndMnemonic=&Apri - -# File Size Units -FileChooser.fileSizeKiloBytes={0} KB -FileChooser.fileSizeMegaBytes={0} MB -FileChooser.fileSizeGigaBytes={0} GB - -# These strings are platform dependent not look and feel dependent. -FileChooser.win32.newFolder=Nuova cartella -FileChooser.win32.newFolder.subsequent=Nuova cartella ({0}) -FileChooser.other.newFolder=NewFolder -FileChooser.other.newFolder.subsequent=NewFolder.{0} - - -## file chooser tooltips ### -FileChooser.cancelButtonToolTip.textAndMnemonic=Chiude la finestra di dialogo di selezione file -FileChooser.saveButtonToolTip.textAndMnemonic=Salva il file selezionato -FileChooser.openButtonToolTip.textAndMnemonic=Apre il file selezionato -FileChooser.updateButtonToolTip.textAndMnemonic=Aggiorna la lista directory -FileChooser.helpButtonToolTip.textAndMnemonic=Guida FileChooser -FileChooser.directoryOpenButtonToolTip.textAndMnemonic=Apre la directory selezionata - -FileChooser.filesListAccessibleName=Files List -FileChooser.filesDetailsAccessibleName=Files Details - -############ COLOR CHOOSER STRINGS ############# -ColorChooser.preview.textAndMnemonic=Anteprima -ColorChooser.ok.textAndMnemonic=OK -ColorChooser.cancel.textAndMnemonic=Annulla -ColorChooser.reset.textAndMnemonic=&Reimposta -ColorChooser.sample.textAndMnemonic=Testo di prova Testo di prova -ColorChooser.swatches.textAndMnemonic=Colori cam&pione -ColorChooser.swatchesRecent.textAndMnemonic=Recenti: -ColorChooser.hsv.textAndMnemonic=&HSV -ColorChooser.hsvHue.textAndMnemonic=Tonalit\u00E0 -ColorChooser.hsvSaturation.textAndMnemonic=Saturazione -ColorChooser.hsvValue.textAndMnemonic=Valore -ColorChooser.hsvTransparency.textAndMnemonic=Trasparenza -ColorChooser.hsl.textAndMnemonic=HS&L -ColorChooser.hslHue.textAndMnemonic=Tonalit\u00E0 -ColorChooser.hslSaturation.textAndMnemonic=Saturazione -ColorChooser.hslLightness.textAndMnemonic=Luminosit\u00E0 -ColorChooser.hslTransparency.textAndMnemonic=Trasparenza -ColorChooser.rgb.textAndMnemonic=R&GB -ColorChooser.rgbRed.textAndMnemonic=Ro&sso -ColorChooser.rgbGreen.textAndMnemonic=Ver&de -ColorChooser.rgbBlue.textAndMnemonic=&Blu -ColorChooser.rgbAlpha.textAndMnemonic=Alfa -ColorChooser.rgbHexCode.textAndMnemonic=&Codice colori -ColorChooser.cmyk.textAndMnemonic=C&MYK -ColorChooser.cmykCyan.textAndMnemonic=Ciano -ColorChooser.cmykMagenta.textAndMnemonic=Magenta -ColorChooser.cmykYellow.textAndMnemonic=Giallo -ColorChooser.cmykBlack.textAndMnemonic=Nero -ColorChooser.cmykAlpha.textAndMnemonic=Alfa - -############ OPTION PANE STRINGS ############# -# We only define mnemonics for YES/NO, but for completeness you can -# define mnemonics for any of the buttons. -OptionPane.yesButton.textAndMnemonic=S\u00EC(&S) -OptionPane.noButton.textAndMnemonic=&No -OptionPane.okButton.textAndMnemonic=&OK -OptionPane.cancelButton.textAndMnemonic=&Annulla -OptionPane.title.textAndMnemonic=Selezionare una opzione -# Title for the dialog for the showInputDialog methods. Only used if -# the developer uses one of the variants that doesn't take a title. -OptionPane.inputDialog.titleAndMnemonic=Input -# Title for the dialog for the showMessageDialog methods. Only used if -# the developer uses one of the variants that doesn't take a title. -OptionPane.messageDialog.titleAndMnemonic=Messaggio - -############ Printing Dialog Strings ############ -PrintingDialog.titleProgress.textAndMnemonic=Stampa in corso -PrintingDialog.titleAborting.textAndMnemonic=Stampa in corso (operazione interrotta) - -PrintingDialog.contentInitial.textAndMnemonic=Stampa in corso... - -# The following string will be formatted by a MessageFormat -# and {0} will be replaced by page number being printed -PrintingDialog.contentProgress.textAndMnemonic=Pagina stampata {0}... - -PrintingDialog.contentAborting.textAndMnemonic=Interruzione della stampa... - -PrintingDialog.abortButton.textAndMnemonic=I&nterrompi -PrintingDialog.abortButtonToolTip.textAndMnemonic=Interrompi la stampa - -############ Internal Frame Strings ############ -InternalFrame.iconButtonToolTip=Riduci a icona -InternalFrame.maxButtonToolTip=Ingrandisci -InternalFrame.restoreButtonToolTip=Ripristina -InternalFrame.closeButtonToolTip=Chiudi - -############ Internal Frame Title Pane Strings ############ -InternalFrameTitlePane.restoreButton.textAndMnemonic=Ripristina -InternalFrameTitlePane.moveButton.textAndMnemonic=Sposta -InternalFrameTitlePane.sizeButton.textAndMnemonic=Dimensioni -InternalFrameTitlePane.minimizeButton.textAndMnemonic=Riduci a icona -InternalFrameTitlePane.maximizeButton.textAndMnemonic=Ingrandisci -InternalFrameTitlePane.closeButton.textAndMnemonic=Chiudi - -############ Text strings ############# -# Used for html forms -FormView.submitButton.textAndMnemonic=Sottometti query -FormView.resetButton.textAndMnemonic=Reimposta -FormView.browseFileButton.textAndMnemonic=Sfoglia... - -############ Abstract Document Strings ############ -AbstractDocument.styleChange.textAndMnemonic=modifica di stile -AbstractDocument.addition.textAndMnemonic=aggiunta -AbstractDocument.deletion.textAndMnemonic=eliminazione -AbstractDocument.undo.textAndMnemonic=Annulla -AbstractDocument.redo.textAndMnemonic=Ripeti - -############ Abstract Button Strings ############ -AbstractButton.click.textAndMnemonic=fare clic - -############ Abstract Undoable Edit Strings ############ -AbstractUndoableEdit.undo.textAndMnemonic=Annulla -AbstractUndoableEdit.redo.textAndMnemonic=Ripeti - -############ Combo Box Strings ############ -ComboBox.togglePopup.textAndMnemonic=togglePopup - -############ Progress Monitor Strings ############ -ProgressMonitor.progress.textAndMnemonic=Avanzamento... - -############ Split Pane Strings ############ -SplitPane.leftButton.textAndMnemonic=tasto sinistro -SplitPane.rightButton.textAndMnemonic=tasto destro -# Used for Isindex -IsindexView.prompt=Questo \u00E8 un indice di ricerca. Immettere le parole chiave: - -############ InternalFrameTitlePane Strings ############ -InternalFrameTitlePane.iconifyButtonAccessibleName=Riduci a icona -InternalFrameTitlePane.maximizeButtonAccessibleName=Ingrandisci -InternalFrameTitlePane.closeButtonAccessibleName=Chiudi - +# This properties file is used to create a PropertyResourceBundle +# It contains Locale specific strings used in Swing +# Currently, the following components need this for support: +# +# ColorChooser +# FileChooser +# OptionPane +# +# When this file is read in, the strings are put into the +# defaults table. This is an implementation detail of the current +# workings of Swing. DO NOT DEPEND ON THIS. +# This may change in future versions of Swing as we improve localization +# support. +# +# MNEMONIC NOTE: +# Many of strings in this file are used by widgets that have a +# mnemonic, for example: +# ColorChooser.rgbNameTextAndMnemonic=R&GB +# Indicates that the tab in the ColorChooser for RGB colors will have +# the text 'RGB', further the mnemonic character will be 'g' and that +# a decoration will be provided under the 'G'. This will typically +# look like: RGB +# - +# +# One important thing to remember is that the mnemonic MUST exist in +# the String, if it does not exist you should add text that makes it +# exist. This will typically take the form 'XXXX (M)' where M is the +# character for the mnemonic. +# +# @author Steve Wilson + +############ FILE CHOOSER STRINGS ############# +FileChooser.fileDescription.textAndMnemonic=File generico +FileChooser.directoryDescription.textAndMnemonic=Directory +FileChooser.newFolderError.textAndMnemonic=Errore durante la creazione della nuova cartella +FileChooser.newFolderErrorSeparator= : +FileChooser.newFolderParentDoesntExistTitle.textAndMnemonic=Impossibile creare la cartella +FileChooser.newFolderParentDoesntExist.textAndMnemonic=Impossibile creare la cartella.\n\nIl sistema non \u00E8 in grado di trovare il percorso specificato. +FileChooser.renameErrorTitle.textAndMnemonic=Errore durante la ridenominazione del file o della cartella +FileChooser.renameError.textAndMnemonic=Impossibile rinominare {0} +FileChooser.renameErrorFileExists.textAndMnemonic=Impossibile rinominare {0}: esiste gi\u00E0 un file con il nome specificato. Specificare un altro nome. +FileChooser.acceptAllFileFilter.textAndMnemonic=Tutti i file +FileChooser.cancelButton.textAndMnemonic=Annulla +FileChooser.saveButton.textAndMnemonic=Sal&va +FileChooser.openButton.textAndMnemonic=A&pri +FileChooser.saveDialogTitle.textAndMnemonic=Salva +FileChooser.openDialogTitle.textAndMnemonic=Apri +FileChooser.updateButton.textAndMnemonic=A&ggiorna +FileChooser.helpButton.textAndMnemonic=?(&H) +FileChooser.directoryOpenButton.textAndMnemonic=&Apri + +# File Size Units +FileChooser.fileSizeKiloBytes={0} KB +FileChooser.fileSizeMegaBytes={0} MB +FileChooser.fileSizeGigaBytes={0} GB + +# These strings are platform dependent not look and feel dependent. +FileChooser.win32.newFolder=Nuova cartella +FileChooser.win32.newFolder.subsequent=Nuova cartella ({0}) +FileChooser.other.newFolder=NewFolder +FileChooser.other.newFolder.subsequent=NewFolder.{0} + + +## file chooser tooltips ### +FileChooser.cancelButtonToolTip.textAndMnemonic=Chiude la finestra di dialogo di selezione file +FileChooser.saveButtonToolTip.textAndMnemonic=Salva il file selezionato +FileChooser.openButtonToolTip.textAndMnemonic=Apre il file selezionato +FileChooser.updateButtonToolTip.textAndMnemonic=Aggiorna la lista directory +FileChooser.helpButtonToolTip.textAndMnemonic=Guida FileChooser +FileChooser.directoryOpenButtonToolTip.textAndMnemonic=Apre la directory selezionata + +FileChooser.filesListAccessibleName=Files List +FileChooser.filesDetailsAccessibleName=Files Details + +############ COLOR CHOOSER STRINGS ############# +ColorChooser.preview.textAndMnemonic=Anteprima +ColorChooser.ok.textAndMnemonic=OK +ColorChooser.cancel.textAndMnemonic=Annulla +ColorChooser.reset.textAndMnemonic=&Reimposta +ColorChooser.sample.textAndMnemonic=Testo di prova Testo di prova +ColorChooser.swatches.textAndMnemonic=Colori cam&pione +ColorChooser.swatchesRecent.textAndMnemonic=Recenti: +ColorChooser.hsv.textAndMnemonic=&HSV +ColorChooser.hsvHue.textAndMnemonic=Tonalit\u00E0 +ColorChooser.hsvSaturation.textAndMnemonic=Saturazione +ColorChooser.hsvValue.textAndMnemonic=Valore +ColorChooser.hsvTransparency.textAndMnemonic=Trasparenza +ColorChooser.hsl.textAndMnemonic=HS&L +ColorChooser.hslHue.textAndMnemonic=Tonalit\u00E0 +ColorChooser.hslSaturation.textAndMnemonic=Saturazione +ColorChooser.hslLightness.textAndMnemonic=Luminosit\u00E0 +ColorChooser.hslTransparency.textAndMnemonic=Trasparenza +ColorChooser.rgb.textAndMnemonic=R&GB +ColorChooser.rgbRed.textAndMnemonic=Ro&sso +ColorChooser.rgbGreen.textAndMnemonic=Ver&de +ColorChooser.rgbBlue.textAndMnemonic=&Blu +ColorChooser.rgbAlpha.textAndMnemonic=Alfa +ColorChooser.rgbHexCode.textAndMnemonic=&Codice colori +ColorChooser.cmyk.textAndMnemonic=C&MYK +ColorChooser.cmykCyan.textAndMnemonic=Ciano +ColorChooser.cmykMagenta.textAndMnemonic=Magenta +ColorChooser.cmykYellow.textAndMnemonic=Giallo +ColorChooser.cmykBlack.textAndMnemonic=Nero +ColorChooser.cmykAlpha.textAndMnemonic=Alfa + +############ OPTION PANE STRINGS ############# +# We only define mnemonics for YES/NO, but for completeness you can +# define mnemonics for any of the buttons. +OptionPane.yesButton.textAndMnemonic=S\u00EC(&S) +OptionPane.noButton.textAndMnemonic=&No +OptionPane.okButton.textAndMnemonic=&OK +OptionPane.cancelButton.textAndMnemonic=&Annulla +OptionPane.title.textAndMnemonic=Selezionare una opzione +# Title for the dialog for the showInputDialog methods. Only used if +# the developer uses one of the variants that doesn't take a title. +OptionPane.inputDialog.titleAndMnemonic=Input +# Title for the dialog for the showMessageDialog methods. Only used if +# the developer uses one of the variants that doesn't take a title. +OptionPane.messageDialog.titleAndMnemonic=Messaggio + +############ Printing Dialog Strings ############ +PrintingDialog.titleProgress.textAndMnemonic=Stampa in corso +PrintingDialog.titleAborting.textAndMnemonic=Stampa in corso (operazione interrotta) + +PrintingDialog.contentInitial.textAndMnemonic=Stampa in corso... + +# The following string will be formatted by a MessageFormat +# and {0} will be replaced by page number being printed +PrintingDialog.contentProgress.textAndMnemonic=Pagina stampata {0}... + +PrintingDialog.contentAborting.textAndMnemonic=Interruzione della stampa... + +PrintingDialog.abortButton.textAndMnemonic=I&nterrompi +PrintingDialog.abortButtonToolTip.textAndMnemonic=Interrompi la stampa + +############ Internal Frame Strings ############ +InternalFrame.iconButtonToolTip=Riduci a icona +InternalFrame.maxButtonToolTip=Ingrandisci +InternalFrame.restoreButtonToolTip=Ripristina +InternalFrame.closeButtonToolTip=Chiudi + +############ Internal Frame Title Pane Strings ############ +InternalFrameTitlePane.restoreButton.textAndMnemonic=Ripristina +InternalFrameTitlePane.moveButton.textAndMnemonic=Sposta +InternalFrameTitlePane.sizeButton.textAndMnemonic=Dimensioni +InternalFrameTitlePane.minimizeButton.textAndMnemonic=Riduci a icona +InternalFrameTitlePane.maximizeButton.textAndMnemonic=Ingrandisci +InternalFrameTitlePane.closeButton.textAndMnemonic=Chiudi + +############ Text strings ############# +# Used for html forms +FormView.submitButton.textAndMnemonic=Sottometti query +FormView.resetButton.textAndMnemonic=Reimposta +FormView.browseFileButton.textAndMnemonic=Sfoglia... + +############ Abstract Document Strings ############ +AbstractDocument.styleChange.textAndMnemonic=modifica di stile +AbstractDocument.addition.textAndMnemonic=aggiunta +AbstractDocument.deletion.textAndMnemonic=eliminazione +AbstractDocument.undo.textAndMnemonic=Annulla +AbstractDocument.redo.textAndMnemonic=Ripeti + +############ Abstract Button Strings ############ +AbstractButton.click.textAndMnemonic=fare clic + +############ Abstract Undoable Edit Strings ############ +AbstractUndoableEdit.undo.textAndMnemonic=Annulla +AbstractUndoableEdit.redo.textAndMnemonic=Ripeti + +############ Combo Box Strings ############ +ComboBox.togglePopup.textAndMnemonic=togglePopup + +############ Progress Monitor Strings ############ +ProgressMonitor.progress.textAndMnemonic=Avanzamento... + +############ Split Pane Strings ############ +SplitPane.leftButton.textAndMnemonic=tasto sinistro +SplitPane.rightButton.textAndMnemonic=tasto destro +# Used for Isindex +IsindexView.prompt=Questo \u00E8 un indice di ricerca. Immettere le parole chiave: + +############ InternalFrameTitlePane Strings ############ +InternalFrameTitlePane.iconifyButtonAccessibleName=Riduci a icona +InternalFrameTitlePane.maximizeButtonAccessibleName=Ingrandisci +InternalFrameTitlePane.closeButtonAccessibleName=Chiudi +
--- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties Wed Jun 27 18:39:43 2012 -0700 @@ -1,186 +1,186 @@ -# This properties file is used to create a PropertyResourceBundle -# It contains Locale specific strings used in Swing -# Currently, the following components need this for support: -# -# ColorChooser -# FileChooser -# OptionPane -# -# When this file is read in, the strings are put into the -# defaults table. This is an implementation detail of the current -# workings of Swing. DO NOT DEPEND ON THIS. -# This may change in future versions of Swing as we improve localization -# support. -# -# MNEMONIC NOTE: -# Many of strings in this file are used by widgets that have a -# mnemonic, for example: -# ColorChooser.rgbNameTextAndMnemonic=R&GB -# Indicates that the tab in the ColorChooser for RGB colors will have -# the text 'RGB', further the mnemonic character will be 'g' and that -# a decoration will be provided under the 'G'. This will typically -# look like: RGB -# - -# -# One important thing to remember is that the mnemonic MUST exist in -# the String, if it does not exist you should add text that makes it -# exist. This will typically take the form 'XXXX (M)' where M is the -# character for the mnemonic. -# -# @author Steve Wilson - -############ FILE CHOOSER STRINGS ############# -FileChooser.fileDescription.textAndMnemonic=\u6C4E\u7528\u30D5\u30A1\u30A4\u30EB -FileChooser.directoryDescription.textAndMnemonic=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA -FileChooser.newFolderError.textAndMnemonic=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0\u306E\u4F5C\u6210\u30A8\u30E9\u30FC -FileChooser.newFolderErrorSeparator= : -FileChooser.newFolderParentDoesntExistTitle.textAndMnemonic=\u30D5\u30A9\u30EB\u30C0\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093 -FileChooser.newFolderParentDoesntExist.textAndMnemonic=\u30D5\u30A9\u30EB\u30C0\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3002\n\n\u6307\u5B9A\u3057\u305F\u30D1\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002 -FileChooser.renameErrorTitle.textAndMnemonic=\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30D5\u30A9\u30EB\u30C0\u306E\u540D\u524D\u5909\u66F4\u30A8\u30E9\u30FC -FileChooser.renameError.textAndMnemonic={0}\u306E\u540D\u524D\u3092\u5909\u66F4\u3067\u304D\u307E\u305B\u3093 -FileChooser.renameErrorFileExists.textAndMnemonic={0}\u306E\u540D\u524D\u3092\u5909\u66F4\u3067\u304D\u307E\u305B\u3093: \u6307\u5B9A\u3057\u305F\u540D\u524D\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u3059\u3067\u306B\u5B58\u5728\u3057\u307E\u3059\u3002\u5225\u306E\u30D5\u30A1\u30A4\u30EB\u540D\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -FileChooser.acceptAllFileFilter.textAndMnemonic=\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB -FileChooser.cancelButton.textAndMnemonic=\u53D6\u6D88(&C) -FileChooser.saveButton.textAndMnemonic=\u4FDD\u5B58(&S) -FileChooser.openButton.textAndMnemonic=\u958B\u304F(&O) -FileChooser.saveDialogTitle.textAndMnemonic=\u4FDD\u5B58 -FileChooser.openDialogTitle.textAndMnemonic=\u958B\u304F -FileChooser.updateButton.textAndMnemonic=\u66F4\u65B0(&U) -FileChooser.helpButton.textAndMnemonic=\u30D8\u30EB\u30D7(&H) -FileChooser.directoryOpenButton.textAndMnemonic=\u958B\u304F(&O) - -# File Size Units -FileChooser.fileSizeKiloBytes={0} KB -FileChooser.fileSizeMegaBytes={0} MB -FileChooser.fileSizeGigaBytes={0} GB - -# These strings are platform dependent not look and feel dependent. -FileChooser.win32.newFolder=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0 -FileChooser.win32.newFolder.subsequent=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0({0}) -FileChooser.other.newFolder=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0 -FileChooser.other.newFolder.subsequent=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0.{0} - - -## file chooser tooltips ### -FileChooser.cancelButtonToolTip.textAndMnemonic=\u30D5\u30A1\u30A4\u30EB\u30FB\u30C1\u30E5\u30FC\u30B6\u30FB\u30C0\u30A4\u30A2\u30ED\u30B0\u3092\u7D42\u4E86\u3057\u307E\u3059 -FileChooser.saveButtonToolTip.textAndMnemonic=\u9078\u629E\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u4FDD\u5B58\u3057\u307E\u3059 -FileChooser.openButtonToolTip.textAndMnemonic=\u9078\u629E\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304D\u307E\u3059 -FileChooser.updateButtonToolTip.textAndMnemonic=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u30EA\u30B9\u30C8\u3092\u66F4\u65B0\u3057\u307E\u3059 -FileChooser.helpButtonToolTip.textAndMnemonic=FileChooser\u306E\u30D8\u30EB\u30D7\u3067\u3059 -FileChooser.directoryOpenButtonToolTip.textAndMnemonic=\u9078\u629E\u3057\u305F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u958B\u304D\u307E\u3059 - -FileChooser.filesListAccessibleName=Files List -FileChooser.filesDetailsAccessibleName=Files Details - -############ COLOR CHOOSER STRINGS ############# -ColorChooser.preview.textAndMnemonic=\u30D7\u30EC\u30D3\u30E5\u30FC -ColorChooser.ok.textAndMnemonic=OK -ColorChooser.cancel.textAndMnemonic=\u53D6\u6D88 -ColorChooser.reset.textAndMnemonic=\u30EA\u30BB\u30C3\u30C8(&R) -ColorChooser.sample.textAndMnemonic=\u30B5\u30F3\u30D7\u30EB\u30FB\u30C6\u30AD\u30B9\u30C8 \u30B5\u30F3\u30D7\u30EB\u30FB\u30C6\u30AD\u30B9\u30C8 -ColorChooser.swatches.textAndMnemonic=\u30B5\u30F3\u30D7\u30EB(&S) -ColorChooser.swatchesRecent.textAndMnemonic=\u6700\u65B0: -ColorChooser.hsv.textAndMnemonic=&HSV -ColorChooser.hsvHue.textAndMnemonic=\u8272\u76F8 -ColorChooser.hsvSaturation.textAndMnemonic=\u5F69\u5EA6 -ColorChooser.hsvValue.textAndMnemonic=\u5024 -ColorChooser.hsvTransparency.textAndMnemonic=\u900F\u660E\u5EA6 -ColorChooser.hsl.textAndMnemonic=HS&L -ColorChooser.hslHue.textAndMnemonic=\u8272\u76F8 -ColorChooser.hslSaturation.textAndMnemonic=\u5F69\u5EA6 -ColorChooser.hslLightness.textAndMnemonic=\u660E\u5EA6 -ColorChooser.hslTransparency.textAndMnemonic=\u900F\u660E\u5EA6 -ColorChooser.rgb.textAndMnemonic=R&GB -ColorChooser.rgbRed.textAndMnemonic=\u8D64(&D) -ColorChooser.rgbGreen.textAndMnemonic=\u7DD1(&N) -ColorChooser.rgbBlue.textAndMnemonic=\u9752(&B) -ColorChooser.rgbAlpha.textAndMnemonic=\u30A2\u30EB\u30D5\u30A1 -ColorChooser.rgbHexCode.textAndMnemonic=\u8272\u30B3\u30FC\u30C9(&C) -ColorChooser.cmyk.textAndMnemonic=C&MYK -ColorChooser.cmykCyan.textAndMnemonic=\u30B7\u30A2\u30F3 -ColorChooser.cmykMagenta.textAndMnemonic=\u30DE\u30BC\u30F3\u30BF -ColorChooser.cmykYellow.textAndMnemonic=\u9EC4 -ColorChooser.cmykBlack.textAndMnemonic=\u9ED2 -ColorChooser.cmykAlpha.textAndMnemonic=\u30A2\u30EB\u30D5\u30A1 - -############ OPTION PANE STRINGS ############# -# We only define mnemonics for YES/NO, but for completeness you can -# define mnemonics for any of the buttons. -OptionPane.yesButton.textAndMnemonic=\u306F\u3044(&Y) -OptionPane.noButton.textAndMnemonic=\u3044\u3044\u3048(&N) -OptionPane.okButton.textAndMnemonic=&OK -OptionPane.cancelButton.textAndMnemonic=\u53D6\u6D88 -OptionPane.title.textAndMnemonic=\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u9078\u629E -# Title for the dialog for the showInputDialog methods. Only used if -# the developer uses one of the variants that doesn't take a title. -OptionPane.inputDialog.titleAndMnemonic=\u5165\u529B -# Title for the dialog for the showMessageDialog methods. Only used if -# the developer uses one of the variants that doesn't take a title. -OptionPane.messageDialog.titleAndMnemonic=\u30E1\u30C3\u30BB\u30FC\u30B8 - -############ Printing Dialog Strings ############ -PrintingDialog.titleProgress.textAndMnemonic=\u5370\u5237\u3057\u3066\u3044\u307E\u3059 -PrintingDialog.titleAborting.textAndMnemonic=\u5370\u5237\u3092\u4E2D\u6B62\u3057\u3066\u3044\u307E\u3059 - -PrintingDialog.contentInitial.textAndMnemonic=\u5370\u5237\u4E2D... - -# The following string will be formatted by a MessageFormat -# and {0} will be replaced by page number being printed -PrintingDialog.contentProgress.textAndMnemonic=\u30DA\u30FC\u30B8{0}\u3092\u5370\u5237\u3057\u307E\u3057\u305F... - -PrintingDialog.contentAborting.textAndMnemonic=\u5370\u5237\u3092\u4E2D\u6B62\u3057\u3066\u3044\u307E\u3059... - -PrintingDialog.abortButton.textAndMnemonic=\u4E2D\u6B62(&A) -PrintingDialog.abortButtonToolTip.textAndMnemonic=\u5370\u5237\u306E\u4E2D\u6B62 - -############ Internal Frame Strings ############ -InternalFrame.iconButtonToolTip=\u6700\u5C0F\u5316 -InternalFrame.maxButtonToolTip=\u6700\u5927\u5316 -InternalFrame.restoreButtonToolTip=\u5FA9\u5143 -InternalFrame.closeButtonToolTip=\u9589\u3058\u308B - -############ Internal Frame Title Pane Strings ############ -InternalFrameTitlePane.restoreButton.textAndMnemonic=\u5FA9\u5143 -InternalFrameTitlePane.moveButton.textAndMnemonic=\u79FB\u52D5 -InternalFrameTitlePane.sizeButton.textAndMnemonic=\u30B5\u30A4\u30BA -InternalFrameTitlePane.minimizeButton.textAndMnemonic=\u6700\u5C0F\u5316 -InternalFrameTitlePane.maximizeButton.textAndMnemonic=\u6700\u5927\u5316 -InternalFrameTitlePane.closeButton.textAndMnemonic=\u9589\u3058\u308B - -############ Text strings ############# -# Used for html forms -FormView.submitButton.textAndMnemonic=\u554F\u5408\u305B\u306E\u5B9F\u884C -FormView.resetButton.textAndMnemonic=\u30EA\u30BB\u30C3\u30C8 -FormView.browseFileButton.textAndMnemonic=\u53C2\u7167... - -############ Abstract Document Strings ############ -AbstractDocument.styleChange.textAndMnemonic=\u30B9\u30BF\u30A4\u30EB\u5909\u66F4 -AbstractDocument.addition.textAndMnemonic=\u8FFD\u52A0 -AbstractDocument.deletion.textAndMnemonic=\u524A\u9664 -AbstractDocument.undo.textAndMnemonic=\u5143\u306B\u623B\u3059 -AbstractDocument.redo.textAndMnemonic=\u3084\u308A\u76F4\u3057 - -############ Abstract Button Strings ############ -AbstractButton.click.textAndMnemonic=\u30AF\u30EA\u30C3\u30AF - -############ Abstract Undoable Edit Strings ############ -AbstractUndoableEdit.undo.textAndMnemonic=\u5143\u306B\u623B\u3059 -AbstractUndoableEdit.redo.textAndMnemonic=\u3084\u308A\u76F4\u3057 - -############ Combo Box Strings ############ -ComboBox.togglePopup.textAndMnemonic=\u30C8\u30B0\u30EB\u30FB\u30DD\u30C3\u30D7\u30A2\u30C3\u30D7 - -############ Progress Monitor Strings ############ -ProgressMonitor.progress.textAndMnemonic=\u9032\u884C\u4E2D... - -############ Split Pane Strings ############ -SplitPane.leftButton.textAndMnemonic=\u5DE6\u30DC\u30BF\u30F3 -SplitPane.rightButton.textAndMnemonic=\u53F3\u30DC\u30BF\u30F3 -# Used for Isindex -IsindexView.prompt=\u691C\u7D22\u7528\u306E\u7D22\u5F15\u3067\u3059\u3002\u691C\u7D22\u3059\u308B\u30AD\u30FC\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044: - -############ InternalFrameTitlePane Strings ############ -InternalFrameTitlePane.iconifyButtonAccessibleName=\u30A2\u30A4\u30B3\u30F3\u5316 -InternalFrameTitlePane.maximizeButtonAccessibleName=\u6700\u5927\u5316 -InternalFrameTitlePane.closeButtonAccessibleName=\u9589\u3058\u308B - +# This properties file is used to create a PropertyResourceBundle +# It contains Locale specific strings used in Swing +# Currently, the following components need this for support: +# +# ColorChooser +# FileChooser +# OptionPane +# +# When this file is read in, the strings are put into the +# defaults table. This is an implementation detail of the current +# workings of Swing. DO NOT DEPEND ON THIS. +# This may change in future versions of Swing as we improve localization +# support. +# +# MNEMONIC NOTE: +# Many of strings in this file are used by widgets that have a +# mnemonic, for example: +# ColorChooser.rgbNameTextAndMnemonic=R&GB +# Indicates that the tab in the ColorChooser for RGB colors will have +# the text 'RGB', further the mnemonic character will be 'g' and that +# a decoration will be provided under the 'G'. This will typically +# look like: RGB +# - +# +# One important thing to remember is that the mnemonic MUST exist in +# the String, if it does not exist you should add text that makes it +# exist. This will typically take the form 'XXXX (M)' where M is the +# character for the mnemonic. +# +# @author Steve Wilson + +############ FILE CHOOSER STRINGS ############# +FileChooser.fileDescription.textAndMnemonic=\u6C4E\u7528\u30D5\u30A1\u30A4\u30EB +FileChooser.directoryDescription.textAndMnemonic=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA +FileChooser.newFolderError.textAndMnemonic=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0\u306E\u4F5C\u6210\u30A8\u30E9\u30FC +FileChooser.newFolderErrorSeparator= : +FileChooser.newFolderParentDoesntExistTitle.textAndMnemonic=\u30D5\u30A9\u30EB\u30C0\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093 +FileChooser.newFolderParentDoesntExist.textAndMnemonic=\u30D5\u30A9\u30EB\u30C0\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3002\n\n\u6307\u5B9A\u3057\u305F\u30D1\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002 +FileChooser.renameErrorTitle.textAndMnemonic=\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30D5\u30A9\u30EB\u30C0\u306E\u540D\u524D\u5909\u66F4\u30A8\u30E9\u30FC +FileChooser.renameError.textAndMnemonic={0}\u306E\u540D\u524D\u3092\u5909\u66F4\u3067\u304D\u307E\u305B\u3093 +FileChooser.renameErrorFileExists.textAndMnemonic={0}\u306E\u540D\u524D\u3092\u5909\u66F4\u3067\u304D\u307E\u305B\u3093: \u6307\u5B9A\u3057\u305F\u540D\u524D\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u3059\u3067\u306B\u5B58\u5728\u3057\u307E\u3059\u3002\u5225\u306E\u30D5\u30A1\u30A4\u30EB\u540D\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 +FileChooser.acceptAllFileFilter.textAndMnemonic=\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB +FileChooser.cancelButton.textAndMnemonic=\u53D6\u6D88 +FileChooser.saveButton.textAndMnemonic=\u4FDD\u5B58(&S) +FileChooser.openButton.textAndMnemonic=\u958B\u304F(&O) +FileChooser.saveDialogTitle.textAndMnemonic=\u4FDD\u5B58 +FileChooser.openDialogTitle.textAndMnemonic=\u958B\u304F +FileChooser.updateButton.textAndMnemonic=\u66F4\u65B0(&U) +FileChooser.helpButton.textAndMnemonic=\u30D8\u30EB\u30D7(&H) +FileChooser.directoryOpenButton.textAndMnemonic=\u958B\u304F(&O) + +# File Size Units +FileChooser.fileSizeKiloBytes={0} KB +FileChooser.fileSizeMegaBytes={0} MB +FileChooser.fileSizeGigaBytes={0} GB + +# These strings are platform dependent not look and feel dependent. +FileChooser.win32.newFolder=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0 +FileChooser.win32.newFolder.subsequent=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0({0}) +FileChooser.other.newFolder=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0 +FileChooser.other.newFolder.subsequent=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0.{0} + + +## file chooser tooltips ### +FileChooser.cancelButtonToolTip.textAndMnemonic=\u30D5\u30A1\u30A4\u30EB\u30FB\u30C1\u30E5\u30FC\u30B6\u30FB\u30C0\u30A4\u30A2\u30ED\u30B0\u3092\u7D42\u4E86\u3057\u307E\u3059 +FileChooser.saveButtonToolTip.textAndMnemonic=\u9078\u629E\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u4FDD\u5B58\u3057\u307E\u3059 +FileChooser.openButtonToolTip.textAndMnemonic=\u9078\u629E\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304D\u307E\u3059 +FileChooser.updateButtonToolTip.textAndMnemonic=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u30EA\u30B9\u30C8\u3092\u66F4\u65B0\u3057\u307E\u3059 +FileChooser.helpButtonToolTip.textAndMnemonic=FileChooser\u306E\u30D8\u30EB\u30D7\u3067\u3059 +FileChooser.directoryOpenButtonToolTip.textAndMnemonic=\u9078\u629E\u3057\u305F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u958B\u304D\u307E\u3059 + +FileChooser.filesListAccessibleName=Files List +FileChooser.filesDetailsAccessibleName=Files Details + +############ COLOR CHOOSER STRINGS ############# +ColorChooser.preview.textAndMnemonic=\u30D7\u30EC\u30D3\u30E5\u30FC +ColorChooser.ok.textAndMnemonic=OK +ColorChooser.cancel.textAndMnemonic=\u53D6\u6D88 +ColorChooser.reset.textAndMnemonic=\u30EA\u30BB\u30C3\u30C8(&R) +ColorChooser.sample.textAndMnemonic=\u30B5\u30F3\u30D7\u30EB\u30FB\u30C6\u30AD\u30B9\u30C8 \u30B5\u30F3\u30D7\u30EB\u30FB\u30C6\u30AD\u30B9\u30C8 +ColorChooser.swatches.textAndMnemonic=\u30B5\u30F3\u30D7\u30EB(&S) +ColorChooser.swatchesRecent.textAndMnemonic=\u6700\u65B0: +ColorChooser.hsv.textAndMnemonic=&HSV +ColorChooser.hsvHue.textAndMnemonic=\u8272\u76F8 +ColorChooser.hsvSaturation.textAndMnemonic=\u5F69\u5EA6 +ColorChooser.hsvValue.textAndMnemonic=\u5024 +ColorChooser.hsvTransparency.textAndMnemonic=\u900F\u660E\u5EA6 +ColorChooser.hsl.textAndMnemonic=HS&L +ColorChooser.hslHue.textAndMnemonic=\u8272\u76F8 +ColorChooser.hslSaturation.textAndMnemonic=\u5F69\u5EA6 +ColorChooser.hslLightness.textAndMnemonic=\u660E\u5EA6 +ColorChooser.hslTransparency.textAndMnemonic=\u900F\u660E\u5EA6 +ColorChooser.rgb.textAndMnemonic=R&GB +ColorChooser.rgbRed.textAndMnemonic=\u8D64(&D) +ColorChooser.rgbGreen.textAndMnemonic=\u7DD1(&N) +ColorChooser.rgbBlue.textAndMnemonic=\u9752(&B) +ColorChooser.rgbAlpha.textAndMnemonic=\u30A2\u30EB\u30D5\u30A1 +ColorChooser.rgbHexCode.textAndMnemonic=\u8272\u30B3\u30FC\u30C9(&C) +ColorChooser.cmyk.textAndMnemonic=C&MYK +ColorChooser.cmykCyan.textAndMnemonic=\u30B7\u30A2\u30F3 +ColorChooser.cmykMagenta.textAndMnemonic=\u30DE\u30BC\u30F3\u30BF +ColorChooser.cmykYellow.textAndMnemonic=\u9EC4 +ColorChooser.cmykBlack.textAndMnemonic=\u9ED2 +ColorChooser.cmykAlpha.textAndMnemonic=\u30A2\u30EB\u30D5\u30A1 + +############ OPTION PANE STRINGS ############# +# We only define mnemonics for YES/NO, but for completeness you can +# define mnemonics for any of the buttons. +OptionPane.yesButton.textAndMnemonic=\u306F\u3044(&Y) +OptionPane.noButton.textAndMnemonic=\u3044\u3044\u3048(&N) +OptionPane.okButton.textAndMnemonic=&OK +OptionPane.cancelButton.textAndMnemonic=\u53D6\u6D88 +OptionPane.title.textAndMnemonic=\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u9078\u629E +# Title for the dialog for the showInputDialog methods. Only used if +# the developer uses one of the variants that doesn't take a title. +OptionPane.inputDialog.titleAndMnemonic=\u5165\u529B +# Title for the dialog for the showMessageDialog methods. Only used if +# the developer uses one of the variants that doesn't take a title. +OptionPane.messageDialog.titleAndMnemonic=\u30E1\u30C3\u30BB\u30FC\u30B8 + +############ Printing Dialog Strings ############ +PrintingDialog.titleProgress.textAndMnemonic=\u5370\u5237\u3057\u3066\u3044\u307E\u3059 +PrintingDialog.titleAborting.textAndMnemonic=\u5370\u5237\u3092\u4E2D\u6B62\u3057\u3066\u3044\u307E\u3059 + +PrintingDialog.contentInitial.textAndMnemonic=\u5370\u5237\u4E2D... + +# The following string will be formatted by a MessageFormat +# and {0} will be replaced by page number being printed +PrintingDialog.contentProgress.textAndMnemonic=\u30DA\u30FC\u30B8{0}\u3092\u5370\u5237\u3057\u307E\u3057\u305F... + +PrintingDialog.contentAborting.textAndMnemonic=\u5370\u5237\u3092\u4E2D\u6B62\u3057\u3066\u3044\u307E\u3059... + +PrintingDialog.abortButton.textAndMnemonic=\u4E2D\u6B62(&A) +PrintingDialog.abortButtonToolTip.textAndMnemonic=\u5370\u5237\u306E\u4E2D\u6B62 + +############ Internal Frame Strings ############ +InternalFrame.iconButtonToolTip=\u6700\u5C0F\u5316 +InternalFrame.maxButtonToolTip=\u6700\u5927\u5316 +InternalFrame.restoreButtonToolTip=\u5FA9\u5143 +InternalFrame.closeButtonToolTip=\u9589\u3058\u308B + +############ Internal Frame Title Pane Strings ############ +InternalFrameTitlePane.restoreButton.textAndMnemonic=\u5FA9\u5143 +InternalFrameTitlePane.moveButton.textAndMnemonic=\u79FB\u52D5 +InternalFrameTitlePane.sizeButton.textAndMnemonic=\u30B5\u30A4\u30BA +InternalFrameTitlePane.minimizeButton.textAndMnemonic=\u6700\u5C0F\u5316 +InternalFrameTitlePane.maximizeButton.textAndMnemonic=\u6700\u5927\u5316 +InternalFrameTitlePane.closeButton.textAndMnemonic=\u9589\u3058\u308B + +############ Text strings ############# +# Used for html forms +FormView.submitButton.textAndMnemonic=\u554F\u5408\u305B\u306E\u5B9F\u884C +FormView.resetButton.textAndMnemonic=\u30EA\u30BB\u30C3\u30C8 +FormView.browseFileButton.textAndMnemonic=\u53C2\u7167... + +############ Abstract Document Strings ############ +AbstractDocument.styleChange.textAndMnemonic=\u30B9\u30BF\u30A4\u30EB\u5909\u66F4 +AbstractDocument.addition.textAndMnemonic=\u8FFD\u52A0 +AbstractDocument.deletion.textAndMnemonic=\u524A\u9664 +AbstractDocument.undo.textAndMnemonic=\u5143\u306B\u623B\u3059 +AbstractDocument.redo.textAndMnemonic=\u3084\u308A\u76F4\u3057 + +############ Abstract Button Strings ############ +AbstractButton.click.textAndMnemonic=\u30AF\u30EA\u30C3\u30AF + +############ Abstract Undoable Edit Strings ############ +AbstractUndoableEdit.undo.textAndMnemonic=\u5143\u306B\u623B\u3059 +AbstractUndoableEdit.redo.textAndMnemonic=\u3084\u308A\u76F4\u3057 + +############ Combo Box Strings ############ +ComboBox.togglePopup.textAndMnemonic=\u30C8\u30B0\u30EB\u30FB\u30DD\u30C3\u30D7\u30A2\u30C3\u30D7 + +############ Progress Monitor Strings ############ +ProgressMonitor.progress.textAndMnemonic=\u9032\u884C\u4E2D... + +############ Split Pane Strings ############ +SplitPane.leftButton.textAndMnemonic=\u5DE6\u30DC\u30BF\u30F3 +SplitPane.rightButton.textAndMnemonic=\u53F3\u30DC\u30BF\u30F3 +# Used for Isindex +IsindexView.prompt=\u691C\u7D22\u7528\u306E\u7D22\u5F15\u3067\u3059\u3002\u691C\u7D22\u3059\u308B\u30AD\u30FC\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044: + +############ InternalFrameTitlePane Strings ############ +InternalFrameTitlePane.iconifyButtonAccessibleName=\u30A2\u30A4\u30B3\u30F3\u5316 +InternalFrameTitlePane.maximizeButtonAccessibleName=\u6700\u5927\u5316 +InternalFrameTitlePane.closeButtonAccessibleName=\u9589\u3058\u308B +
--- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties Wed Jun 27 18:39:43 2012 -0700 @@ -1,186 +1,186 @@ -# This properties file is used to create a PropertyResourceBundle -# It contains Locale specific strings used in Swing -# Currently, the following components need this for support: -# -# ColorChooser -# FileChooser -# OptionPane -# -# When this file is read in, the strings are put into the -# defaults table. This is an implementation detail of the current -# workings of Swing. DO NOT DEPEND ON THIS. -# This may change in future versions of Swing as we improve localization -# support. -# -# MNEMONIC NOTE: -# Many of strings in this file are used by widgets that have a -# mnemonic, for example: -# ColorChooser.rgbNameTextAndMnemonic=R&GB -# Indicates that the tab in the ColorChooser for RGB colors will have -# the text 'RGB', further the mnemonic character will be 'g' and that -# a decoration will be provided under the 'G'. This will typically -# look like: RGB -# - -# -# One important thing to remember is that the mnemonic MUST exist in -# the String, if it does not exist you should add text that makes it -# exist. This will typically take the form 'XXXX (M)' where M is the -# character for the mnemonic. -# -# @author Steve Wilson - -############ FILE CHOOSER STRINGS ############# -FileChooser.fileDescription.textAndMnemonic=\uC77C\uBC18 \uD30C\uC77C -FileChooser.directoryDescription.textAndMnemonic=\uB514\uB809\uD1A0\uB9AC -FileChooser.newFolderError.textAndMnemonic=\uC0C8 \uD3F4\uB354\uB97C \uC0DD\uC131\uD558\uB294 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. -FileChooser.newFolderErrorSeparator= : -FileChooser.newFolderParentDoesntExistTitle.textAndMnemonic=\uD3F4\uB354\uB97C \uC0DD\uC131\uD560 \uC218 \uC5C6\uC74C -FileChooser.newFolderParentDoesntExist.textAndMnemonic=\uD3F4\uB354\uB97C \uC0DD\uC131\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\n\uC2DC\uC2A4\uD15C\uC5D0\uC11C \uC9C0\uC815\uB41C \uACBD\uB85C\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -FileChooser.renameErrorTitle.textAndMnemonic=\uD30C\uC77C \uB610\uB294 \uD3F4\uB354 \uC774\uB984 \uBC14\uAFB8\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD -FileChooser.renameError.textAndMnemonic={0}\uC758 \uC774\uB984\uC744 \uBC14\uAFC0 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -FileChooser.renameErrorFileExists.textAndMnemonic={0}\uC758 \uC774\uB984\uC744 \uBC14\uAFC0 \uC218 \uC5C6\uC74C: \uC9C0\uC815\uD55C \uC774\uB984\uC744 \uC0AC\uC6A9\uD558\uB294 \uD30C\uC77C\uC774 \uC874\uC7AC\uD569\uB2C8\uB2E4. \uB2E4\uB978 \uD30C\uC77C \uC774\uB984\uC744 \uC9C0\uC815\uD558\uC2ED\uC2DC\uC624. -FileChooser.acceptAllFileFilter.textAndMnemonic=\uBAA8\uB4E0 \uD30C\uC77C -FileChooser.cancelButton.textAndMnemonic=\uCDE8\uC18C(&C) -FileChooser.saveButton.textAndMnemonic=\uC800\uC7A5(&S) -FileChooser.openButton.textAndMnemonic=\uC5F4\uAE30(&O) -FileChooser.saveDialogTitle.textAndMnemonic=\uC800\uC7A5 -FileChooser.openDialogTitle.textAndMnemonic=\uC5F4\uAE30 -FileChooser.updateButton.textAndMnemonic=\uAC31\uC2E0(&U) -FileChooser.helpButton.textAndMnemonic=\uB3C4\uC6C0\uB9D0(&H) -FileChooser.directoryOpenButton.textAndMnemonic=\uC5F4\uAE30(&O) - -# File Size Units -FileChooser.fileSizeKiloBytes={0} KB -FileChooser.fileSizeMegaBytes={0} MB -FileChooser.fileSizeGigaBytes={0} GB - -# These strings are platform dependent not look and feel dependent. -FileChooser.win32.newFolder=\uC0C8 \uD3F4\uB354 -FileChooser.win32.newFolder.subsequent=\uC0C8 \uD3F4\uB354({0}) -FileChooser.other.newFolder=NewFolder -FileChooser.other.newFolder.subsequent=NewFolder.{0} - - -## file chooser tooltips ### -FileChooser.cancelButtonToolTip.textAndMnemonic=\uD30C\uC77C \uC120\uD0DD\uAE30 \uB300\uD654\uC0C1\uC790 \uC911\uB2E8 -FileChooser.saveButtonToolTip.textAndMnemonic=\uC120\uD0DD\uB41C \uD30C\uC77C \uC800\uC7A5 -FileChooser.openButtonToolTip.textAndMnemonic=\uC120\uD0DD\uB41C \uD30C\uC77C \uC5F4\uAE30 -FileChooser.updateButtonToolTip.textAndMnemonic=\uB514\uB809\uD1A0\uB9AC \uBAA9\uB85D \uAC31\uC2E0 -FileChooser.helpButtonToolTip.textAndMnemonic=FileChooser \uB3C4\uC6C0\uB9D0 -FileChooser.directoryOpenButtonToolTip.textAndMnemonic=\uC120\uD0DD\uB41C \uB514\uB809\uD1A0\uB9AC \uC5F4\uAE30 - -FileChooser.filesListAccessibleName=Files List -FileChooser.filesDetailsAccessibleName=Files Details - -############ COLOR CHOOSER STRINGS ############# -ColorChooser.preview.textAndMnemonic=\uBBF8\uB9AC\uBCF4\uAE30 -ColorChooser.ok.textAndMnemonic=\uD655\uC778 -ColorChooser.cancel.textAndMnemonic=\uCDE8\uC18C -ColorChooser.reset.textAndMnemonic=\uC7AC\uC124\uC815(&R) -ColorChooser.sample.textAndMnemonic=\uC0D8\uD50C \uD14D\uC2A4\uD2B8 \uC0D8\uD50C \uD14D\uC2A4\uD2B8 -ColorChooser.swatches.textAndMnemonic=\uACAC\uBCF8(&S) -ColorChooser.swatchesRecent.textAndMnemonic=\uCD5C\uADFC \uBAA9\uB85D: -ColorChooser.hsv.textAndMnemonic=&HSV -ColorChooser.hsvHue.textAndMnemonic=\uC0C9\uC870 -ColorChooser.hsvSaturation.textAndMnemonic=\uCC44\uB3C4 -ColorChooser.hsvValue.textAndMnemonic=\uAC12 -ColorChooser.hsvTransparency.textAndMnemonic=\uD22C\uBA85 -ColorChooser.hsl.textAndMnemonic=HS&L -ColorChooser.hslHue.textAndMnemonic=\uC0C9\uC870 -ColorChooser.hslSaturation.textAndMnemonic=\uCC44\uB3C4 -ColorChooser.hslLightness.textAndMnemonic=\uBC1D\uAE30 -ColorChooser.hslTransparency.textAndMnemonic=\uD22C\uBA85 -ColorChooser.rgb.textAndMnemonic=R&GB -ColorChooser.rgbRed.textAndMnemonic=\uBE68\uAC04\uC0C9(&D) -ColorChooser.rgbGreen.textAndMnemonic=\uB179\uC0C9(&N) -ColorChooser.rgbBlue.textAndMnemonic=\uD30C\uB780\uC0C9(&B) -ColorChooser.rgbAlpha.textAndMnemonic=\uC54C\uD30C -ColorChooser.rgbHexCode.textAndMnemonic=\uC0C9\uC0C1 \uCF54\uB4DC(&C) -ColorChooser.cmyk.textAndMnemonic=C&MYK -ColorChooser.cmykCyan.textAndMnemonic=\uCCAD\uB85D\uC0C9 -ColorChooser.cmykMagenta.textAndMnemonic=\uC9C4\uD64D\uC0C9 -ColorChooser.cmykYellow.textAndMnemonic=\uB178\uB780\uC0C9 -ColorChooser.cmykBlack.textAndMnemonic=\uAC80\uC815\uC0C9 -ColorChooser.cmykAlpha.textAndMnemonic=\uC54C\uD30C - -############ OPTION PANE STRINGS ############# -# We only define mnemonics for YES/NO, but for completeness you can -# define mnemonics for any of the buttons. -OptionPane.yesButton.textAndMnemonic=\uC608(&Y) -OptionPane.noButton.textAndMnemonic=\uC544\uB2C8\uC624(&N) -OptionPane.okButton.textAndMnemonic=\uD655\uC778(&O) -OptionPane.cancelButton.textAndMnemonic=\uCDE8\uC18C -OptionPane.title.textAndMnemonic=\uC635\uC158 \uC120\uD0DD -# Title for the dialog for the showInputDialog methods. Only used if -# the developer uses one of the variants that doesn't take a title. -OptionPane.inputDialog.titleAndMnemonic=\uC785\uB825 -# Title for the dialog for the showMessageDialog methods. Only used if -# the developer uses one of the variants that doesn't take a title. -OptionPane.messageDialog.titleAndMnemonic=\uBA54\uC2DC\uC9C0 - -############ Printing Dialog Strings ############ -PrintingDialog.titleProgress.textAndMnemonic=\uC778\uC1C4 -PrintingDialog.titleAborting.textAndMnemonic=\uC778\uC1C4(\uC911\uB2E8 \uC911) - -PrintingDialog.contentInitial.textAndMnemonic=\uC778\uC1C4 \uC9C4\uD589 \uC911... - -# The following string will be formatted by a MessageFormat -# and {0} will be replaced by page number being printed -PrintingDialog.contentProgress.textAndMnemonic=\uC778\uC1C4\uB41C \uD398\uC774\uC9C0 {0}... - -PrintingDialog.contentAborting.textAndMnemonic=\uC778\uC1C4 \uC911\uB2E8 \uC911... - -PrintingDialog.abortButton.textAndMnemonic=\uC911\uB2E8(&A) -PrintingDialog.abortButtonToolTip.textAndMnemonic=\uC778\uC1C4 \uC911\uB2E8 - -############ Internal Frame Strings ############ -InternalFrame.iconButtonToolTip=\uCD5C\uC18C\uD654 -InternalFrame.maxButtonToolTip=\uCD5C\uB300\uD654 -InternalFrame.restoreButtonToolTip=\uBCF5\uC6D0 -InternalFrame.closeButtonToolTip=\uB2EB\uAE30 - -############ Internal Frame Title Pane Strings ############ -InternalFrameTitlePane.restoreButton.textAndMnemonic=\uBCF5\uC6D0 -InternalFrameTitlePane.moveButton.textAndMnemonic=\uC774\uB3D9 -InternalFrameTitlePane.sizeButton.textAndMnemonic=\uD06C\uAE30 -InternalFrameTitlePane.minimizeButton.textAndMnemonic=\uCD5C\uC18C\uD654 -InternalFrameTitlePane.maximizeButton.textAndMnemonic=\uCD5C\uB300\uD654 -InternalFrameTitlePane.closeButton.textAndMnemonic=\uB2EB\uAE30 - -############ Text strings ############# -# Used for html forms -FormView.submitButton.textAndMnemonic=\uC9C8\uC758 \uC81C\uCD9C -FormView.resetButton.textAndMnemonic=\uC7AC\uC124\uC815 -FormView.browseFileButton.textAndMnemonic=\uCC3E\uC544\uBCF4\uAE30... - -############ Abstract Document Strings ############ -AbstractDocument.styleChange.textAndMnemonic=\uC2A4\uD0C0\uC77C \uBCC0\uACBD -AbstractDocument.addition.textAndMnemonic=\uCD94\uAC00 -AbstractDocument.deletion.textAndMnemonic=\uC0AD\uC81C -AbstractDocument.undo.textAndMnemonic=\uC2E4\uD589 \uCDE8\uC18C -AbstractDocument.redo.textAndMnemonic=\uC7AC\uC2E4\uD589 - -############ Abstract Button Strings ############ -AbstractButton.click.textAndMnemonic=\uB204\uB974\uAE30 - -############ Abstract Undoable Edit Strings ############ -AbstractUndoableEdit.undo.textAndMnemonic=\uC2E4\uD589 \uCDE8\uC18C -AbstractUndoableEdit.redo.textAndMnemonic=\uC7AC\uC2E4\uD589 - -############ Combo Box Strings ############ -ComboBox.togglePopup.textAndMnemonic=togglePopup - -############ Progress Monitor Strings ############ -ProgressMonitor.progress.textAndMnemonic=\uC9C4\uD589... - -############ Split Pane Strings ############ -SplitPane.leftButton.textAndMnemonic=\uC67C\uCABD \uB2E8\uCD94 -SplitPane.rightButton.textAndMnemonic=\uC624\uB978\uCABD \uB2E8\uCD94 -# Used for Isindex -IsindexView.prompt=\uB2E4\uC74C\uC740 \uAC80\uC0C9 \uAC00\uB2A5\uD55C \uC778\uB371\uC2A4\uC785\uB2C8\uB2E4. \uAC80\uC0C9 \uD0A4\uC6CC\uB4DC \uC785\uB825: - -############ InternalFrameTitlePane Strings ############ -InternalFrameTitlePane.iconifyButtonAccessibleName=\uC544\uC774\uCF58\uD654 -InternalFrameTitlePane.maximizeButtonAccessibleName=\uCD5C\uB300\uD654 -InternalFrameTitlePane.closeButtonAccessibleName=\uB2EB\uAE30 - +# This properties file is used to create a PropertyResourceBundle +# It contains Locale specific strings used in Swing +# Currently, the following components need this for support: +# +# ColorChooser +# FileChooser +# OptionPane +# +# When this file is read in, the strings are put into the +# defaults table. This is an implementation detail of the current +# workings of Swing. DO NOT DEPEND ON THIS. +# This may change in future versions of Swing as we improve localization +# support. +# +# MNEMONIC NOTE: +# Many of strings in this file are used by widgets that have a +# mnemonic, for example: +# ColorChooser.rgbNameTextAndMnemonic=R&GB +# Indicates that the tab in the ColorChooser for RGB colors will have +# the text 'RGB', further the mnemonic character will be 'g' and that +# a decoration will be provided under the 'G'. This will typically +# look like: RGB +# - +# +# One important thing to remember is that the mnemonic MUST exist in +# the String, if it does not exist you should add text that makes it +# exist. This will typically take the form 'XXXX (M)' where M is the +# character for the mnemonic. +# +# @author Steve Wilson + +############ FILE CHOOSER STRINGS ############# +FileChooser.fileDescription.textAndMnemonic=\uC77C\uBC18 \uD30C\uC77C +FileChooser.directoryDescription.textAndMnemonic=\uB514\uB809\uD1A0\uB9AC +FileChooser.newFolderError.textAndMnemonic=\uC0C8 \uD3F4\uB354\uB97C \uC0DD\uC131\uD558\uB294 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. +FileChooser.newFolderErrorSeparator= : +FileChooser.newFolderParentDoesntExistTitle.textAndMnemonic=\uD3F4\uB354\uB97C \uC0DD\uC131\uD560 \uC218 \uC5C6\uC74C +FileChooser.newFolderParentDoesntExist.textAndMnemonic=\uD3F4\uB354\uB97C \uC0DD\uC131\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\n\uC2DC\uC2A4\uD15C\uC5D0\uC11C \uC9C0\uC815\uB41C \uACBD\uB85C\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +FileChooser.renameErrorTitle.textAndMnemonic=\uD30C\uC77C \uB610\uB294 \uD3F4\uB354 \uC774\uB984 \uBC14\uAFB8\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD +FileChooser.renameError.textAndMnemonic={0}\uC758 \uC774\uB984\uC744 \uBC14\uAFC0 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. +FileChooser.renameErrorFileExists.textAndMnemonic={0}\uC758 \uC774\uB984\uC744 \uBC14\uAFC0 \uC218 \uC5C6\uC74C: \uC9C0\uC815\uD55C \uC774\uB984\uC744 \uC0AC\uC6A9\uD558\uB294 \uD30C\uC77C\uC774 \uC874\uC7AC\uD569\uB2C8\uB2E4. \uB2E4\uB978 \uD30C\uC77C \uC774\uB984\uC744 \uC9C0\uC815\uD558\uC2ED\uC2DC\uC624. +FileChooser.acceptAllFileFilter.textAndMnemonic=\uBAA8\uB4E0 \uD30C\uC77C +FileChooser.cancelButton.textAndMnemonic=\uCDE8\uC18C +FileChooser.saveButton.textAndMnemonic=\uC800\uC7A5(&S) +FileChooser.openButton.textAndMnemonic=\uC5F4\uAE30(&O) +FileChooser.saveDialogTitle.textAndMnemonic=\uC800\uC7A5 +FileChooser.openDialogTitle.textAndMnemonic=\uC5F4\uAE30 +FileChooser.updateButton.textAndMnemonic=\uAC31\uC2E0(&U) +FileChooser.helpButton.textAndMnemonic=\uB3C4\uC6C0\uB9D0(&H) +FileChooser.directoryOpenButton.textAndMnemonic=\uC5F4\uAE30(&O) + +# File Size Units +FileChooser.fileSizeKiloBytes={0} KB +FileChooser.fileSizeMegaBytes={0} MB +FileChooser.fileSizeGigaBytes={0} GB + +# These strings are platform dependent not look and feel dependent. +FileChooser.win32.newFolder=\uC0C8 \uD3F4\uB354 +FileChooser.win32.newFolder.subsequent=\uC0C8 \uD3F4\uB354({0}) +FileChooser.other.newFolder=NewFolder +FileChooser.other.newFolder.subsequent=NewFolder.{0} + + +## file chooser tooltips ### +FileChooser.cancelButtonToolTip.textAndMnemonic=\uD30C\uC77C \uC120\uD0DD\uAE30 \uB300\uD654\uC0C1\uC790 \uC911\uB2E8 +FileChooser.saveButtonToolTip.textAndMnemonic=\uC120\uD0DD\uB41C \uD30C\uC77C \uC800\uC7A5 +FileChooser.openButtonToolTip.textAndMnemonic=\uC120\uD0DD\uB41C \uD30C\uC77C \uC5F4\uAE30 +FileChooser.updateButtonToolTip.textAndMnemonic=\uB514\uB809\uD1A0\uB9AC \uBAA9\uB85D \uAC31\uC2E0 +FileChooser.helpButtonToolTip.textAndMnemonic=FileChooser \uB3C4\uC6C0\uB9D0 +FileChooser.directoryOpenButtonToolTip.textAndMnemonic=\uC120\uD0DD\uB41C \uB514\uB809\uD1A0\uB9AC \uC5F4\uAE30 + +FileChooser.filesListAccessibleName=Files List +FileChooser.filesDetailsAccessibleName=Files Details + +############ COLOR CHOOSER STRINGS ############# +ColorChooser.preview.textAndMnemonic=\uBBF8\uB9AC\uBCF4\uAE30 +ColorChooser.ok.textAndMnemonic=\uD655\uC778 +ColorChooser.cancel.textAndMnemonic=\uCDE8\uC18C +ColorChooser.reset.textAndMnemonic=\uC7AC\uC124\uC815(&R) +ColorChooser.sample.textAndMnemonic=\uC0D8\uD50C \uD14D\uC2A4\uD2B8 \uC0D8\uD50C \uD14D\uC2A4\uD2B8 +ColorChooser.swatches.textAndMnemonic=\uACAC\uBCF8(&S) +ColorChooser.swatchesRecent.textAndMnemonic=\uCD5C\uADFC \uBAA9\uB85D: +ColorChooser.hsv.textAndMnemonic=&HSV +ColorChooser.hsvHue.textAndMnemonic=\uC0C9\uC870 +ColorChooser.hsvSaturation.textAndMnemonic=\uCC44\uB3C4 +ColorChooser.hsvValue.textAndMnemonic=\uAC12 +ColorChooser.hsvTransparency.textAndMnemonic=\uD22C\uBA85 +ColorChooser.hsl.textAndMnemonic=HS&L +ColorChooser.hslHue.textAndMnemonic=\uC0C9\uC870 +ColorChooser.hslSaturation.textAndMnemonic=\uCC44\uB3C4 +ColorChooser.hslLightness.textAndMnemonic=\uBC1D\uAE30 +ColorChooser.hslTransparency.textAndMnemonic=\uD22C\uBA85 +ColorChooser.rgb.textAndMnemonic=R&GB +ColorChooser.rgbRed.textAndMnemonic=\uBE68\uAC04\uC0C9(&D) +ColorChooser.rgbGreen.textAndMnemonic=\uB179\uC0C9(&N) +ColorChooser.rgbBlue.textAndMnemonic=\uD30C\uB780\uC0C9(&B) +ColorChooser.rgbAlpha.textAndMnemonic=\uC54C\uD30C +ColorChooser.rgbHexCode.textAndMnemonic=\uC0C9\uC0C1 \uCF54\uB4DC(&C) +ColorChooser.cmyk.textAndMnemonic=C&MYK +ColorChooser.cmykCyan.textAndMnemonic=\uCCAD\uB85D\uC0C9 +ColorChooser.cmykMagenta.textAndMnemonic=\uC9C4\uD64D\uC0C9 +ColorChooser.cmykYellow.textAndMnemonic=\uB178\uB780\uC0C9 +ColorChooser.cmykBlack.textAndMnemonic=\uAC80\uC815\uC0C9 +ColorChooser.cmykAlpha.textAndMnemonic=\uC54C\uD30C + +############ OPTION PANE STRINGS ############# +# We only define mnemonics for YES/NO, but for completeness you can +# define mnemonics for any of the buttons. +OptionPane.yesButton.textAndMnemonic=\uC608(&Y) +OptionPane.noButton.textAndMnemonic=\uC544\uB2C8\uC624(&N) +OptionPane.okButton.textAndMnemonic=\uD655\uC778(&O) +OptionPane.cancelButton.textAndMnemonic=\uCDE8\uC18C +OptionPane.title.textAndMnemonic=\uC635\uC158 \uC120\uD0DD +# Title for the dialog for the showInputDialog methods. Only used if +# the developer uses one of the variants that doesn't take a title. +OptionPane.inputDialog.titleAndMnemonic=\uC785\uB825 +# Title for the dialog for the showMessageDialog methods. Only used if +# the developer uses one of the variants that doesn't take a title. +OptionPane.messageDialog.titleAndMnemonic=\uBA54\uC2DC\uC9C0 + +############ Printing Dialog Strings ############ +PrintingDialog.titleProgress.textAndMnemonic=\uC778\uC1C4 +PrintingDialog.titleAborting.textAndMnemonic=\uC778\uC1C4(\uC911\uB2E8 \uC911) + +PrintingDialog.contentInitial.textAndMnemonic=\uC778\uC1C4 \uC9C4\uD589 \uC911... + +# The following string will be formatted by a MessageFormat +# and {0} will be replaced by page number being printed +PrintingDialog.contentProgress.textAndMnemonic=\uC778\uC1C4\uB41C \uD398\uC774\uC9C0 {0}... + +PrintingDialog.contentAborting.textAndMnemonic=\uC778\uC1C4 \uC911\uB2E8 \uC911... + +PrintingDialog.abortButton.textAndMnemonic=\uC911\uB2E8(&A) +PrintingDialog.abortButtonToolTip.textAndMnemonic=\uC778\uC1C4 \uC911\uB2E8 + +############ Internal Frame Strings ############ +InternalFrame.iconButtonToolTip=\uCD5C\uC18C\uD654 +InternalFrame.maxButtonToolTip=\uCD5C\uB300\uD654 +InternalFrame.restoreButtonToolTip=\uBCF5\uC6D0 +InternalFrame.closeButtonToolTip=\uB2EB\uAE30 + +############ Internal Frame Title Pane Strings ############ +InternalFrameTitlePane.restoreButton.textAndMnemonic=\uBCF5\uC6D0 +InternalFrameTitlePane.moveButton.textAndMnemonic=\uC774\uB3D9 +InternalFrameTitlePane.sizeButton.textAndMnemonic=\uD06C\uAE30 +InternalFrameTitlePane.minimizeButton.textAndMnemonic=\uCD5C\uC18C\uD654 +InternalFrameTitlePane.maximizeButton.textAndMnemonic=\uCD5C\uB300\uD654 +InternalFrameTitlePane.closeButton.textAndMnemonic=\uB2EB\uAE30 + +############ Text strings ############# +# Used for html forms +FormView.submitButton.textAndMnemonic=\uC9C8\uC758 \uC81C\uCD9C +FormView.resetButton.textAndMnemonic=\uC7AC\uC124\uC815 +FormView.browseFileButton.textAndMnemonic=\uCC3E\uC544\uBCF4\uAE30... + +############ Abstract Document Strings ############ +AbstractDocument.styleChange.textAndMnemonic=\uC2A4\uD0C0\uC77C \uBCC0\uACBD +AbstractDocument.addition.textAndMnemonic=\uCD94\uAC00 +AbstractDocument.deletion.textAndMnemonic=\uC0AD\uC81C +AbstractDocument.undo.textAndMnemonic=\uC2E4\uD589 \uCDE8\uC18C +AbstractDocument.redo.textAndMnemonic=\uC7AC\uC2E4\uD589 + +############ Abstract Button Strings ############ +AbstractButton.click.textAndMnemonic=\uB204\uB974\uAE30 + +############ Abstract Undoable Edit Strings ############ +AbstractUndoableEdit.undo.textAndMnemonic=\uC2E4\uD589 \uCDE8\uC18C +AbstractUndoableEdit.redo.textAndMnemonic=\uC7AC\uC2E4\uD589 + +############ Combo Box Strings ############ +ComboBox.togglePopup.textAndMnemonic=togglePopup + +############ Progress Monitor Strings ############ +ProgressMonitor.progress.textAndMnemonic=\uC9C4\uD589... + +############ Split Pane Strings ############ +SplitPane.leftButton.textAndMnemonic=\uC67C\uCABD \uB2E8\uCD94 +SplitPane.rightButton.textAndMnemonic=\uC624\uB978\uCABD \uB2E8\uCD94 +# Used for Isindex +IsindexView.prompt=\uB2E4\uC74C\uC740 \uAC80\uC0C9 \uAC00\uB2A5\uD55C \uC778\uB371\uC2A4\uC785\uB2C8\uB2E4. \uAC80\uC0C9 \uD0A4\uC6CC\uB4DC \uC785\uB825: + +############ InternalFrameTitlePane Strings ############ +InternalFrameTitlePane.iconifyButtonAccessibleName=\uC544\uC774\uCF58\uD654 +InternalFrameTitlePane.maximizeButtonAccessibleName=\uCD5C\uB300\uD654 +InternalFrameTitlePane.closeButtonAccessibleName=\uB2EB\uAE30 +
--- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties Wed Jun 27 18:39:43 2012 -0700 @@ -1,186 +1,186 @@ -# This properties file is used to create a PropertyResourceBundle -# It contains Locale specific strings used in Swing -# Currently, the following components need this for support: -# -# ColorChooser -# FileChooser -# OptionPane -# -# When this file is read in, the strings are put into the -# defaults table. This is an implementation detail of the current -# workings of Swing. DO NOT DEPEND ON THIS. -# This may change in future versions of Swing as we improve localization -# support. -# -# MNEMONIC NOTE: -# Many of strings in this file are used by widgets that have a -# mnemonic, for example: -# ColorChooser.rgbNameTextAndMnemonic=R&GB -# Indicates that the tab in the ColorChooser for RGB colors will have -# the text 'RGB', further the mnemonic character will be 'g' and that -# a decoration will be provided under the 'G'. This will typically -# look like: RGB -# - -# -# One important thing to remember is that the mnemonic MUST exist in -# the String, if it does not exist you should add text that makes it -# exist. This will typically take the form 'XXXX (M)' where M is the -# character for the mnemonic. -# -# @author Steve Wilson - -############ FILE CHOOSER STRINGS ############# -FileChooser.fileDescription.textAndMnemonic=Arquivo Gen\u00E9rico -FileChooser.directoryDescription.textAndMnemonic=Diret\u00F3rio -FileChooser.newFolderError.textAndMnemonic=Erro ao criar nova pasta -FileChooser.newFolderErrorSeparator= : -FileChooser.newFolderParentDoesntExistTitle.textAndMnemonic=N\u00E3o \u00E9 poss\u00EDvel criar a pasta -FileChooser.newFolderParentDoesntExist.textAndMnemonic=N\u00E3o \u00E9 poss\u00EDvel criar a pasta.\n\nO sistema n\u00E3o pode localizar o caminho especificado. -FileChooser.renameErrorTitle.textAndMnemonic=Erro ao Renomear o Arquivo ou a Pasta -FileChooser.renameError.textAndMnemonic=N\u00E3o \u00E9 poss\u00EDvel renomear {0} -FileChooser.renameErrorFileExists.textAndMnemonic=N\u00E3o \u00E9 poss\u00EDvel renomear {0}: Um arquivo com o nome especificado j\u00E1 existe. Especifique outro nome de arquivo. -FileChooser.acceptAllFileFilter.textAndMnemonic=Todos os Arquivos -FileChooser.cancelButton.textAndMnemonic=&Cancelar -FileChooser.saveButton.textAndMnemonic=&Salvar -FileChooser.openButton.textAndMnemonic=A&brir -FileChooser.saveDialogTitle.textAndMnemonic=Salvar -FileChooser.openDialogTitle.textAndMnemonic=Abrir -FileChooser.updateButton.textAndMnemonic=At&ualizar -FileChooser.helpButton.textAndMnemonic=Aj&uda -FileChooser.directoryOpenButton.textAndMnemonic=A&brir - -# File Size Units -FileChooser.fileSizeKiloBytes={0} KB -FileChooser.fileSizeMegaBytes={0} MB -FileChooser.fileSizeGigaBytes={0} GB - -# These strings are platform dependent not look and feel dependent. -FileChooser.win32.newFolder=Nova Pasta -FileChooser.win32.newFolder.subsequent=Nova Pasta ({0}) -FileChooser.other.newFolder=NewFolder -FileChooser.other.newFolder.subsequent=NewFolder.{0} - - -## file chooser tooltips ### -FileChooser.cancelButtonToolTip.textAndMnemonic=Abortar caixa de di\u00E1logo do seletor de arquivos -FileChooser.saveButtonToolTip.textAndMnemonic=Salvar arquivo selecionado -FileChooser.openButtonToolTip.textAndMnemonic=Abrir arquivo selecionado -FileChooser.updateButtonToolTip.textAndMnemonic=Atualizar lista de diret\u00F3rios -FileChooser.helpButtonToolTip.textAndMnemonic=Ajuda do FileChooser -FileChooser.directoryOpenButtonToolTip.textAndMnemonic=Abrir diret\u00F3rio selecionado - -FileChooser.filesListAccessibleName=Files List -FileChooser.filesDetailsAccessibleName=Files Details - -############ COLOR CHOOSER STRINGS ############# -ColorChooser.preview.textAndMnemonic=Visualizar -ColorChooser.ok.textAndMnemonic=OK -ColorChooser.cancel.textAndMnemonic=Cancelar -ColorChooser.reset.textAndMnemonic=&Redefinir -ColorChooser.sample.textAndMnemonic=Texto de Amostra Texto de Amostra -ColorChooser.swatches.textAndMnemonic=Amo&stras -ColorChooser.swatchesRecent.textAndMnemonic=Recente: -ColorChooser.hsv.textAndMnemonic=&HSV -ColorChooser.hsvHue.textAndMnemonic=Matiz -ColorChooser.hsvSaturation.textAndMnemonic=Satura\u00E7\u00E3o -ColorChooser.hsvValue.textAndMnemonic=Valor -ColorChooser.hsvTransparency.textAndMnemonic=Transpar\u00EAncia -ColorChooser.hsl.textAndMnemonic=HS&L -ColorChooser.hslHue.textAndMnemonic=Matiz -ColorChooser.hslSaturation.textAndMnemonic=Satura\u00E7\u00E3o -ColorChooser.hslLightness.textAndMnemonic=Clareza -ColorChooser.hslTransparency.textAndMnemonic=Transpar\u00EAncia -ColorChooser.rgb.textAndMnemonic=R&GB -ColorChooser.rgbRed.textAndMnemonic=&Vermelho -ColorChooser.rgbGreen.textAndMnemonic=&Verde -ColorChooser.rgbBlue.textAndMnemonic=&Azul -ColorChooser.rgbAlpha.textAndMnemonic=Alfa -ColorChooser.rgbHexCode.textAndMnemonic=C\u00F3digo da Cor(&C) -ColorChooser.cmyk.textAndMnemonic=C&MYK -ColorChooser.cmykCyan.textAndMnemonic=Ciano -ColorChooser.cmykMagenta.textAndMnemonic=Magenta -ColorChooser.cmykYellow.textAndMnemonic=Amarelo -ColorChooser.cmykBlack.textAndMnemonic=Preto -ColorChooser.cmykAlpha.textAndMnemonic=Alfa - -############ OPTION PANE STRINGS ############# -# We only define mnemonics for YES/NO, but for completeness you can -# define mnemonics for any of the buttons. -OptionPane.yesButton.textAndMnemonic=&Sim -OptionPane.noButton.textAndMnemonic=N\u00E3o(&N) -OptionPane.okButton.textAndMnemonic=&OK -OptionPane.cancelButton.textAndMnemonic=&Cancelar -OptionPane.title.textAndMnemonic=Selecionar uma Op\u00E7\u00E3o -# Title for the dialog for the showInputDialog methods. Only used if -# the developer uses one of the variants that doesn't take a title. -OptionPane.inputDialog.titleAndMnemonic=Entrada -# Title for the dialog for the showMessageDialog methods. Only used if -# the developer uses one of the variants that doesn't take a title. -OptionPane.messageDialog.titleAndMnemonic=Mensagem - -############ Printing Dialog Strings ############ -PrintingDialog.titleProgress.textAndMnemonic=Impress\u00E3o -PrintingDialog.titleAborting.textAndMnemonic=Impress\u00E3o (Abortando) - -PrintingDialog.contentInitial.textAndMnemonic=Impress\u00E3o em andamento... - -# The following string will be formatted by a MessageFormat -# and {0} will be replaced by page number being printed -PrintingDialog.contentProgress.textAndMnemonic=P\u00E1gina impressa {0}... - -PrintingDialog.contentAborting.textAndMnemonic=Abortando impress\u00E3o... - -PrintingDialog.abortButton.textAndMnemonic=&Abortar -PrintingDialog.abortButtonToolTip.textAndMnemonic=Abortar Impress\u00E3o - -############ Internal Frame Strings ############ -InternalFrame.iconButtonToolTip=Minimizar -InternalFrame.maxButtonToolTip=Maximizar -InternalFrame.restoreButtonToolTip=Restaurar -InternalFrame.closeButtonToolTip=Fechar - -############ Internal Frame Title Pane Strings ############ -InternalFrameTitlePane.restoreButton.textAndMnemonic=Restaurar -InternalFrameTitlePane.moveButton.textAndMnemonic=Mover -InternalFrameTitlePane.sizeButton.textAndMnemonic=Tamanho -InternalFrameTitlePane.minimizeButton.textAndMnemonic=Minimizar -InternalFrameTitlePane.maximizeButton.textAndMnemonic=Maximizar -InternalFrameTitlePane.closeButton.textAndMnemonic=Fechar - -############ Text strings ############# -# Used for html forms -FormView.submitButton.textAndMnemonic=Submeter Consulta -FormView.resetButton.textAndMnemonic=Redefinir -FormView.browseFileButton.textAndMnemonic=Procurar... - -############ Abstract Document Strings ############ -AbstractDocument.styleChange.textAndMnemonic=altera\u00E7\u00E3o de estilo -AbstractDocument.addition.textAndMnemonic=adi\u00E7\u00E3o -AbstractDocument.deletion.textAndMnemonic=dele\u00E7\u00E3o -AbstractDocument.undo.textAndMnemonic=Desfazer -AbstractDocument.redo.textAndMnemonic=Refazer - -############ Abstract Button Strings ############ -AbstractButton.click.textAndMnemonic=clicar - -############ Abstract Undoable Edit Strings ############ -AbstractUndoableEdit.undo.textAndMnemonic=Desfazer -AbstractUndoableEdit.redo.textAndMnemonic=Refazer - -############ Combo Box Strings ############ -ComboBox.togglePopup.textAndMnemonic=togglePopup - -############ Progress Monitor Strings ############ -ProgressMonitor.progress.textAndMnemonic=Progresso... - -############ Split Pane Strings ############ -SplitPane.leftButton.textAndMnemonic=bot\u00E3o esquerdo -SplitPane.rightButton.textAndMnemonic=bot\u00E3o direito -# Used for Isindex -IsindexView.prompt=Trata-se de um \u00EDndice pesquis\u00E1vel. Informe as palavras-chave de pesquisa: - -############ InternalFrameTitlePane Strings ############ -InternalFrameTitlePane.iconifyButtonAccessibleName=Iconify -InternalFrameTitlePane.maximizeButtonAccessibleName=Maximizar -InternalFrameTitlePane.closeButtonAccessibleName=Fechar - +# This properties file is used to create a PropertyResourceBundle +# It contains Locale specific strings used in Swing +# Currently, the following components need this for support: +# +# ColorChooser +# FileChooser +# OptionPane +# +# When this file is read in, the strings are put into the +# defaults table. This is an implementation detail of the current +# workings of Swing. DO NOT DEPEND ON THIS. +# This may change in future versions of Swing as we improve localization +# support. +# +# MNEMONIC NOTE: +# Many of strings in this file are used by widgets that have a +# mnemonic, for example: +# ColorChooser.rgbNameTextAndMnemonic=R&GB +# Indicates that the tab in the ColorChooser for RGB colors will have +# the text 'RGB', further the mnemonic character will be 'g' and that +# a decoration will be provided under the 'G'. This will typically +# look like: RGB +# - +# +# One important thing to remember is that the mnemonic MUST exist in +# the String, if it does not exist you should add text that makes it +# exist. This will typically take the form 'XXXX (M)' where M is the +# character for the mnemonic. +# +# @author Steve Wilson + +############ FILE CHOOSER STRINGS ############# +FileChooser.fileDescription.textAndMnemonic=Arquivo Gen\u00E9rico +FileChooser.directoryDescription.textAndMnemonic=Diret\u00F3rio +FileChooser.newFolderError.textAndMnemonic=Erro ao criar nova pasta +FileChooser.newFolderErrorSeparator= : +FileChooser.newFolderParentDoesntExistTitle.textAndMnemonic=N\u00E3o \u00E9 poss\u00EDvel criar a pasta +FileChooser.newFolderParentDoesntExist.textAndMnemonic=N\u00E3o \u00E9 poss\u00EDvel criar a pasta.\n\nO sistema n\u00E3o pode localizar o caminho especificado. +FileChooser.renameErrorTitle.textAndMnemonic=Erro ao Renomear o Arquivo ou a Pasta +FileChooser.renameError.textAndMnemonic=N\u00E3o \u00E9 poss\u00EDvel renomear {0} +FileChooser.renameErrorFileExists.textAndMnemonic=N\u00E3o \u00E9 poss\u00EDvel renomear {0}: Um arquivo com o nome especificado j\u00E1 existe. Especifique outro nome de arquivo. +FileChooser.acceptAllFileFilter.textAndMnemonic=Todos os Arquivos +FileChooser.cancelButton.textAndMnemonic=Cancelar +FileChooser.saveButton.textAndMnemonic=&Salvar +FileChooser.openButton.textAndMnemonic=A&brir +FileChooser.saveDialogTitle.textAndMnemonic=Salvar +FileChooser.openDialogTitle.textAndMnemonic=Abrir +FileChooser.updateButton.textAndMnemonic=At&ualizar +FileChooser.helpButton.textAndMnemonic=Aj&uda +FileChooser.directoryOpenButton.textAndMnemonic=A&brir + +# File Size Units +FileChooser.fileSizeKiloBytes={0} KB +FileChooser.fileSizeMegaBytes={0} MB +FileChooser.fileSizeGigaBytes={0} GB + +# These strings are platform dependent not look and feel dependent. +FileChooser.win32.newFolder=Nova Pasta +FileChooser.win32.newFolder.subsequent=Nova Pasta ({0}) +FileChooser.other.newFolder=NewFolder +FileChooser.other.newFolder.subsequent=NewFolder.{0} + + +## file chooser tooltips ### +FileChooser.cancelButtonToolTip.textAndMnemonic=Abortar caixa de di\u00E1logo do seletor de arquivos +FileChooser.saveButtonToolTip.textAndMnemonic=Salvar arquivo selecionado +FileChooser.openButtonToolTip.textAndMnemonic=Abrir arquivo selecionado +FileChooser.updateButtonToolTip.textAndMnemonic=Atualizar lista de diret\u00F3rios +FileChooser.helpButtonToolTip.textAndMnemonic=Ajuda do FileChooser +FileChooser.directoryOpenButtonToolTip.textAndMnemonic=Abrir diret\u00F3rio selecionado + +FileChooser.filesListAccessibleName=Files List +FileChooser.filesDetailsAccessibleName=Files Details + +############ COLOR CHOOSER STRINGS ############# +ColorChooser.preview.textAndMnemonic=Visualizar +ColorChooser.ok.textAndMnemonic=OK +ColorChooser.cancel.textAndMnemonic=Cancelar +ColorChooser.reset.textAndMnemonic=&Redefinir +ColorChooser.sample.textAndMnemonic=Texto de Amostra Texto de Amostra +ColorChooser.swatches.textAndMnemonic=Amo&stras +ColorChooser.swatchesRecent.textAndMnemonic=Recente: +ColorChooser.hsv.textAndMnemonic=&HSV +ColorChooser.hsvHue.textAndMnemonic=Matiz +ColorChooser.hsvSaturation.textAndMnemonic=Satura\u00E7\u00E3o +ColorChooser.hsvValue.textAndMnemonic=Valor +ColorChooser.hsvTransparency.textAndMnemonic=Transpar\u00EAncia +ColorChooser.hsl.textAndMnemonic=HS&L +ColorChooser.hslHue.textAndMnemonic=Matiz +ColorChooser.hslSaturation.textAndMnemonic=Satura\u00E7\u00E3o +ColorChooser.hslLightness.textAndMnemonic=Clareza +ColorChooser.hslTransparency.textAndMnemonic=Transpar\u00EAncia +ColorChooser.rgb.textAndMnemonic=R&GB +ColorChooser.rgbRed.textAndMnemonic=&Vermelho +ColorChooser.rgbGreen.textAndMnemonic=&Verde +ColorChooser.rgbBlue.textAndMnemonic=&Azul +ColorChooser.rgbAlpha.textAndMnemonic=Alfa +ColorChooser.rgbHexCode.textAndMnemonic=C\u00F3digo da Cor(&C) +ColorChooser.cmyk.textAndMnemonic=C&MYK +ColorChooser.cmykCyan.textAndMnemonic=Ciano +ColorChooser.cmykMagenta.textAndMnemonic=Magenta +ColorChooser.cmykYellow.textAndMnemonic=Amarelo +ColorChooser.cmykBlack.textAndMnemonic=Preto +ColorChooser.cmykAlpha.textAndMnemonic=Alfa + +############ OPTION PANE STRINGS ############# +# We only define mnemonics for YES/NO, but for completeness you can +# define mnemonics for any of the buttons. +OptionPane.yesButton.textAndMnemonic=&Sim +OptionPane.noButton.textAndMnemonic=N\u00E3o(&N) +OptionPane.okButton.textAndMnemonic=&OK +OptionPane.cancelButton.textAndMnemonic=&Cancelar +OptionPane.title.textAndMnemonic=Selecionar uma Op\u00E7\u00E3o +# Title for the dialog for the showInputDialog methods. Only used if +# the developer uses one of the variants that doesn't take a title. +OptionPane.inputDialog.titleAndMnemonic=Entrada +# Title for the dialog for the showMessageDialog methods. Only used if +# the developer uses one of the variants that doesn't take a title. +OptionPane.messageDialog.titleAndMnemonic=Mensagem + +############ Printing Dialog Strings ############ +PrintingDialog.titleProgress.textAndMnemonic=Impress\u00E3o +PrintingDialog.titleAborting.textAndMnemonic=Impress\u00E3o (Abortando) + +PrintingDialog.contentInitial.textAndMnemonic=Impress\u00E3o em andamento... + +# The following string will be formatted by a MessageFormat +# and {0} will be replaced by page number being printed +PrintingDialog.contentProgress.textAndMnemonic=P\u00E1gina impressa {0}... + +PrintingDialog.contentAborting.textAndMnemonic=Abortando impress\u00E3o... + +PrintingDialog.abortButton.textAndMnemonic=&Abortar +PrintingDialog.abortButtonToolTip.textAndMnemonic=Abortar Impress\u00E3o + +############ Internal Frame Strings ############ +InternalFrame.iconButtonToolTip=Minimizar +InternalFrame.maxButtonToolTip=Maximizar +InternalFrame.restoreButtonToolTip=Restaurar +InternalFrame.closeButtonToolTip=Fechar + +############ Internal Frame Title Pane Strings ############ +InternalFrameTitlePane.restoreButton.textAndMnemonic=Restaurar +InternalFrameTitlePane.moveButton.textAndMnemonic=Mover +InternalFrameTitlePane.sizeButton.textAndMnemonic=Tamanho +InternalFrameTitlePane.minimizeButton.textAndMnemonic=Minimizar +InternalFrameTitlePane.maximizeButton.textAndMnemonic=Maximizar +InternalFrameTitlePane.closeButton.textAndMnemonic=Fechar + +############ Text strings ############# +# Used for html forms +FormView.submitButton.textAndMnemonic=Submeter Consulta +FormView.resetButton.textAndMnemonic=Redefinir +FormView.browseFileButton.textAndMnemonic=Procurar... + +############ Abstract Document Strings ############ +AbstractDocument.styleChange.textAndMnemonic=altera\u00E7\u00E3o de estilo +AbstractDocument.addition.textAndMnemonic=adi\u00E7\u00E3o +AbstractDocument.deletion.textAndMnemonic=dele\u00E7\u00E3o +AbstractDocument.undo.textAndMnemonic=Desfazer +AbstractDocument.redo.textAndMnemonic=Refazer + +############ Abstract Button Strings ############ +AbstractButton.click.textAndMnemonic=clicar + +############ Abstract Undoable Edit Strings ############ +AbstractUndoableEdit.undo.textAndMnemonic=Desfazer +AbstractUndoableEdit.redo.textAndMnemonic=Refazer + +############ Combo Box Strings ############ +ComboBox.togglePopup.textAndMnemonic=togglePopup + +############ Progress Monitor Strings ############ +ProgressMonitor.progress.textAndMnemonic=Progresso... + +############ Split Pane Strings ############ +SplitPane.leftButton.textAndMnemonic=bot\u00E3o esquerdo +SplitPane.rightButton.textAndMnemonic=bot\u00E3o direito +# Used for Isindex +IsindexView.prompt=Trata-se de um \u00EDndice pesquis\u00E1vel. Informe as palavras-chave de pesquisa: + +############ InternalFrameTitlePane Strings ############ +InternalFrameTitlePane.iconifyButtonAccessibleName=Iconify +InternalFrameTitlePane.maximizeButtonAccessibleName=Maximizar +InternalFrameTitlePane.closeButtonAccessibleName=Fechar +
--- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties Wed Jun 27 18:39:43 2012 -0700 @@ -1,186 +1,186 @@ -# This properties file is used to create a PropertyResourceBundle -# It contains Locale specific strings used in Swing -# Currently, the following components need this for support: -# -# ColorChooser -# FileChooser -# OptionPane -# -# When this file is read in, the strings are put into the -# defaults table. This is an implementation detail of the current -# workings of Swing. DO NOT DEPEND ON THIS. -# This may change in future versions of Swing as we improve localization -# support. -# -# MNEMONIC NOTE: -# Many of strings in this file are used by widgets that have a -# mnemonic, for example: -# ColorChooser.rgbNameTextAndMnemonic=R&GB -# Indicates that the tab in the ColorChooser for RGB colors will have -# the text 'RGB', further the mnemonic character will be 'g' and that -# a decoration will be provided under the 'G'. This will typically -# look like: RGB -# - -# -# One important thing to remember is that the mnemonic MUST exist in -# the String, if it does not exist you should add text that makes it -# exist. This will typically take the form 'XXXX (M)' where M is the -# character for the mnemonic. -# -# @author Steve Wilson - -############ FILE CHOOSER STRINGS ############# -FileChooser.fileDescription.textAndMnemonic=Generisk fil -FileChooser.directoryDescription.textAndMnemonic=Katalog -FileChooser.newFolderError.textAndMnemonic=Fel uppstod n\u00E4r ny mapp skapades -FileChooser.newFolderErrorSeparator= : -FileChooser.newFolderParentDoesntExistTitle.textAndMnemonic=Kan inte skapa mappen -FileChooser.newFolderParentDoesntExist.textAndMnemonic=Kan inte skapa mappen.\n\nSystemet kan inte hitta angiven s\u00F6kv\u00E4g. -FileChooser.renameErrorTitle.textAndMnemonic=Ett fel intr\u00E4ffade vid f\u00F6rs\u00F6k att \u00E4ndra namn p\u00E5 fil eller mapp -FileChooser.renameError.textAndMnemonic=Kan inte namn\u00E4ndra {0} -FileChooser.renameErrorFileExists.textAndMnemonic=Kan inte namn\u00E4ndra {0}: En fil med angivet namn finns redan. Ange ett annat filnamn. -FileChooser.acceptAllFileFilter.textAndMnemonic=Alla filer -FileChooser.cancelButton.textAndMnemonic=&Avbryt -FileChooser.saveButton.textAndMnemonic=&Spara -FileChooser.openButton.textAndMnemonic=\u00D6ppna(&P) -FileChooser.saveDialogTitle.textAndMnemonic=Spara -FileChooser.openDialogTitle.textAndMnemonic=\u00D6ppna -FileChooser.updateButton.textAndMnemonic=Upp&datera -FileChooser.helpButton.textAndMnemonic=Hj\u00E4lp(&H) -FileChooser.directoryOpenButton.textAndMnemonic=\u00D6ppna(&P) - -# File Size Units -FileChooser.fileSizeKiloBytes={0} KB -FileChooser.fileSizeMegaBytes={0} MB -FileChooser.fileSizeGigaBytes={0} GB - -# These strings are platform dependent not look and feel dependent. -FileChooser.win32.newFolder=Ny mapp -FileChooser.win32.newFolder.subsequent=Ny mapp ({0}) -FileChooser.other.newFolder=Ny mapp -FileChooser.other.newFolder.subsequent=Ny mapp.{0} - - -## file chooser tooltips ### -FileChooser.cancelButtonToolTip.textAndMnemonic=Avbryt filvalsdialogruta -FileChooser.saveButtonToolTip.textAndMnemonic=Spara vald fil -FileChooser.openButtonToolTip.textAndMnemonic=\u00D6ppna vald fil -FileChooser.updateButtonToolTip.textAndMnemonic=Uppdatera kataloglistan -FileChooser.helpButtonToolTip.textAndMnemonic=Hj\u00E4lp - Filv\u00E4ljare -FileChooser.directoryOpenButtonToolTip.textAndMnemonic=\u00D6ppna vald katalog - -FileChooser.filesListAccessibleName=Files List -FileChooser.filesDetailsAccessibleName=Files Details - -############ COLOR CHOOSER STRINGS ############# -ColorChooser.preview.textAndMnemonic=Granska -ColorChooser.ok.textAndMnemonic=OK -ColorChooser.cancel.textAndMnemonic=Avbryt -ColorChooser.reset.textAndMnemonic=\u00C5terst\u00E4ll(&T) -ColorChooser.sample.textAndMnemonic=Exempeltext Exempeltext -ColorChooser.swatches.textAndMnemonic=&Prov -ColorChooser.swatchesRecent.textAndMnemonic=Senaste: -ColorChooser.hsv.textAndMnemonic=&HSV -ColorChooser.hsvHue.textAndMnemonic=Nyans -ColorChooser.hsvSaturation.textAndMnemonic=M\u00E4ttnad -ColorChooser.hsvValue.textAndMnemonic=V\u00E4rde -ColorChooser.hsvTransparency.textAndMnemonic=Transparens -ColorChooser.hsl.textAndMnemonic=HS&L -ColorChooser.hslHue.textAndMnemonic=Nyans -ColorChooser.hslSaturation.textAndMnemonic=M\u00E4ttnad -ColorChooser.hslLightness.textAndMnemonic=Ljusstyrka -ColorChooser.hslTransparency.textAndMnemonic=Transparens -ColorChooser.rgb.textAndMnemonic=R&GB -ColorChooser.rgbRed.textAndMnemonic=R\u00F6d(&D) -ColorChooser.rgbGreen.textAndMnemonic=Gr\u00F6n(&N) -ColorChooser.rgbBlue.textAndMnemonic=Bl\u00E5(&B) -ColorChooser.rgbAlpha.textAndMnemonic=Alfa -ColorChooser.rgbHexCode.textAndMnemonic=F\u00E4rgkod(&F) -ColorChooser.cmyk.textAndMnemonic=C&MYK -ColorChooser.cmykCyan.textAndMnemonic=Cyan -ColorChooser.cmykMagenta.textAndMnemonic=Magenta -ColorChooser.cmykYellow.textAndMnemonic=Gul -ColorChooser.cmykBlack.textAndMnemonic=Svart -ColorChooser.cmykAlpha.textAndMnemonic=Alfa - -############ OPTION PANE STRINGS ############# -# We only define mnemonics for YES/NO, but for completeness you can -# define mnemonics for any of the buttons. -OptionPane.yesButton.textAndMnemonic=&Ja -OptionPane.noButton.textAndMnemonic=&Nej -OptionPane.okButton.textAndMnemonic=&OK -OptionPane.cancelButton.textAndMnemonic=&Avbryt -OptionPane.title.textAndMnemonic=V\u00E4lj ett alternativ -# Title for the dialog for the showInputDialog methods. Only used if -# the developer uses one of the variants that doesn't take a title. -OptionPane.inputDialog.titleAndMnemonic=Indata -# Title for the dialog for the showMessageDialog methods. Only used if -# the developer uses one of the variants that doesn't take a title. -OptionPane.messageDialog.titleAndMnemonic=Meddelande - -############ Printing Dialog Strings ############ -PrintingDialog.titleProgress.textAndMnemonic=Skriver ut -PrintingDialog.titleAborting.textAndMnemonic=Skriver ut (avbryter) - -PrintingDialog.contentInitial.textAndMnemonic=Utskrift p\u00E5g\u00E5r... - -# The following string will be formatted by a MessageFormat -# and {0} will be replaced by page number being printed -PrintingDialog.contentProgress.textAndMnemonic=Utskriven sida {0}... - -PrintingDialog.contentAborting.textAndMnemonic=Utskriften avbryts... - -PrintingDialog.abortButton.textAndMnemonic=&Avbryt -PrintingDialog.abortButtonToolTip.textAndMnemonic=Avbryt utskrift - -############ Internal Frame Strings ############ -InternalFrame.iconButtonToolTip=Minimera -InternalFrame.maxButtonToolTip=Maximera -InternalFrame.restoreButtonToolTip=\u00C5terst\u00E4ll -InternalFrame.closeButtonToolTip=St\u00E4ng - -############ Internal Frame Title Pane Strings ############ -InternalFrameTitlePane.restoreButton.textAndMnemonic=\u00C5terst\u00E4ll -InternalFrameTitlePane.moveButton.textAndMnemonic=Flytta -InternalFrameTitlePane.sizeButton.textAndMnemonic=Storlek -InternalFrameTitlePane.minimizeButton.textAndMnemonic=Minimera -InternalFrameTitlePane.maximizeButton.textAndMnemonic=Maximera -InternalFrameTitlePane.closeButton.textAndMnemonic=St\u00E4ng - -############ Text strings ############# -# Used for html forms -FormView.submitButton.textAndMnemonic=Skicka fr\u00E5ga -FormView.resetButton.textAndMnemonic=\u00C5terst\u00E4ll -FormView.browseFileButton.textAndMnemonic=Bl\u00E4ddra... - -############ Abstract Document Strings ############ -AbstractDocument.styleChange.textAndMnemonic=format\u00E4ndring -AbstractDocument.addition.textAndMnemonic=till\u00E4gg -AbstractDocument.deletion.textAndMnemonic=borttagning -AbstractDocument.undo.textAndMnemonic=\u00C5ngra -AbstractDocument.redo.textAndMnemonic=G\u00F6r om - -############ Abstract Button Strings ############ -AbstractButton.click.textAndMnemonic=klicka - -############ Abstract Undoable Edit Strings ############ -AbstractUndoableEdit.undo.textAndMnemonic=\u00C5ngra -AbstractUndoableEdit.redo.textAndMnemonic=G\u00F6r om - -############ Combo Box Strings ############ -ComboBox.togglePopup.textAndMnemonic=v\u00E4xlaPopup - -############ Progress Monitor Strings ############ -ProgressMonitor.progress.textAndMnemonic=P\u00E5g\u00E5r... - -############ Split Pane Strings ############ -SplitPane.leftButton.textAndMnemonic=v\u00E4nster knapp -SplitPane.rightButton.textAndMnemonic=h\u00F6ger knapp -# Used for Isindex -IsindexView.prompt=Detta \u00E4r ett s\u00F6kbart index. Ange s\u00F6kord: - -############ InternalFrameTitlePane Strings ############ -InternalFrameTitlePane.iconifyButtonAccessibleName=Minimera -InternalFrameTitlePane.maximizeButtonAccessibleName=Maximera -InternalFrameTitlePane.closeButtonAccessibleName=St\u00E4ng - +# This properties file is used to create a PropertyResourceBundle +# It contains Locale specific strings used in Swing +# Currently, the following components need this for support: +# +# ColorChooser +# FileChooser +# OptionPane +# +# When this file is read in, the strings are put into the +# defaults table. This is an implementation detail of the current +# workings of Swing. DO NOT DEPEND ON THIS. +# This may change in future versions of Swing as we improve localization +# support. +# +# MNEMONIC NOTE: +# Many of strings in this file are used by widgets that have a +# mnemonic, for example: +# ColorChooser.rgbNameTextAndMnemonic=R&GB +# Indicates that the tab in the ColorChooser for RGB colors will have +# the text 'RGB', further the mnemonic character will be 'g' and that +# a decoration will be provided under the 'G'. This will typically +# look like: RGB +# - +# +# One important thing to remember is that the mnemonic MUST exist in +# the String, if it does not exist you should add text that makes it +# exist. This will typically take the form 'XXXX (M)' where M is the +# character for the mnemonic. +# +# @author Steve Wilson + +############ FILE CHOOSER STRINGS ############# +FileChooser.fileDescription.textAndMnemonic=Generisk fil +FileChooser.directoryDescription.textAndMnemonic=Katalog +FileChooser.newFolderError.textAndMnemonic=Fel uppstod n\u00E4r ny mapp skapades +FileChooser.newFolderErrorSeparator= : +FileChooser.newFolderParentDoesntExistTitle.textAndMnemonic=Kan inte skapa mappen +FileChooser.newFolderParentDoesntExist.textAndMnemonic=Kan inte skapa mappen.\n\nSystemet kan inte hitta angiven s\u00F6kv\u00E4g. +FileChooser.renameErrorTitle.textAndMnemonic=Ett fel intr\u00E4ffade vid f\u00F6rs\u00F6k att \u00E4ndra namn p\u00E5 fil eller mapp +FileChooser.renameError.textAndMnemonic=Kan inte namn\u00E4ndra {0} +FileChooser.renameErrorFileExists.textAndMnemonic=Kan inte namn\u00E4ndra {0}: En fil med angivet namn finns redan. Ange ett annat filnamn. +FileChooser.acceptAllFileFilter.textAndMnemonic=Alla filer +FileChooser.cancelButton.textAndMnemonic=Avbryt +FileChooser.saveButton.textAndMnemonic=&Spara +FileChooser.openButton.textAndMnemonic=\u00D6ppna(&P) +FileChooser.saveDialogTitle.textAndMnemonic=Spara +FileChooser.openDialogTitle.textAndMnemonic=\u00D6ppna +FileChooser.updateButton.textAndMnemonic=Upp&datera +FileChooser.helpButton.textAndMnemonic=Hj\u00E4lp(&H) +FileChooser.directoryOpenButton.textAndMnemonic=\u00D6ppna(&P) + +# File Size Units +FileChooser.fileSizeKiloBytes={0} KB +FileChooser.fileSizeMegaBytes={0} MB +FileChooser.fileSizeGigaBytes={0} GB + +# These strings are platform dependent not look and feel dependent. +FileChooser.win32.newFolder=Ny mapp +FileChooser.win32.newFolder.subsequent=Ny mapp ({0}) +FileChooser.other.newFolder=Ny mapp +FileChooser.other.newFolder.subsequent=Ny mapp.{0} + + +## file chooser tooltips ### +FileChooser.cancelButtonToolTip.textAndMnemonic=Avbryt filvalsdialogruta +FileChooser.saveButtonToolTip.textAndMnemonic=Spara vald fil +FileChooser.openButtonToolTip.textAndMnemonic=\u00D6ppna vald fil +FileChooser.updateButtonToolTip.textAndMnemonic=Uppdatera kataloglistan +FileChooser.helpButtonToolTip.textAndMnemonic=Hj\u00E4lp - Filv\u00E4ljare +FileChooser.directoryOpenButtonToolTip.textAndMnemonic=\u00D6ppna vald katalog + +FileChooser.filesListAccessibleName=Files List +FileChooser.filesDetailsAccessibleName=Files Details + +############ COLOR CHOOSER STRINGS ############# +ColorChooser.preview.textAndMnemonic=Granska +ColorChooser.ok.textAndMnemonic=OK +ColorChooser.cancel.textAndMnemonic=Avbryt +ColorChooser.reset.textAndMnemonic=\u00C5terst\u00E4ll(&T) +ColorChooser.sample.textAndMnemonic=Exempeltext Exempeltext +ColorChooser.swatches.textAndMnemonic=&Prov +ColorChooser.swatchesRecent.textAndMnemonic=Senaste: +ColorChooser.hsv.textAndMnemonic=&HSV +ColorChooser.hsvHue.textAndMnemonic=Nyans +ColorChooser.hsvSaturation.textAndMnemonic=M\u00E4ttnad +ColorChooser.hsvValue.textAndMnemonic=V\u00E4rde +ColorChooser.hsvTransparency.textAndMnemonic=Transparens +ColorChooser.hsl.textAndMnemonic=HS&L +ColorChooser.hslHue.textAndMnemonic=Nyans +ColorChooser.hslSaturation.textAndMnemonic=M\u00E4ttnad +ColorChooser.hslLightness.textAndMnemonic=Ljusstyrka +ColorChooser.hslTransparency.textAndMnemonic=Transparens +ColorChooser.rgb.textAndMnemonic=R&GB +ColorChooser.rgbRed.textAndMnemonic=R\u00F6d(&D) +ColorChooser.rgbGreen.textAndMnemonic=Gr\u00F6n(&N) +ColorChooser.rgbBlue.textAndMnemonic=Bl\u00E5(&B) +ColorChooser.rgbAlpha.textAndMnemonic=Alfa +ColorChooser.rgbHexCode.textAndMnemonic=F\u00E4rgkod(&F) +ColorChooser.cmyk.textAndMnemonic=C&MYK +ColorChooser.cmykCyan.textAndMnemonic=Cyan +ColorChooser.cmykMagenta.textAndMnemonic=Magenta +ColorChooser.cmykYellow.textAndMnemonic=Gul +ColorChooser.cmykBlack.textAndMnemonic=Svart +ColorChooser.cmykAlpha.textAndMnemonic=Alfa + +############ OPTION PANE STRINGS ############# +# We only define mnemonics for YES/NO, but for completeness you can +# define mnemonics for any of the buttons. +OptionPane.yesButton.textAndMnemonic=&Ja +OptionPane.noButton.textAndMnemonic=&Nej +OptionPane.okButton.textAndMnemonic=&OK +OptionPane.cancelButton.textAndMnemonic=&Avbryt +OptionPane.title.textAndMnemonic=V\u00E4lj ett alternativ +# Title for the dialog for the showInputDialog methods. Only used if +# the developer uses one of the variants that doesn't take a title. +OptionPane.inputDialog.titleAndMnemonic=Indata +# Title for the dialog for the showMessageDialog methods. Only used if +# the developer uses one of the variants that doesn't take a title. +OptionPane.messageDialog.titleAndMnemonic=Meddelande + +############ Printing Dialog Strings ############ +PrintingDialog.titleProgress.textAndMnemonic=Skriver ut +PrintingDialog.titleAborting.textAndMnemonic=Skriver ut (avbryter) + +PrintingDialog.contentInitial.textAndMnemonic=Utskrift p\u00E5g\u00E5r... + +# The following string will be formatted by a MessageFormat +# and {0} will be replaced by page number being printed +PrintingDialog.contentProgress.textAndMnemonic=Utskriven sida {0}... + +PrintingDialog.contentAborting.textAndMnemonic=Utskriften avbryts... + +PrintingDialog.abortButton.textAndMnemonic=&Avbryt +PrintingDialog.abortButtonToolTip.textAndMnemonic=Avbryt utskrift + +############ Internal Frame Strings ############ +InternalFrame.iconButtonToolTip=Minimera +InternalFrame.maxButtonToolTip=Maximera +InternalFrame.restoreButtonToolTip=\u00C5terst\u00E4ll +InternalFrame.closeButtonToolTip=St\u00E4ng + +############ Internal Frame Title Pane Strings ############ +InternalFrameTitlePane.restoreButton.textAndMnemonic=\u00C5terst\u00E4ll +InternalFrameTitlePane.moveButton.textAndMnemonic=Flytta +InternalFrameTitlePane.sizeButton.textAndMnemonic=Storlek +InternalFrameTitlePane.minimizeButton.textAndMnemonic=Minimera +InternalFrameTitlePane.maximizeButton.textAndMnemonic=Maximera +InternalFrameTitlePane.closeButton.textAndMnemonic=St\u00E4ng + +############ Text strings ############# +# Used for html forms +FormView.submitButton.textAndMnemonic=Skicka fr\u00E5ga +FormView.resetButton.textAndMnemonic=\u00C5terst\u00E4ll +FormView.browseFileButton.textAndMnemonic=Bl\u00E4ddra... + +############ Abstract Document Strings ############ +AbstractDocument.styleChange.textAndMnemonic=format\u00E4ndring +AbstractDocument.addition.textAndMnemonic=till\u00E4gg +AbstractDocument.deletion.textAndMnemonic=borttagning +AbstractDocument.undo.textAndMnemonic=\u00C5ngra +AbstractDocument.redo.textAndMnemonic=G\u00F6r om + +############ Abstract Button Strings ############ +AbstractButton.click.textAndMnemonic=klicka + +############ Abstract Undoable Edit Strings ############ +AbstractUndoableEdit.undo.textAndMnemonic=\u00C5ngra +AbstractUndoableEdit.redo.textAndMnemonic=G\u00F6r om + +############ Combo Box Strings ############ +ComboBox.togglePopup.textAndMnemonic=v\u00E4xlaPopup + +############ Progress Monitor Strings ############ +ProgressMonitor.progress.textAndMnemonic=P\u00E5g\u00E5r... + +############ Split Pane Strings ############ +SplitPane.leftButton.textAndMnemonic=v\u00E4nster knapp +SplitPane.rightButton.textAndMnemonic=h\u00F6ger knapp +# Used for Isindex +IsindexView.prompt=Detta \u00E4r ett s\u00F6kbart index. Ange s\u00F6kord: + +############ InternalFrameTitlePane Strings ############ +InternalFrameTitlePane.iconifyButtonAccessibleName=Minimera +InternalFrameTitlePane.maximizeButtonAccessibleName=Maximera +InternalFrameTitlePane.closeButtonAccessibleName=St\u00E4ng +
--- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties Wed Jun 27 18:39:43 2012 -0700 @@ -1,186 +1,186 @@ -# This properties file is used to create a PropertyResourceBundle -# It contains Locale specific strings used in Swing -# Currently, the following components need this for support: -# -# ColorChooser -# FileChooser -# OptionPane -# -# When this file is read in, the strings are put into the -# defaults table. This is an implementation detail of the current -# workings of Swing. DO NOT DEPEND ON THIS. -# This may change in future versions of Swing as we improve localization -# support. -# -# MNEMONIC NOTE: -# Many of strings in this file are used by widgets that have a -# mnemonic, for example: -# ColorChooser.rgbNameTextAndMnemonic=R&GB -# Indicates that the tab in the ColorChooser for RGB colors will have -# the text 'RGB', further the mnemonic character will be 'g' and that -# a decoration will be provided under the 'G'. This will typically -# look like: RGB -# - -# -# One important thing to remember is that the mnemonic MUST exist in -# the String, if it does not exist you should add text that makes it -# exist. This will typically take the form 'XXXX (M)' where M is the -# character for the mnemonic. -# -# @author Steve Wilson - -############ FILE CHOOSER STRINGS ############# -FileChooser.fileDescription.textAndMnemonic=\u666E\u901A\u7684\u6587\u4EF6 -FileChooser.directoryDescription.textAndMnemonic=\u76EE\u5F55 -FileChooser.newFolderError.textAndMnemonic=\u521B\u5EFA\u65B0\u7684\u6587\u4EF6\u5939\u65F6\u51FA\u9519 -FileChooser.newFolderErrorSeparator= : -FileChooser.newFolderParentDoesntExistTitle.textAndMnemonic=\u65E0\u6CD5\u521B\u5EFA\u6587\u4EF6\u5939 -FileChooser.newFolderParentDoesntExist.textAndMnemonic=\u65E0\u6CD5\u521B\u5EFA\u6587\u4EF6\u5939\u3002\n\n\u7CFB\u7EDF\u627E\u4E0D\u5230\u6307\u5B9A\u7684\u8DEF\u5F84\u3002 -FileChooser.renameErrorTitle.textAndMnemonic=\u91CD\u547D\u540D\u6587\u4EF6\u6216\u6587\u4EF6\u5939\u65F6\u51FA\u9519 -FileChooser.renameError.textAndMnemonic=\u65E0\u6CD5\u91CD\u547D\u540D{0} -FileChooser.renameErrorFileExists.textAndMnemonic=\u65E0\u6CD5\u91CD\u547D\u540D{0}: \u5DF2\u5B58\u5728\u5177\u6709\u6240\u6307\u5B9A\u540D\u79F0\u7684\u6587\u4EF6\u3002\u8BF7\u6307\u5B9A\u5176\u4ED6\u6587\u4EF6\u540D\u3002 -FileChooser.acceptAllFileFilter.textAndMnemonic=\u6240\u6709\u6587\u4EF6 -FileChooser.cancelButton.textAndMnemonic=\u53D6\u6D88(&C) -FileChooser.saveButton.textAndMnemonic=\u4FDD\u5B58(&S) -FileChooser.openButton.textAndMnemonic=\u6253\u5F00(&O) -FileChooser.saveDialogTitle.textAndMnemonic=\u4FDD\u5B58 -FileChooser.openDialogTitle.textAndMnemonic=\u6253\u5F00 -FileChooser.updateButton.textAndMnemonic=\u66F4\u65B0(&U) -FileChooser.helpButton.textAndMnemonic=\u5E2E\u52A9(&H) -FileChooser.directoryOpenButton.textAndMnemonic=\u6253\u5F00(&O) - -# File Size Units -FileChooser.fileSizeKiloBytes={0} KB -FileChooser.fileSizeMegaBytes={0} MB -FileChooser.fileSizeGigaBytes={0} GB - -# These strings are platform dependent not look and feel dependent. -FileChooser.win32.newFolder=\u65B0\u5EFA\u6587\u4EF6\u5939 -FileChooser.win32.newFolder.subsequent=\u65B0\u5EFA\u6587\u4EF6\u5939 ({0}) -FileChooser.other.newFolder=NewFolder -FileChooser.other.newFolder.subsequent=NewFolder.{0} - - -## file chooser tooltips ### -FileChooser.cancelButtonToolTip.textAndMnemonic=\u4E2D\u6B62\u6587\u4EF6\u9009\u62E9\u5668\u5BF9\u8BDD\u6846 -FileChooser.saveButtonToolTip.textAndMnemonic=\u4FDD\u5B58\u6240\u9009\u6587\u4EF6 -FileChooser.openButtonToolTip.textAndMnemonic=\u6253\u5F00\u6240\u9009\u6587\u4EF6 -FileChooser.updateButtonToolTip.textAndMnemonic=\u66F4\u65B0\u76EE\u5F55\u5217\u8868 -FileChooser.helpButtonToolTip.textAndMnemonic=FileChooser \u5E2E\u52A9 -FileChooser.directoryOpenButtonToolTip.textAndMnemonic=\u6253\u5F00\u9009\u62E9\u7684\u76EE\u5F55 - -FileChooser.filesListAccessibleName=Files List -FileChooser.filesDetailsAccessibleName=Files Details - -############ COLOR CHOOSER STRINGS ############# -ColorChooser.preview.textAndMnemonic=\u9884\u89C8 -ColorChooser.ok.textAndMnemonic=\u786E\u5B9A -ColorChooser.cancel.textAndMnemonic=\u53D6\u6D88 -ColorChooser.reset.textAndMnemonic=\u91CD\u7F6E(&R) -ColorChooser.sample.textAndMnemonic=\u793A\u4F8B\u6587\u672C \u793A\u4F8B\u6587\u672C -ColorChooser.swatches.textAndMnemonic=\u793A\u4F8B(&S) -ColorChooser.swatchesRecent.textAndMnemonic=\u6700\u8FD1: -ColorChooser.hsv.textAndMnemonic=&HSV -ColorChooser.hsvHue.textAndMnemonic=\u8272\u8C03 -ColorChooser.hsvSaturation.textAndMnemonic=\u9971\u548C\u5EA6 -ColorChooser.hsvValue.textAndMnemonic=\u503C -ColorChooser.hsvTransparency.textAndMnemonic=\u900F\u660E\u5EA6 -ColorChooser.hsl.textAndMnemonic=HS&L -ColorChooser.hslHue.textAndMnemonic=\u8272\u8C03 -ColorChooser.hslSaturation.textAndMnemonic=\u9971\u548C\u5EA6 -ColorChooser.hslLightness.textAndMnemonic=\u4EAE\u5EA6 -ColorChooser.hslTransparency.textAndMnemonic=\u900F\u660E\u5EA6 -ColorChooser.rgb.textAndMnemonic=R&GB -ColorChooser.rgbRed.textAndMnemonic=\u7EA2\u8272(&D) -ColorChooser.rgbGreen.textAndMnemonic=\u7EFF\u8272(&N) -ColorChooser.rgbBlue.textAndMnemonic=\u84DD\u8272(&B) -ColorChooser.rgbAlpha.textAndMnemonic=Alpha -ColorChooser.rgbHexCode.textAndMnemonic=\u989C\u8272\u4EE3\u7801(&C) -ColorChooser.cmyk.textAndMnemonic=C&MYK -ColorChooser.cmykCyan.textAndMnemonic=\u9752\u8272 -ColorChooser.cmykMagenta.textAndMnemonic=\u7D2B\u7EA2\u8272 -ColorChooser.cmykYellow.textAndMnemonic=\u9EC4\u8272 -ColorChooser.cmykBlack.textAndMnemonic=\u9ED1\u8272 -ColorChooser.cmykAlpha.textAndMnemonic=Alpha - -############ OPTION PANE STRINGS ############# -# We only define mnemonics for YES/NO, but for completeness you can -# define mnemonics for any of the buttons. -OptionPane.yesButton.textAndMnemonic=\u662F(&Y) -OptionPane.noButton.textAndMnemonic=\u5426(&N) -OptionPane.okButton.textAndMnemonic=\u786E\u5B9A(&O) -OptionPane.cancelButton.textAndMnemonic=\u53D6\u6D88 -OptionPane.title.textAndMnemonic=\u9009\u62E9\u4E00\u4E2A\u9009\u9879 -# Title for the dialog for the showInputDialog methods. Only used if -# the developer uses one of the variants that doesn't take a title. -OptionPane.inputDialog.titleAndMnemonic=\u8F93\u5165 -# Title for the dialog for the showMessageDialog methods. Only used if -# the developer uses one of the variants that doesn't take a title. -OptionPane.messageDialog.titleAndMnemonic=\u6D88\u606F - -############ Printing Dialog Strings ############ -PrintingDialog.titleProgress.textAndMnemonic=\u6253\u5370 -PrintingDialog.titleAborting.textAndMnemonic=\u6253\u5370 (\u6B63\u5728\u4E2D\u6B62) - -PrintingDialog.contentInitial.textAndMnemonic=\u6B63\u5728\u8FDB\u884C\u6253\u5370... - -# The following string will be formatted by a MessageFormat -# and {0} will be replaced by page number being printed -PrintingDialog.contentProgress.textAndMnemonic=\u5DF2\u6253\u5370\u9875 {0}... - -PrintingDialog.contentAborting.textAndMnemonic=\u6B63\u5728\u4E2D\u6B62\u6253\u5370... - -PrintingDialog.abortButton.textAndMnemonic=\u4E2D\u6B62(&A) -PrintingDialog.abortButtonToolTip.textAndMnemonic=\u4E2D\u6B62\u6253\u5370 - -############ Internal Frame Strings ############ -InternalFrame.iconButtonToolTip=\u6700\u5C0F\u5316 -InternalFrame.maxButtonToolTip=\u6700\u5927\u5316 -InternalFrame.restoreButtonToolTip=\u8FD8\u539F -InternalFrame.closeButtonToolTip=\u5173\u95ED - -############ Internal Frame Title Pane Strings ############ -InternalFrameTitlePane.restoreButton.textAndMnemonic=\u8FD8\u539F -InternalFrameTitlePane.moveButton.textAndMnemonic=\u79FB\u52A8 -InternalFrameTitlePane.sizeButton.textAndMnemonic=\u5927\u5C0F -InternalFrameTitlePane.minimizeButton.textAndMnemonic=\u6700\u5C0F\u5316 -InternalFrameTitlePane.maximizeButton.textAndMnemonic=\u6700\u5927\u5316 -InternalFrameTitlePane.closeButton.textAndMnemonic=\u5173\u95ED - -############ Text strings ############# -# Used for html forms -FormView.submitButton.textAndMnemonic=\u63D0\u4EA4\u67E5\u8BE2 -FormView.resetButton.textAndMnemonic=\u91CD\u8BBE -FormView.browseFileButton.textAndMnemonic=\u6D4F\u89C8... - -############ Abstract Document Strings ############ -AbstractDocument.styleChange.textAndMnemonic=\u6837\u5F0F\u66F4\u6539 -AbstractDocument.addition.textAndMnemonic=\u6DFB\u52A0 -AbstractDocument.deletion.textAndMnemonic=\u5220\u9664 -AbstractDocument.undo.textAndMnemonic=\u64A4\u6D88 -AbstractDocument.redo.textAndMnemonic=\u91CD\u505A - -############ Abstract Button Strings ############ -AbstractButton.click.textAndMnemonic=\u5355\u51FB - -############ Abstract Undoable Edit Strings ############ -AbstractUndoableEdit.undo.textAndMnemonic=\u64A4\u6D88 -AbstractUndoableEdit.redo.textAndMnemonic=\u91CD\u505A - -############ Combo Box Strings ############ -ComboBox.togglePopup.textAndMnemonic=togglePopup - -############ Progress Monitor Strings ############ -ProgressMonitor.progress.textAndMnemonic=\u8FDB\u5EA6... - -############ Split Pane Strings ############ -SplitPane.leftButton.textAndMnemonic=\u5DE6\u952E -SplitPane.rightButton.textAndMnemonic=\u53F3\u952E -# Used for Isindex -IsindexView.prompt=\u8FD9\u662F\u53EF\u641C\u7D22\u7D22\u5F15\u3002\u8BF7\u8F93\u5165\u641C\u7D22\u5173\u952E\u5B57: - -############ InternalFrameTitlePane Strings ############ -InternalFrameTitlePane.iconifyButtonAccessibleName=\u56FE\u6807\u5316 -InternalFrameTitlePane.maximizeButtonAccessibleName=\u6700\u5927\u5316 -InternalFrameTitlePane.closeButtonAccessibleName=\u5173\u95ED - +# This properties file is used to create a PropertyResourceBundle +# It contains Locale specific strings used in Swing +# Currently, the following components need this for support: +# +# ColorChooser +# FileChooser +# OptionPane +# +# When this file is read in, the strings are put into the +# defaults table. This is an implementation detail of the current +# workings of Swing. DO NOT DEPEND ON THIS. +# This may change in future versions of Swing as we improve localization +# support. +# +# MNEMONIC NOTE: +# Many of strings in this file are used by widgets that have a +# mnemonic, for example: +# ColorChooser.rgbNameTextAndMnemonic=R&GB +# Indicates that the tab in the ColorChooser for RGB colors will have +# the text 'RGB', further the mnemonic character will be 'g' and that +# a decoration will be provided under the 'G'. This will typically +# look like: RGB +# - +# +# One important thing to remember is that the mnemonic MUST exist in +# the String, if it does not exist you should add text that makes it +# exist. This will typically take the form 'XXXX (M)' where M is the +# character for the mnemonic. +# +# @author Steve Wilson + +############ FILE CHOOSER STRINGS ############# +FileChooser.fileDescription.textAndMnemonic=\u666E\u901A\u7684\u6587\u4EF6 +FileChooser.directoryDescription.textAndMnemonic=\u76EE\u5F55 +FileChooser.newFolderError.textAndMnemonic=\u521B\u5EFA\u65B0\u7684\u6587\u4EF6\u5939\u65F6\u51FA\u9519 +FileChooser.newFolderErrorSeparator= : +FileChooser.newFolderParentDoesntExistTitle.textAndMnemonic=\u65E0\u6CD5\u521B\u5EFA\u6587\u4EF6\u5939 +FileChooser.newFolderParentDoesntExist.textAndMnemonic=\u65E0\u6CD5\u521B\u5EFA\u6587\u4EF6\u5939\u3002\n\n\u7CFB\u7EDF\u627E\u4E0D\u5230\u6307\u5B9A\u7684\u8DEF\u5F84\u3002 +FileChooser.renameErrorTitle.textAndMnemonic=\u91CD\u547D\u540D\u6587\u4EF6\u6216\u6587\u4EF6\u5939\u65F6\u51FA\u9519 +FileChooser.renameError.textAndMnemonic=\u65E0\u6CD5\u91CD\u547D\u540D{0} +FileChooser.renameErrorFileExists.textAndMnemonic=\u65E0\u6CD5\u91CD\u547D\u540D{0}: \u5DF2\u5B58\u5728\u5177\u6709\u6240\u6307\u5B9A\u540D\u79F0\u7684\u6587\u4EF6\u3002\u8BF7\u6307\u5B9A\u5176\u4ED6\u6587\u4EF6\u540D\u3002 +FileChooser.acceptAllFileFilter.textAndMnemonic=\u6240\u6709\u6587\u4EF6 +FileChooser.cancelButton.textAndMnemonic=\u53D6\u6D88 +FileChooser.saveButton.textAndMnemonic=\u4FDD\u5B58(&S) +FileChooser.openButton.textAndMnemonic=\u6253\u5F00(&O) +FileChooser.saveDialogTitle.textAndMnemonic=\u4FDD\u5B58 +FileChooser.openDialogTitle.textAndMnemonic=\u6253\u5F00 +FileChooser.updateButton.textAndMnemonic=\u66F4\u65B0(&U) +FileChooser.helpButton.textAndMnemonic=\u5E2E\u52A9(&H) +FileChooser.directoryOpenButton.textAndMnemonic=\u6253\u5F00(&O) + +# File Size Units +FileChooser.fileSizeKiloBytes={0} KB +FileChooser.fileSizeMegaBytes={0} MB +FileChooser.fileSizeGigaBytes={0} GB + +# These strings are platform dependent not look and feel dependent. +FileChooser.win32.newFolder=\u65B0\u5EFA\u6587\u4EF6\u5939 +FileChooser.win32.newFolder.subsequent=\u65B0\u5EFA\u6587\u4EF6\u5939 ({0}) +FileChooser.other.newFolder=NewFolder +FileChooser.other.newFolder.subsequent=NewFolder.{0} + + +## file chooser tooltips ### +FileChooser.cancelButtonToolTip.textAndMnemonic=\u4E2D\u6B62\u6587\u4EF6\u9009\u62E9\u5668\u5BF9\u8BDD\u6846 +FileChooser.saveButtonToolTip.textAndMnemonic=\u4FDD\u5B58\u6240\u9009\u6587\u4EF6 +FileChooser.openButtonToolTip.textAndMnemonic=\u6253\u5F00\u6240\u9009\u6587\u4EF6 +FileChooser.updateButtonToolTip.textAndMnemonic=\u66F4\u65B0\u76EE\u5F55\u5217\u8868 +FileChooser.helpButtonToolTip.textAndMnemonic=FileChooser \u5E2E\u52A9 +FileChooser.directoryOpenButtonToolTip.textAndMnemonic=\u6253\u5F00\u9009\u62E9\u7684\u76EE\u5F55 + +FileChooser.filesListAccessibleName=Files List +FileChooser.filesDetailsAccessibleName=Files Details + +############ COLOR CHOOSER STRINGS ############# +ColorChooser.preview.textAndMnemonic=\u9884\u89C8 +ColorChooser.ok.textAndMnemonic=\u786E\u5B9A +ColorChooser.cancel.textAndMnemonic=\u53D6\u6D88 +ColorChooser.reset.textAndMnemonic=\u91CD\u7F6E(&R) +ColorChooser.sample.textAndMnemonic=\u793A\u4F8B\u6587\u672C \u793A\u4F8B\u6587\u672C +ColorChooser.swatches.textAndMnemonic=\u793A\u4F8B(&S) +ColorChooser.swatchesRecent.textAndMnemonic=\u6700\u8FD1: +ColorChooser.hsv.textAndMnemonic=&HSV +ColorChooser.hsvHue.textAndMnemonic=\u8272\u8C03 +ColorChooser.hsvSaturation.textAndMnemonic=\u9971\u548C\u5EA6 +ColorChooser.hsvValue.textAndMnemonic=\u503C +ColorChooser.hsvTransparency.textAndMnemonic=\u900F\u660E\u5EA6 +ColorChooser.hsl.textAndMnemonic=HS&L +ColorChooser.hslHue.textAndMnemonic=\u8272\u8C03 +ColorChooser.hslSaturation.textAndMnemonic=\u9971\u548C\u5EA6 +ColorChooser.hslLightness.textAndMnemonic=\u4EAE\u5EA6 +ColorChooser.hslTransparency.textAndMnemonic=\u900F\u660E\u5EA6 +ColorChooser.rgb.textAndMnemonic=R&GB +ColorChooser.rgbRed.textAndMnemonic=\u7EA2\u8272(&D) +ColorChooser.rgbGreen.textAndMnemonic=\u7EFF\u8272(&N) +ColorChooser.rgbBlue.textAndMnemonic=\u84DD\u8272(&B) +ColorChooser.rgbAlpha.textAndMnemonic=Alpha +ColorChooser.rgbHexCode.textAndMnemonic=\u989C\u8272\u4EE3\u7801(&C) +ColorChooser.cmyk.textAndMnemonic=C&MYK +ColorChooser.cmykCyan.textAndMnemonic=\u9752\u8272 +ColorChooser.cmykMagenta.textAndMnemonic=\u7D2B\u7EA2\u8272 +ColorChooser.cmykYellow.textAndMnemonic=\u9EC4\u8272 +ColorChooser.cmykBlack.textAndMnemonic=\u9ED1\u8272 +ColorChooser.cmykAlpha.textAndMnemonic=Alpha + +############ OPTION PANE STRINGS ############# +# We only define mnemonics for YES/NO, but for completeness you can +# define mnemonics for any of the buttons. +OptionPane.yesButton.textAndMnemonic=\u662F(&Y) +OptionPane.noButton.textAndMnemonic=\u5426(&N) +OptionPane.okButton.textAndMnemonic=\u786E\u5B9A(&O) +OptionPane.cancelButton.textAndMnemonic=\u53D6\u6D88 +OptionPane.title.textAndMnemonic=\u9009\u62E9\u4E00\u4E2A\u9009\u9879 +# Title for the dialog for the showInputDialog methods. Only used if +# the developer uses one of the variants that doesn't take a title. +OptionPane.inputDialog.titleAndMnemonic=\u8F93\u5165 +# Title for the dialog for the showMessageDialog methods. Only used if +# the developer uses one of the variants that doesn't take a title. +OptionPane.messageDialog.titleAndMnemonic=\u6D88\u606F + +############ Printing Dialog Strings ############ +PrintingDialog.titleProgress.textAndMnemonic=\u6253\u5370 +PrintingDialog.titleAborting.textAndMnemonic=\u6253\u5370 (\u6B63\u5728\u4E2D\u6B62) + +PrintingDialog.contentInitial.textAndMnemonic=\u6B63\u5728\u8FDB\u884C\u6253\u5370... + +# The following string will be formatted by a MessageFormat +# and {0} will be replaced by page number being printed +PrintingDialog.contentProgress.textAndMnemonic=\u5DF2\u6253\u5370\u9875 {0}... + +PrintingDialog.contentAborting.textAndMnemonic=\u6B63\u5728\u4E2D\u6B62\u6253\u5370... + +PrintingDialog.abortButton.textAndMnemonic=\u4E2D\u6B62(&A) +PrintingDialog.abortButtonToolTip.textAndMnemonic=\u4E2D\u6B62\u6253\u5370 + +############ Internal Frame Strings ############ +InternalFrame.iconButtonToolTip=\u6700\u5C0F\u5316 +InternalFrame.maxButtonToolTip=\u6700\u5927\u5316 +InternalFrame.restoreButtonToolTip=\u8FD8\u539F +InternalFrame.closeButtonToolTip=\u5173\u95ED + +############ Internal Frame Title Pane Strings ############ +InternalFrameTitlePane.restoreButton.textAndMnemonic=\u8FD8\u539F +InternalFrameTitlePane.moveButton.textAndMnemonic=\u79FB\u52A8 +InternalFrameTitlePane.sizeButton.textAndMnemonic=\u5927\u5C0F +InternalFrameTitlePane.minimizeButton.textAndMnemonic=\u6700\u5C0F\u5316 +InternalFrameTitlePane.maximizeButton.textAndMnemonic=\u6700\u5927\u5316 +InternalFrameTitlePane.closeButton.textAndMnemonic=\u5173\u95ED + +############ Text strings ############# +# Used for html forms +FormView.submitButton.textAndMnemonic=\u63D0\u4EA4\u67E5\u8BE2 +FormView.resetButton.textAndMnemonic=\u91CD\u8BBE +FormView.browseFileButton.textAndMnemonic=\u6D4F\u89C8... + +############ Abstract Document Strings ############ +AbstractDocument.styleChange.textAndMnemonic=\u6837\u5F0F\u66F4\u6539 +AbstractDocument.addition.textAndMnemonic=\u6DFB\u52A0 +AbstractDocument.deletion.textAndMnemonic=\u5220\u9664 +AbstractDocument.undo.textAndMnemonic=\u64A4\u6D88 +AbstractDocument.redo.textAndMnemonic=\u91CD\u505A + +############ Abstract Button Strings ############ +AbstractButton.click.textAndMnemonic=\u5355\u51FB + +############ Abstract Undoable Edit Strings ############ +AbstractUndoableEdit.undo.textAndMnemonic=\u64A4\u6D88 +AbstractUndoableEdit.redo.textAndMnemonic=\u91CD\u505A + +############ Combo Box Strings ############ +ComboBox.togglePopup.textAndMnemonic=togglePopup + +############ Progress Monitor Strings ############ +ProgressMonitor.progress.textAndMnemonic=\u8FDB\u5EA6... + +############ Split Pane Strings ############ +SplitPane.leftButton.textAndMnemonic=\u5DE6\u952E +SplitPane.rightButton.textAndMnemonic=\u53F3\u952E +# Used for Isindex +IsindexView.prompt=\u8FD9\u662F\u53EF\u641C\u7D22\u7D22\u5F15\u3002\u8BF7\u8F93\u5165\u641C\u7D22\u5173\u952E\u5B57: + +############ InternalFrameTitlePane Strings ############ +InternalFrameTitlePane.iconifyButtonAccessibleName=\u56FE\u6807\u5316 +InternalFrameTitlePane.maximizeButtonAccessibleName=\u6700\u5927\u5316 +InternalFrameTitlePane.closeButtonAccessibleName=\u5173\u95ED +
--- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties Wed Jun 27 18:39:43 2012 -0700 @@ -1,186 +1,186 @@ -# This properties file is used to create a PropertyResourceBundle -# It contains Locale specific strings used in Swing -# Currently, the following components need this for support: -# -# ColorChooser -# FileChooser -# OptionPane -# -# When this file is read in, the strings are put into the -# defaults table. This is an implementation detail of the current -# workings of Swing. DO NOT DEPEND ON THIS. -# This may change in future versions of Swing as we improve localization -# support. -# -# MNEMONIC NOTE: -# Many of strings in this file are used by widgets that have a -# mnemonic, for example: -# ColorChooser.rgbNameTextAndMnemonic=R&GB -# Indicates that the tab in the ColorChooser for RGB colors will have -# the text 'RGB', further the mnemonic character will be 'g' and that -# a decoration will be provided under the 'G'. This will typically -# look like: RGB -# - -# -# One important thing to remember is that the mnemonic MUST exist in -# the String, if it does not exist you should add text that makes it -# exist. This will typically take the form 'XXXX (M)' where M is the -# character for the mnemonic. -# -# @author Steve Wilson - -############ FILE CHOOSER STRINGS ############# -FileChooser.fileDescription.textAndMnemonic=\u4E00\u822C\u6A94\u6848 -FileChooser.directoryDescription.textAndMnemonic=\u76EE\u9304 -FileChooser.newFolderError.textAndMnemonic=\u5EFA\u7ACB\u65B0\u8CC7\u6599\u593E\u6642\u767C\u751F\u932F\u8AA4 -FileChooser.newFolderErrorSeparator= : -FileChooser.newFolderParentDoesntExistTitle.textAndMnemonic=\u7121\u6CD5\u5EFA\u7ACB\u8CC7\u6599\u593E -FileChooser.newFolderParentDoesntExist.textAndMnemonic=\u7121\u6CD5\u5EFA\u7ACB\u8CC7\u6599\u593E\u3002\n\n\u7CFB\u7D71\u627E\u4E0D\u5230\u6307\u5B9A\u7684\u8DEF\u5F91\u3002 -FileChooser.renameErrorTitle.textAndMnemonic=\u91CD\u65B0\u547D\u540D\u6A94\u6848\u6216\u8CC7\u6599\u593E\u6642\u767C\u751F\u932F\u8AA4\u3002 -FileChooser.renameError.textAndMnemonic=\u7121\u6CD5\u91CD\u65B0\u547D\u540D {0} -FileChooser.renameErrorFileExists.textAndMnemonic=\u7121\u6CD5\u91CD\u65B0\u547D\u540D {0}: \u5DF2\u7D93\u5B58\u5728\u60A8\u6240\u6307\u5B9A\u540D\u7A31\u7684\u6A94\u6848\u3002\u8ACB\u6307\u5B9A\u4E0D\u540C\u7684\u540D\u7A31\u3002 -FileChooser.acceptAllFileFilter.textAndMnemonic=\u6240\u6709\u6A94\u6848 -FileChooser.cancelButton.textAndMnemonic=\u53D6\u6D88(&C) -FileChooser.saveButton.textAndMnemonic=\u5132\u5B58(&S) -FileChooser.openButton.textAndMnemonic=\u958B\u555F(&O) -FileChooser.saveDialogTitle.textAndMnemonic=\u5132\u5B58 -FileChooser.openDialogTitle.textAndMnemonic=\u958B\u555F -FileChooser.updateButton.textAndMnemonic=\u66F4\u65B0(&U) -FileChooser.helpButton.textAndMnemonic=\u8AAA\u660E(&H) -FileChooser.directoryOpenButton.textAndMnemonic=\u958B\u555F(&O) - -# File Size Units -FileChooser.fileSizeKiloBytes={0} KB -FileChooser.fileSizeMegaBytes={0} MB -FileChooser.fileSizeGigaBytes={0} GB - -# These strings are platform dependent not look and feel dependent. -FileChooser.win32.newFolder=\u65B0\u8CC7\u6599\u593E -FileChooser.win32.newFolder.subsequent=\u65B0\u8CC7\u6599\u593E ({0}) -FileChooser.other.newFolder=\u65B0\u8CC7\u6599\u593E -FileChooser.other.newFolder.subsequent=\u65B0\u8CC7\u6599\u593E.{0} - - -## file chooser tooltips ### -FileChooser.cancelButtonToolTip.textAndMnemonic=\u4E2D\u6B62\u6A94\u6848\u9078\u64C7\u5668\u5C0D\u8A71\u65B9\u584A -FileChooser.saveButtonToolTip.textAndMnemonic=\u5132\u5B58\u9078\u53D6\u7684\u6A94\u6848 -FileChooser.openButtonToolTip.textAndMnemonic=\u958B\u555F\u9078\u53D6\u7684\u6A94\u6848 -FileChooser.updateButtonToolTip.textAndMnemonic=\u66F4\u65B0\u76EE\u9304\u6E05\u55AE -FileChooser.helpButtonToolTip.textAndMnemonic=\u300C\u6A94\u6848\u9078\u64C7\u5668\u300D\u8AAA\u660E -FileChooser.directoryOpenButtonToolTip.textAndMnemonic=\u958B\u555F\u9078\u53D6\u7684\u76EE\u9304 - -FileChooser.filesListAccessibleName=Files List -FileChooser.filesDetailsAccessibleName=Files Details - -############ COLOR CHOOSER STRINGS ############# -ColorChooser.preview.textAndMnemonic=\u9810\u89BD -ColorChooser.ok.textAndMnemonic=\u78BA\u5B9A -ColorChooser.cancel.textAndMnemonic=\u53D6\u6D88 -ColorChooser.reset.textAndMnemonic=\u91CD\u8A2D(&R) -ColorChooser.sample.textAndMnemonic=\u7BC4\u4F8B\u6587\u5B57 \u7BC4\u4F8B\u6587\u5B57 -ColorChooser.swatches.textAndMnemonic=\u8ABF\u8272\u677F(&S) -ColorChooser.swatchesRecent.textAndMnemonic=\u6700\u65B0\u9078\u64C7: -ColorChooser.hsv.textAndMnemonic=&HSV -ColorChooser.hsvHue.textAndMnemonic=\u8272\u8ABF -ColorChooser.hsvSaturation.textAndMnemonic=\u5F69\u5EA6 -ColorChooser.hsvValue.textAndMnemonic=\u6578\u503C -ColorChooser.hsvTransparency.textAndMnemonic=\u900F\u660E\u5EA6 -ColorChooser.hsl.textAndMnemonic=HS&L -ColorChooser.hslHue.textAndMnemonic=\u8272\u8ABF -ColorChooser.hslSaturation.textAndMnemonic=\u5F69\u5EA6 -ColorChooser.hslLightness.textAndMnemonic=\u4EAE\u5EA6 -ColorChooser.hslTransparency.textAndMnemonic=\u900F\u660E\u5EA6 -ColorChooser.rgb.textAndMnemonic=R&GB -ColorChooser.rgbRed.textAndMnemonic=\u7D05(&D) -ColorChooser.rgbGreen.textAndMnemonic=\u7DA0(&N) -ColorChooser.rgbBlue.textAndMnemonic=\u85CD(&B) -ColorChooser.rgbAlpha.textAndMnemonic=Alpha -ColorChooser.rgbHexCode.textAndMnemonic=\u984F\u8272\u4EE3\u78BC(&C) -ColorChooser.cmyk.textAndMnemonic=C&MYK -ColorChooser.cmykCyan.textAndMnemonic=\u85CD\u7DA0\u8272 -ColorChooser.cmykMagenta.textAndMnemonic=\u7D2B\u7D05\u8272 -ColorChooser.cmykYellow.textAndMnemonic=\u9EC3\u8272 -ColorChooser.cmykBlack.textAndMnemonic=\u9ED1\u8272 -ColorChooser.cmykAlpha.textAndMnemonic=Alpha - -############ OPTION PANE STRINGS ############# -# We only define mnemonics for YES/NO, but for completeness you can -# define mnemonics for any of the buttons. -OptionPane.yesButton.textAndMnemonic=\u662F(&Y) -OptionPane.noButton.textAndMnemonic=\u5426(&N) -OptionPane.okButton.textAndMnemonic=\u78BA\u5B9A(&O) -OptionPane.cancelButton.textAndMnemonic=\u53D6\u6D88 -OptionPane.title.textAndMnemonic=\u9078\u53D6\u4E00\u500B\u9078\u9805 -# Title for the dialog for the showInputDialog methods. Only used if -# the developer uses one of the variants that doesn't take a title. -OptionPane.inputDialog.titleAndMnemonic=\u8F38\u5165 -# Title for the dialog for the showMessageDialog methods. Only used if -# the developer uses one of the variants that doesn't take a title. -OptionPane.messageDialog.titleAndMnemonic=\u8A0A\u606F - -############ Printing Dialog Strings ############ -PrintingDialog.titleProgress.textAndMnemonic=\u5217\u5370 -PrintingDialog.titleAborting.textAndMnemonic=\u5217\u5370 (\u4E2D\u6B62) - -PrintingDialog.contentInitial.textAndMnemonic=\u6B63\u5728\u5217\u5370... - -# The following string will be formatted by a MessageFormat -# and {0} will be replaced by page number being printed -PrintingDialog.contentProgress.textAndMnemonic=\u5DF2\u5217\u5370\u7684\u9801\u9762 {0}... - -PrintingDialog.contentAborting.textAndMnemonic=\u6B63\u5728\u4E2D\u6B62\u5217\u5370... - -PrintingDialog.abortButton.textAndMnemonic=\u4E2D\u6B62(&A) -PrintingDialog.abortButtonToolTip.textAndMnemonic=\u4E2D\u6B62\u5217\u5370 - -############ Internal Frame Strings ############ -InternalFrame.iconButtonToolTip=\u6700\u5C0F\u5316 -InternalFrame.maxButtonToolTip=\u6700\u5927\u5316 -InternalFrame.restoreButtonToolTip=\u5FA9\u539F -InternalFrame.closeButtonToolTip=\u95DC\u9589 - -############ Internal Frame Title Pane Strings ############ -InternalFrameTitlePane.restoreButton.textAndMnemonic=\u5FA9\u539F -InternalFrameTitlePane.moveButton.textAndMnemonic=\u79FB\u52D5 -InternalFrameTitlePane.sizeButton.textAndMnemonic=\u5927\u5C0F -InternalFrameTitlePane.minimizeButton.textAndMnemonic=\u6700\u5C0F\u5316 -InternalFrameTitlePane.maximizeButton.textAndMnemonic=\u6700\u5927\u5316 -InternalFrameTitlePane.closeButton.textAndMnemonic=\u95DC\u9589 - -############ Text strings ############# -# Used for html forms -FormView.submitButton.textAndMnemonic=\u9001\u51FA\u67E5\u8A62 -FormView.resetButton.textAndMnemonic=\u91CD\u8A2D -FormView.browseFileButton.textAndMnemonic=\u700F\u89BD... - -############ Abstract Document Strings ############ -AbstractDocument.styleChange.textAndMnemonic=\u6A23\u5F0F\u8B8A\u66F4 -AbstractDocument.addition.textAndMnemonic=\u9644\u52A0 -AbstractDocument.deletion.textAndMnemonic=\u522A\u9664 -AbstractDocument.undo.textAndMnemonic=\u9084\u539F -AbstractDocument.redo.textAndMnemonic=\u91CD\u505A - -############ Abstract Button Strings ############ -AbstractButton.click.textAndMnemonic=\u6309\u4E00\u4E0B - -############ Abstract Undoable Edit Strings ############ -AbstractUndoableEdit.undo.textAndMnemonic=\u9084\u539F -AbstractUndoableEdit.redo.textAndMnemonic=\u91CD\u505A - -############ Combo Box Strings ############ -ComboBox.togglePopup.textAndMnemonic=\u5207\u63DB\u5373\u73FE\u5F0F\u8996\u7A97 - -############ Progress Monitor Strings ############ -ProgressMonitor.progress.textAndMnemonic=\u9032\u5EA6... - -############ Split Pane Strings ############ -SplitPane.leftButton.textAndMnemonic=\u5DE6\u6309\u9215 -SplitPane.rightButton.textAndMnemonic=\u53F3\u6309\u9215 -# Used for Isindex -IsindexView.prompt=\u9019\u662F\u4E00\u500B\u53EF\u641C\u5C0B\u7684\u7D22\u5F15\u3002\u8F38\u5165\u641C\u5C0B\u95DC\u9375\u5B57: - -############ InternalFrameTitlePane Strings ############ -InternalFrameTitlePane.iconifyButtonAccessibleName=\u5716\u793A\u5316 -InternalFrameTitlePane.maximizeButtonAccessibleName=\u6700\u5927\u5316 -InternalFrameTitlePane.closeButtonAccessibleName=\u95DC\u9589 - +# This properties file is used to create a PropertyResourceBundle +# It contains Locale specific strings used in Swing +# Currently, the following components need this for support: +# +# ColorChooser +# FileChooser +# OptionPane +# +# When this file is read in, the strings are put into the +# defaults table. This is an implementation detail of the current +# workings of Swing. DO NOT DEPEND ON THIS. +# This may change in future versions of Swing as we improve localization +# support. +# +# MNEMONIC NOTE: +# Many of strings in this file are used by widgets that have a +# mnemonic, for example: +# ColorChooser.rgbNameTextAndMnemonic=R&GB +# Indicates that the tab in the ColorChooser for RGB colors will have +# the text 'RGB', further the mnemonic character will be 'g' and that +# a decoration will be provided under the 'G'. This will typically +# look like: RGB +# - +# +# One important thing to remember is that the mnemonic MUST exist in +# the String, if it does not exist you should add text that makes it +# exist. This will typically take the form 'XXXX (M)' where M is the +# character for the mnemonic. +# +# @author Steve Wilson + +############ FILE CHOOSER STRINGS ############# +FileChooser.fileDescription.textAndMnemonic=\u4E00\u822C\u6A94\u6848 +FileChooser.directoryDescription.textAndMnemonic=\u76EE\u9304 +FileChooser.newFolderError.textAndMnemonic=\u5EFA\u7ACB\u65B0\u8CC7\u6599\u593E\u6642\u767C\u751F\u932F\u8AA4 +FileChooser.newFolderErrorSeparator= : +FileChooser.newFolderParentDoesntExistTitle.textAndMnemonic=\u7121\u6CD5\u5EFA\u7ACB\u8CC7\u6599\u593E +FileChooser.newFolderParentDoesntExist.textAndMnemonic=\u7121\u6CD5\u5EFA\u7ACB\u8CC7\u6599\u593E\u3002\n\n\u7CFB\u7D71\u627E\u4E0D\u5230\u6307\u5B9A\u7684\u8DEF\u5F91\u3002 +FileChooser.renameErrorTitle.textAndMnemonic=\u91CD\u65B0\u547D\u540D\u6A94\u6848\u6216\u8CC7\u6599\u593E\u6642\u767C\u751F\u932F\u8AA4\u3002 +FileChooser.renameError.textAndMnemonic=\u7121\u6CD5\u91CD\u65B0\u547D\u540D {0} +FileChooser.renameErrorFileExists.textAndMnemonic=\u7121\u6CD5\u91CD\u65B0\u547D\u540D {0}: \u5DF2\u7D93\u5B58\u5728\u60A8\u6240\u6307\u5B9A\u540D\u7A31\u7684\u6A94\u6848\u3002\u8ACB\u6307\u5B9A\u4E0D\u540C\u7684\u540D\u7A31\u3002 +FileChooser.acceptAllFileFilter.textAndMnemonic=\u6240\u6709\u6A94\u6848 +FileChooser.cancelButton.textAndMnemonic=\u53D6\u6D88 +FileChooser.saveButton.textAndMnemonic=\u5132\u5B58(&S) +FileChooser.openButton.textAndMnemonic=\u958B\u555F(&O) +FileChooser.saveDialogTitle.textAndMnemonic=\u5132\u5B58 +FileChooser.openDialogTitle.textAndMnemonic=\u958B\u555F +FileChooser.updateButton.textAndMnemonic=\u66F4\u65B0(&U) +FileChooser.helpButton.textAndMnemonic=\u8AAA\u660E(&H) +FileChooser.directoryOpenButton.textAndMnemonic=\u958B\u555F(&O) + +# File Size Units +FileChooser.fileSizeKiloBytes={0} KB +FileChooser.fileSizeMegaBytes={0} MB +FileChooser.fileSizeGigaBytes={0} GB + +# These strings are platform dependent not look and feel dependent. +FileChooser.win32.newFolder=\u65B0\u8CC7\u6599\u593E +FileChooser.win32.newFolder.subsequent=\u65B0\u8CC7\u6599\u593E ({0}) +FileChooser.other.newFolder=\u65B0\u8CC7\u6599\u593E +FileChooser.other.newFolder.subsequent=\u65B0\u8CC7\u6599\u593E.{0} + + +## file chooser tooltips ### +FileChooser.cancelButtonToolTip.textAndMnemonic=\u4E2D\u6B62\u6A94\u6848\u9078\u64C7\u5668\u5C0D\u8A71\u65B9\u584A +FileChooser.saveButtonToolTip.textAndMnemonic=\u5132\u5B58\u9078\u53D6\u7684\u6A94\u6848 +FileChooser.openButtonToolTip.textAndMnemonic=\u958B\u555F\u9078\u53D6\u7684\u6A94\u6848 +FileChooser.updateButtonToolTip.textAndMnemonic=\u66F4\u65B0\u76EE\u9304\u6E05\u55AE +FileChooser.helpButtonToolTip.textAndMnemonic=\u300C\u6A94\u6848\u9078\u64C7\u5668\u300D\u8AAA\u660E +FileChooser.directoryOpenButtonToolTip.textAndMnemonic=\u958B\u555F\u9078\u53D6\u7684\u76EE\u9304 + +FileChooser.filesListAccessibleName=Files List +FileChooser.filesDetailsAccessibleName=Files Details + +############ COLOR CHOOSER STRINGS ############# +ColorChooser.preview.textAndMnemonic=\u9810\u89BD +ColorChooser.ok.textAndMnemonic=\u78BA\u5B9A +ColorChooser.cancel.textAndMnemonic=\u53D6\u6D88 +ColorChooser.reset.textAndMnemonic=\u91CD\u8A2D(&R) +ColorChooser.sample.textAndMnemonic=\u7BC4\u4F8B\u6587\u5B57 \u7BC4\u4F8B\u6587\u5B57 +ColorChooser.swatches.textAndMnemonic=\u8ABF\u8272\u677F(&S) +ColorChooser.swatchesRecent.textAndMnemonic=\u6700\u65B0\u9078\u64C7: +ColorChooser.hsv.textAndMnemonic=&HSV +ColorChooser.hsvHue.textAndMnemonic=\u8272\u8ABF +ColorChooser.hsvSaturation.textAndMnemonic=\u5F69\u5EA6 +ColorChooser.hsvValue.textAndMnemonic=\u6578\u503C +ColorChooser.hsvTransparency.textAndMnemonic=\u900F\u660E\u5EA6 +ColorChooser.hsl.textAndMnemonic=HS&L +ColorChooser.hslHue.textAndMnemonic=\u8272\u8ABF +ColorChooser.hslSaturation.textAndMnemonic=\u5F69\u5EA6 +ColorChooser.hslLightness.textAndMnemonic=\u4EAE\u5EA6 +ColorChooser.hslTransparency.textAndMnemonic=\u900F\u660E\u5EA6 +ColorChooser.rgb.textAndMnemonic=R&GB +ColorChooser.rgbRed.textAndMnemonic=\u7D05(&D) +ColorChooser.rgbGreen.textAndMnemonic=\u7DA0(&N) +ColorChooser.rgbBlue.textAndMnemonic=\u85CD(&B) +ColorChooser.rgbAlpha.textAndMnemonic=Alpha +ColorChooser.rgbHexCode.textAndMnemonic=\u984F\u8272\u4EE3\u78BC(&C) +ColorChooser.cmyk.textAndMnemonic=C&MYK +ColorChooser.cmykCyan.textAndMnemonic=\u85CD\u7DA0\u8272 +ColorChooser.cmykMagenta.textAndMnemonic=\u7D2B\u7D05\u8272 +ColorChooser.cmykYellow.textAndMnemonic=\u9EC3\u8272 +ColorChooser.cmykBlack.textAndMnemonic=\u9ED1\u8272 +ColorChooser.cmykAlpha.textAndMnemonic=Alpha + +############ OPTION PANE STRINGS ############# +# We only define mnemonics for YES/NO, but for completeness you can +# define mnemonics for any of the buttons. +OptionPane.yesButton.textAndMnemonic=\u662F(&Y) +OptionPane.noButton.textAndMnemonic=\u5426(&N) +OptionPane.okButton.textAndMnemonic=\u78BA\u5B9A(&O) +OptionPane.cancelButton.textAndMnemonic=\u53D6\u6D88 +OptionPane.title.textAndMnemonic=\u9078\u53D6\u4E00\u500B\u9078\u9805 +# Title for the dialog for the showInputDialog methods. Only used if +# the developer uses one of the variants that doesn't take a title. +OptionPane.inputDialog.titleAndMnemonic=\u8F38\u5165 +# Title for the dialog for the showMessageDialog methods. Only used if +# the developer uses one of the variants that doesn't take a title. +OptionPane.messageDialog.titleAndMnemonic=\u8A0A\u606F + +############ Printing Dialog Strings ############ +PrintingDialog.titleProgress.textAndMnemonic=\u5217\u5370 +PrintingDialog.titleAborting.textAndMnemonic=\u5217\u5370 (\u4E2D\u6B62) + +PrintingDialog.contentInitial.textAndMnemonic=\u6B63\u5728\u5217\u5370... + +# The following string will be formatted by a MessageFormat +# and {0} will be replaced by page number being printed +PrintingDialog.contentProgress.textAndMnemonic=\u5DF2\u5217\u5370\u7684\u9801\u9762 {0}... + +PrintingDialog.contentAborting.textAndMnemonic=\u6B63\u5728\u4E2D\u6B62\u5217\u5370... + +PrintingDialog.abortButton.textAndMnemonic=\u4E2D\u6B62(&A) +PrintingDialog.abortButtonToolTip.textAndMnemonic=\u4E2D\u6B62\u5217\u5370 + +############ Internal Frame Strings ############ +InternalFrame.iconButtonToolTip=\u6700\u5C0F\u5316 +InternalFrame.maxButtonToolTip=\u6700\u5927\u5316 +InternalFrame.restoreButtonToolTip=\u5FA9\u539F +InternalFrame.closeButtonToolTip=\u95DC\u9589 + +############ Internal Frame Title Pane Strings ############ +InternalFrameTitlePane.restoreButton.textAndMnemonic=\u5FA9\u539F +InternalFrameTitlePane.moveButton.textAndMnemonic=\u79FB\u52D5 +InternalFrameTitlePane.sizeButton.textAndMnemonic=\u5927\u5C0F +InternalFrameTitlePane.minimizeButton.textAndMnemonic=\u6700\u5C0F\u5316 +InternalFrameTitlePane.maximizeButton.textAndMnemonic=\u6700\u5927\u5316 +InternalFrameTitlePane.closeButton.textAndMnemonic=\u95DC\u9589 + +############ Text strings ############# +# Used for html forms +FormView.submitButton.textAndMnemonic=\u9001\u51FA\u67E5\u8A62 +FormView.resetButton.textAndMnemonic=\u91CD\u8A2D +FormView.browseFileButton.textAndMnemonic=\u700F\u89BD... + +############ Abstract Document Strings ############ +AbstractDocument.styleChange.textAndMnemonic=\u6A23\u5F0F\u8B8A\u66F4 +AbstractDocument.addition.textAndMnemonic=\u9644\u52A0 +AbstractDocument.deletion.textAndMnemonic=\u522A\u9664 +AbstractDocument.undo.textAndMnemonic=\u9084\u539F +AbstractDocument.redo.textAndMnemonic=\u91CD\u505A + +############ Abstract Button Strings ############ +AbstractButton.click.textAndMnemonic=\u6309\u4E00\u4E0B + +############ Abstract Undoable Edit Strings ############ +AbstractUndoableEdit.undo.textAndMnemonic=\u9084\u539F +AbstractUndoableEdit.redo.textAndMnemonic=\u91CD\u505A + +############ Combo Box Strings ############ +ComboBox.togglePopup.textAndMnemonic=\u5207\u63DB\u5373\u73FE\u5F0F\u8996\u7A97 + +############ Progress Monitor Strings ############ +ProgressMonitor.progress.textAndMnemonic=\u9032\u5EA6... + +############ Split Pane Strings ############ +SplitPane.leftButton.textAndMnemonic=\u5DE6\u6309\u9215 +SplitPane.rightButton.textAndMnemonic=\u53F3\u6309\u9215 +# Used for Isindex +IsindexView.prompt=\u9019\u662F\u4E00\u500B\u53EF\u641C\u5C0B\u7684\u7D22\u5F15\u3002\u8F38\u5165\u641C\u5C0B\u95DC\u9375\u5B57: + +############ InternalFrameTitlePane Strings ############ +InternalFrameTitlePane.iconifyButtonAccessibleName=\u5716\u793A\u5316 +InternalFrameTitlePane.maximizeButtonAccessibleName=\u6700\u5927\u5316 +InternalFrameTitlePane.closeButtonAccessibleName=\u95DC\u9589 +
--- a/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal.properties Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal.properties Wed Jun 27 18:39:43 2012 -0700 @@ -1,51 +1,53 @@ -# This properties file is used to create a PropertyResourceBundle -# It contains Locale specific strings used be the Metal Look and Feel. -# Currently, the following components need this for support: -# -# FileChooser -# -# When this file is read in, the strings are put into the -# defaults table. This is an implementation detail of the current -# workings of Swing. DO NOT DEPEND ON THIS. -# This may change in future versions of Swing as we improve localization -# support. -# -# Refer to the note in basic.properties for a description as to what -# the mnemonics correspond to and how to calculate them. -# -# @author Steve Wilson - - -############ FILE CHOOSER STRINGS ############# - -FileChooser.lookInLabel.textAndMnemonic=Look &In: -FileChooser.saveInLabel.textAndMnemonic=Save In: -FileChooser.fileNameLabel.textAndMnemonic=File &Name: -FileChooser.folderNameLabel.textAndMnemonic=Folder &name: -FileChooser.filesOfTypeLabel.textAndMnemonic=Files of &Type: -FileChooser.upFolderToolTip.textAndMnemonic=Up One Level -FileChooser.upFolderAccessibleName=Up -FileChooser.homeFolderToolTip.textAndMnemonic=Home -FileChooser.homeFolderAccessibleName=Home -FileChooser.newFolderToolTip.textAndMnemonic=Create New Folder -FileChooser.newFolderAccessibleName=New Folder -FileChooser.newFolderActionLabel.textAndMnemonic=New Folder -FileChooser.listViewButtonToolTip.textAndMnemonic=List -FileChooser.listViewButtonAccessibleName=List -FileChooser.listViewActionLabel.textAndMnemonic=List -FileChooser.detailsViewButtonToolTip.textAndMnemonic=Details -FileChooser.detailsViewButtonAccessibleName=Details -FileChooser.detailsViewActionLabel.textAndMnemonic=Details -FileChooser.refreshActionLabel.textAndMnemonic=Refresh -FileChooser.viewMenuLabel.textAndMnemonic=View -FileChooser.fileNameHeader.textAndMnemonic=Name -FileChooser.fileSizeHeader.textAndMnemonic=Size -FileChooser.fileTypeHeader.textAndMnemonic=Type -FileChooser.fileDateHeader.textAndMnemonic=Modified -FileChooser.fileAttrHeader.textAndMnemonic=Attributes - -############ Used by MetalTitlePane if rendering window decorations############ -MetalTitlePane.restore.titleAndMnemonic=&Restore -MetalTitlePane.iconify.titleAndMnemonic=Minimiz&e -MetalTitlePane.maximize.titleAndMnemonic=Ma&ximize -MetalTitlePane.close.titleAndMnemonic=&Close +# This properties file is used to create a PropertyResourceBundle +# It contains Locale specific strings used be the Metal Look and Feel. +# Currently, the following components need this for support: +# +# FileChooser +# +# When this file is read in, the strings are put into the +# defaults table. This is an implementation detail of the current +# workings of Swing. DO NOT DEPEND ON THIS. +# This may change in future versions of Swing as we improve localization +# support. +# +# Refer to the note in basic.properties for a description as to what +# the mnemonics correspond to and how to calculate them. +# +# @author Steve Wilson + + +############ FILE CHOOSER STRINGS ############# + +FileChooser.lookInLabel.textAndMnemonic=Look &In: +FileChooser.saveInLabel.textAndMnemonic=Save In: +FileChooser.fileNameLabel.textAndMnemonic=File &Name: +FileChooser.folderNameLabel.textAndMnemonic=Folder &name: +FileChooser.filesOfTypeLabel.textAndMnemonic=Files of &Type: +FileChooser.upFolderToolTip.textAndMnemonic=Up One Level +FileChooser.upFolderAccessibleName=Up +FileChooser.homeFolderToolTip.textAndMnemonic=Home +FileChooser.homeFolderAccessibleName=Home +FileChooser.newFolderToolTip.textAndMnemonic=Create New Folder +FileChooser.newFolderAccessibleName=New Folder +FileChooser.newFolderActionLabel.textAndMnemonic=New Folder +FileChooser.listViewButtonToolTip.textAndMnemonic=List +FileChooser.listViewButtonAccessibleName=List +FileChooser.listViewActionLabel.textAndMnemonic=List +FileChooser.detailsViewButtonToolTip.textAndMnemonic=Details +FileChooser.detailsViewButtonAccessibleName=Details +FileChooser.detailsViewActionLabel.textAndMnemonic=Details +FileChooser.refreshActionLabel.textAndMnemonic=Refresh +FileChooser.viewMenuLabel.textAndMnemonic=View +FileChooser.fileNameHeader.textAndMnemonic=Name +FileChooser.fileSizeHeader.textAndMnemonic=Size +FileChooser.fileTypeHeader.textAndMnemonic=Type +FileChooser.fileDateHeader.textAndMnemonic=Modified +FileChooser.fileAttrHeader.textAndMnemonic=Attributes +FileChooser.saveButton.textAndMnemonic=Save +FileChooser.openButton.textAndMnemonic=Open + +############ Used by MetalTitlePane if rendering window decorations############ +MetalTitlePane.restore.titleAndMnemonic=&Restore +MetalTitlePane.iconify.titleAndMnemonic=Minimiz&e +MetalTitlePane.maximize.titleAndMnemonic=Ma&ximize +MetalTitlePane.close.titleAndMnemonic=&Close
--- a/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_de.properties Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_de.properties Wed Jun 27 18:39:43 2012 -0700 @@ -1,52 +1,54 @@ -# This properties file is used to create a PropertyResourceBundle -# It contains Locale specific strings used be the Metal Look and Feel. -# Currently, the following components need this for support: -# -# FileChooser -# -# When this file is read in, the strings are put into the -# defaults table. This is an implementation detail of the current -# workings of Swing. DO NOT DEPEND ON THIS. -# This may change in future versions of Swing as we improve localization -# support. -# -# Refer to the note in basic.properties for a description as to what -# the mnemonics correspond to and how to calculate them. -# -# @author Steve Wilson - - -############ FILE CHOOSER STRINGS ############# - -FileChooser.lookInLabel.textAndMnemonic=Suchen &in: -FileChooser.saveInLabel.textAndMnemonic=Speichern in: -FileChooser.fileNameLabel.textAndMnemonic=Datei&name: -FileChooser.folderNameLabel.textAndMnemonic=Ord&nername: -FileChooser.filesOfTypeLabel.textAndMnemonic=Da&teityp: -FileChooser.upFolderToolTip.textAndMnemonic=Eine Ebene h\u00F6her -FileChooser.upFolderAccessibleName=Nach oben -FileChooser.homeFolderToolTip.textAndMnemonic=Home -FileChooser.homeFolderAccessibleName=Home -FileChooser.newFolderToolTip.textAndMnemonic=Neuen Ordner erstellen -FileChooser.newFolderAccessibleName=Neuer Ordner -FileChooser.newFolderActionLabel.textAndMnemonic=Neuer Ordner -FileChooser.listViewButtonToolTip.textAndMnemonic=Liste -FileChooser.listViewButtonAccessibleName=Liste -FileChooser.listViewActionLabel.textAndMnemonic=Liste -FileChooser.detailsViewButtonToolTip.textAndMnemonic=Details -FileChooser.detailsViewButtonAccessibleName=Details -FileChooser.detailsViewActionLabel.textAndMnemonic=Details -FileChooser.refreshActionLabel.textAndMnemonic=Aktualisieren -FileChooser.viewMenuLabel.textAndMnemonic=Ansicht -FileChooser.fileNameHeader.textAndMnemonic=Name -FileChooser.fileSizeHeader.textAndMnemonic=Gr\u00F6\u00DFe -FileChooser.fileTypeHeader.textAndMnemonic=Typ -FileChooser.fileDateHeader.textAndMnemonic=Ge\u00E4ndert -FileChooser.fileAttrHeader.textAndMnemonic=Attribute - -############ Used by MetalTitlePane if rendering window decorations############ -MetalTitlePane.restore.titleAndMnemonic=&Wiederherstellen -MetalTitlePane.iconify.titleAndMnemonic=Minimie&ren -MetalTitlePane.maximize.titleAndMnemonic=Ma&ximieren -MetalTitlePane.close.titleAndMnemonic=Schlie\u00DFen(&S) - +# This properties file is used to create a PropertyResourceBundle +# It contains Locale specific strings used be the Metal Look and Feel. +# Currently, the following components need this for support: +# +# FileChooser +# +# When this file is read in, the strings are put into the +# defaults table. This is an implementation detail of the current +# workings of Swing. DO NOT DEPEND ON THIS. +# This may change in future versions of Swing as we improve localization +# support. +# +# Refer to the note in basic.properties for a description as to what +# the mnemonics correspond to and how to calculate them. +# +# @author Steve Wilson + + +############ FILE CHOOSER STRINGS ############# + +FileChooser.lookInLabel.textAndMnemonic=Suchen &in: +FileChooser.saveInLabel.textAndMnemonic=Speichern in: +FileChooser.fileNameLabel.textAndMnemonic=Datei&name: +FileChooser.folderNameLabel.textAndMnemonic=Ord&nername: +FileChooser.filesOfTypeLabel.textAndMnemonic=Da&teityp: +FileChooser.upFolderToolTip.textAndMnemonic=Eine Ebene h\u00F6her +FileChooser.upFolderAccessibleName=Nach oben +FileChooser.homeFolderToolTip.textAndMnemonic=Home +FileChooser.homeFolderAccessibleName=Home +FileChooser.newFolderToolTip.textAndMnemonic=Neuen Ordner erstellen +FileChooser.newFolderAccessibleName=Neuer Ordner +FileChooser.newFolderActionLabel.textAndMnemonic=Neuer Ordner +FileChooser.listViewButtonToolTip.textAndMnemonic=Liste +FileChooser.listViewButtonAccessibleName=Liste +FileChooser.listViewActionLabel.textAndMnemonic=Liste +FileChooser.detailsViewButtonToolTip.textAndMnemonic=Details +FileChooser.detailsViewButtonAccessibleName=Details +FileChooser.detailsViewActionLabel.textAndMnemonic=Details +FileChooser.refreshActionLabel.textAndMnemonic=Aktualisieren +FileChooser.viewMenuLabel.textAndMnemonic=Ansicht +FileChooser.fileNameHeader.textAndMnemonic=Name +FileChooser.fileSizeHeader.textAndMnemonic=Gr\u00F6\u00DFe +FileChooser.fileTypeHeader.textAndMnemonic=Typ +FileChooser.fileDateHeader.textAndMnemonic=Ge\u00E4ndert +FileChooser.fileAttrHeader.textAndMnemonic=Attribute +FileChooser.saveButton.textAndMnemonic=Speichern +FileChooser.openButton.textAndMnemonic=\u00D6ffnen + +############ Used by MetalTitlePane if rendering window decorations############ +MetalTitlePane.restore.titleAndMnemonic=&Wiederherstellen +MetalTitlePane.iconify.titleAndMnemonic=Minimie&ren +MetalTitlePane.maximize.titleAndMnemonic=Ma&ximieren +MetalTitlePane.close.titleAndMnemonic=Schlie\u00DFen(&S) +
--- a/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_es.properties Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_es.properties Wed Jun 27 18:39:43 2012 -0700 @@ -1,52 +1,54 @@ -# This properties file is used to create a PropertyResourceBundle -# It contains Locale specific strings used be the Metal Look and Feel. -# Currently, the following components need this for support: -# -# FileChooser -# -# When this file is read in, the strings are put into the -# defaults table. This is an implementation detail of the current -# workings of Swing. DO NOT DEPEND ON THIS. -# This may change in future versions of Swing as we improve localization -# support. -# -# Refer to the note in basic.properties for a description as to what -# the mnemonics correspond to and how to calculate them. -# -# @author Steve Wilson - - -############ FILE CHOOSER STRINGS ############# - -FileChooser.lookInLabel.textAndMnemonic=Buscar en(&I): -FileChooser.saveInLabel.textAndMnemonic=Guardar en: -FileChooser.fileNameLabel.textAndMnemonic=&Nombre de Archivo: -FileChooser.folderNameLabel.textAndMnemonic=&Nombre de la Carpeta: -FileChooser.filesOfTypeLabel.textAndMnemonic=Archivos de &Tipo: -FileChooser.upFolderToolTip.textAndMnemonic=Subir un Nivel -FileChooser.upFolderAccessibleName=Arriba -FileChooser.homeFolderToolTip.textAndMnemonic=Inicio -FileChooser.homeFolderAccessibleName=Inicio -FileChooser.newFolderToolTip.textAndMnemonic=Crear Nueva Carpeta -FileChooser.newFolderAccessibleName=Nueva Carpeta -FileChooser.newFolderActionLabel.textAndMnemonic=Nueva Carpeta -FileChooser.listViewButtonToolTip.textAndMnemonic=Lista -FileChooser.listViewButtonAccessibleName=Lista -FileChooser.listViewActionLabel.textAndMnemonic=Lista -FileChooser.detailsViewButtonToolTip.textAndMnemonic=Detalles -FileChooser.detailsViewButtonAccessibleName=Detalles -FileChooser.detailsViewActionLabel.textAndMnemonic=Detalles -FileChooser.refreshActionLabel.textAndMnemonic=Refrescar -FileChooser.viewMenuLabel.textAndMnemonic=Ver -FileChooser.fileNameHeader.textAndMnemonic=Nombre -FileChooser.fileSizeHeader.textAndMnemonic=Tama\u00F1o -FileChooser.fileTypeHeader.textAndMnemonic=Tipo -FileChooser.fileDateHeader.textAndMnemonic=Modificado -FileChooser.fileAttrHeader.textAndMnemonic=Atributos - -############ Used by MetalTitlePane if rendering window decorations############ -MetalTitlePane.restore.titleAndMnemonic=&Restaurar -MetalTitlePane.iconify.titleAndMnemonic=Minimi&zar -MetalTitlePane.maximize.titleAndMnemonic=Ma&ximizar -MetalTitlePane.close.titleAndMnemonic=&Cerrar - +# This properties file is used to create a PropertyResourceBundle +# It contains Locale specific strings used be the Metal Look and Feel. +# Currently, the following components need this for support: +# +# FileChooser +# +# When this file is read in, the strings are put into the +# defaults table. This is an implementation detail of the current +# workings of Swing. DO NOT DEPEND ON THIS. +# This may change in future versions of Swing as we improve localization +# support. +# +# Refer to the note in basic.properties for a description as to what +# the mnemonics correspond to and how to calculate them. +# +# @author Steve Wilson + + +############ FILE CHOOSER STRINGS ############# + +FileChooser.lookInLabel.textAndMnemonic=Buscar en(&I): +FileChooser.saveInLabel.textAndMnemonic=Guardar en: +FileChooser.fileNameLabel.textAndMnemonic=&Nombre de Archivo: +FileChooser.folderNameLabel.textAndMnemonic=&Nombre de la Carpeta: +FileChooser.filesOfTypeLabel.textAndMnemonic=Archivos de &Tipo: +FileChooser.upFolderToolTip.textAndMnemonic=Subir un Nivel +FileChooser.upFolderAccessibleName=Arriba +FileChooser.homeFolderToolTip.textAndMnemonic=Inicio +FileChooser.homeFolderAccessibleName=Inicio +FileChooser.newFolderToolTip.textAndMnemonic=Crear Nueva Carpeta +FileChooser.newFolderAccessibleName=Nueva Carpeta +FileChooser.newFolderActionLabel.textAndMnemonic=Nueva Carpeta +FileChooser.listViewButtonToolTip.textAndMnemonic=Lista +FileChooser.listViewButtonAccessibleName=Lista +FileChooser.listViewActionLabel.textAndMnemonic=Lista +FileChooser.detailsViewButtonToolTip.textAndMnemonic=Detalles +FileChooser.detailsViewButtonAccessibleName=Detalles +FileChooser.detailsViewActionLabel.textAndMnemonic=Detalles +FileChooser.refreshActionLabel.textAndMnemonic=Refrescar +FileChooser.viewMenuLabel.textAndMnemonic=Ver +FileChooser.fileNameHeader.textAndMnemonic=Nombre +FileChooser.fileSizeHeader.textAndMnemonic=Tama\u00F1o +FileChooser.fileTypeHeader.textAndMnemonic=Tipo +FileChooser.fileDateHeader.textAndMnemonic=Modificado +FileChooser.fileAttrHeader.textAndMnemonic=Atributos +FileChooser.saveButton.textAndMnemonic=Guardar +FileChooser.openButton.textAndMnemonic=Abrir + +############ Used by MetalTitlePane if rendering window decorations############ +MetalTitlePane.restore.titleAndMnemonic=&Restaurar +MetalTitlePane.iconify.titleAndMnemonic=Minimi&zar +MetalTitlePane.maximize.titleAndMnemonic=Ma&ximizar +MetalTitlePane.close.titleAndMnemonic=&Cerrar +
--- a/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_fr.properties Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_fr.properties Wed Jun 27 18:39:43 2012 -0700 @@ -1,52 +1,54 @@ -# This properties file is used to create a PropertyResourceBundle -# It contains Locale specific strings used be the Metal Look and Feel. -# Currently, the following components need this for support: -# -# FileChooser -# -# When this file is read in, the strings are put into the -# defaults table. This is an implementation detail of the current -# workings of Swing. DO NOT DEPEND ON THIS. -# This may change in future versions of Swing as we improve localization -# support. -# -# Refer to the note in basic.properties for a description as to what -# the mnemonics correspond to and how to calculate them. -# -# @author Steve Wilson - - -############ FILE CHOOSER STRINGS ############# - -FileChooser.lookInLabel.textAndMnemonic=Rechercher dans (&I): -FileChooser.saveInLabel.textAndMnemonic=Enregistrer dans : -FileChooser.fileNameLabel.textAndMnemonic=&Nom du fichier : -FileChooser.folderNameLabel.textAndMnemonic=&Nom du dossier : -FileChooser.filesOfTypeLabel.textAndMnemonic=Fichiers de &type : -FileChooser.upFolderToolTip.textAndMnemonic=Remonte d'un niveau. -FileChooser.upFolderAccessibleName=Monter -FileChooser.homeFolderToolTip.textAndMnemonic=R\u00E9pertoire d'origine -FileChooser.homeFolderAccessibleName=R\u00E9pertoire d'origine -FileChooser.newFolderToolTip.textAndMnemonic=Cr\u00E9e un dossier. -FileChooser.newFolderAccessibleName=Nouveau dossier -FileChooser.newFolderActionLabel.textAndMnemonic=Nouveau dossier -FileChooser.listViewButtonToolTip.textAndMnemonic=Liste -FileChooser.listViewButtonAccessibleName=Liste -FileChooser.listViewActionLabel.textAndMnemonic=Liste -FileChooser.detailsViewButtonToolTip.textAndMnemonic=D\u00E9tails -FileChooser.detailsViewButtonAccessibleName=D\u00E9tails -FileChooser.detailsViewActionLabel.textAndMnemonic=D\u00E9tails -FileChooser.refreshActionLabel.textAndMnemonic=Actualiser -FileChooser.viewMenuLabel.textAndMnemonic=Affichage -FileChooser.fileNameHeader.textAndMnemonic=Nom -FileChooser.fileSizeHeader.textAndMnemonic=Taille -FileChooser.fileTypeHeader.textAndMnemonic=Type -FileChooser.fileDateHeader.textAndMnemonic=Modifi\u00E9 -FileChooser.fileAttrHeader.textAndMnemonic=Attributs - -############ Used by MetalTitlePane if rendering window decorations############ -MetalTitlePane.restore.titleAndMnemonic=&Restaurer -MetalTitlePane.iconify.titleAndMnemonic=R\u00E9duire(&D) -MetalTitlePane.maximize.titleAndMnemonic=&Agrandir -MetalTitlePane.close.titleAndMnemonic=&Fermer - +# This properties file is used to create a PropertyResourceBundle +# It contains Locale specific strings used be the Metal Look and Feel. +# Currently, the following components need this for support: +# +# FileChooser +# +# When this file is read in, the strings are put into the +# defaults table. This is an implementation detail of the current +# workings of Swing. DO NOT DEPEND ON THIS. +# This may change in future versions of Swing as we improve localization +# support. +# +# Refer to the note in basic.properties for a description as to what +# the mnemonics correspond to and how to calculate them. +# +# @author Steve Wilson + + +############ FILE CHOOSER STRINGS ############# + +FileChooser.lookInLabel.textAndMnemonic=Rechercher dans (&I): +FileChooser.saveInLabel.textAndMnemonic=Enregistrer dans : +FileChooser.fileNameLabel.textAndMnemonic=&Nom du fichier : +FileChooser.folderNameLabel.textAndMnemonic=&Nom du dossier : +FileChooser.filesOfTypeLabel.textAndMnemonic=Fichiers de &type : +FileChooser.upFolderToolTip.textAndMnemonic=Remonte d'un niveau. +FileChooser.upFolderAccessibleName=Monter +FileChooser.homeFolderToolTip.textAndMnemonic=R\u00E9pertoire d'origine +FileChooser.homeFolderAccessibleName=R\u00E9pertoire d'origine +FileChooser.newFolderToolTip.textAndMnemonic=Cr\u00E9e un dossier. +FileChooser.newFolderAccessibleName=Nouveau dossier +FileChooser.newFolderActionLabel.textAndMnemonic=Nouveau dossier +FileChooser.listViewButtonToolTip.textAndMnemonic=Liste +FileChooser.listViewButtonAccessibleName=Liste +FileChooser.listViewActionLabel.textAndMnemonic=Liste +FileChooser.detailsViewButtonToolTip.textAndMnemonic=D\u00E9tails +FileChooser.detailsViewButtonAccessibleName=D\u00E9tails +FileChooser.detailsViewActionLabel.textAndMnemonic=D\u00E9tails +FileChooser.refreshActionLabel.textAndMnemonic=Actualiser +FileChooser.viewMenuLabel.textAndMnemonic=Affichage +FileChooser.fileNameHeader.textAndMnemonic=Nom +FileChooser.fileSizeHeader.textAndMnemonic=Taille +FileChooser.fileTypeHeader.textAndMnemonic=Type +FileChooser.fileDateHeader.textAndMnemonic=Modifi\u00E9 +FileChooser.fileAttrHeader.textAndMnemonic=Attributs +FileChooser.saveButton.textAndMnemonic=Enregistrer +FileChooser.openButton.textAndMnemonic=Ouvrir + +############ Used by MetalTitlePane if rendering window decorations############ +MetalTitlePane.restore.titleAndMnemonic=&Restaurer +MetalTitlePane.iconify.titleAndMnemonic=R\u00E9duire(&D) +MetalTitlePane.maximize.titleAndMnemonic=&Agrandir +MetalTitlePane.close.titleAndMnemonic=&Fermer +
--- a/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_it.properties Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_it.properties Wed Jun 27 18:39:43 2012 -0700 @@ -1,52 +1,54 @@ -# This properties file is used to create a PropertyResourceBundle -# It contains Locale specific strings used be the Metal Look and Feel. -# Currently, the following components need this for support: -# -# FileChooser -# -# When this file is read in, the strings are put into the -# defaults table. This is an implementation detail of the current -# workings of Swing. DO NOT DEPEND ON THIS. -# This may change in future versions of Swing as we improve localization -# support. -# -# Refer to the note in basic.properties for a description as to what -# the mnemonics correspond to and how to calculate them. -# -# @author Steve Wilson - - -############ FILE CHOOSER STRINGS ############# - -FileChooser.lookInLabel.textAndMnemonic=Cerca &in: -FileChooser.saveInLabel.textAndMnemonic=Salva in: -FileChooser.fileNameLabel.textAndMnemonic=&Nome file: -FileChooser.folderNameLabel.textAndMnemonic=&Nome della cartella: -FileChooser.filesOfTypeLabel.textAndMnemonic=&Tipo file: -FileChooser.upFolderToolTip.textAndMnemonic=Cartella superiore -FileChooser.upFolderAccessibleName=Superiore -FileChooser.homeFolderToolTip.textAndMnemonic=Home -FileChooser.homeFolderAccessibleName=Home -FileChooser.newFolderToolTip.textAndMnemonic=Crea nuova cartella -FileChooser.newFolderAccessibleName=Nuova cartella -FileChooser.newFolderActionLabel.textAndMnemonic=Nuova cartella -FileChooser.listViewButtonToolTip.textAndMnemonic=Lista -FileChooser.listViewButtonAccessibleName=Lista -FileChooser.listViewActionLabel.textAndMnemonic=Lista -FileChooser.detailsViewButtonToolTip.textAndMnemonic=Dettagli -FileChooser.detailsViewButtonAccessibleName=Dettagli -FileChooser.detailsViewActionLabel.textAndMnemonic=Dettagli -FileChooser.refreshActionLabel.textAndMnemonic=Aggiorna -FileChooser.viewMenuLabel.textAndMnemonic=Visualizza -FileChooser.fileNameHeader.textAndMnemonic=Nome -FileChooser.fileSizeHeader.textAndMnemonic=Dimensioni -FileChooser.fileTypeHeader.textAndMnemonic=Tipo -FileChooser.fileDateHeader.textAndMnemonic=Modificato -FileChooser.fileAttrHeader.textAndMnemonic=Attributi - -############ Used by MetalTitlePane if rendering window decorations############ -MetalTitlePane.restore.titleAndMnemonic=&Ripristina -MetalTitlePane.iconify.titleAndMnemonic=Rid&uci a icona -MetalTitlePane.maximize.titleAndMnemonic=In&grandisci -MetalTitlePane.close.titleAndMnemonic=&Chiudi - +# This properties file is used to create a PropertyResourceBundle +# It contains Locale specific strings used be the Metal Look and Feel. +# Currently, the following components need this for support: +# +# FileChooser +# +# When this file is read in, the strings are put into the +# defaults table. This is an implementation detail of the current +# workings of Swing. DO NOT DEPEND ON THIS. +# This may change in future versions of Swing as we improve localization +# support. +# +# Refer to the note in basic.properties for a description as to what +# the mnemonics correspond to and how to calculate them. +# +# @author Steve Wilson + + +############ FILE CHOOSER STRINGS ############# + +FileChooser.lookInLabel.textAndMnemonic=Cerca &in: +FileChooser.saveInLabel.textAndMnemonic=Salva in: +FileChooser.fileNameLabel.textAndMnemonic=&Nome file: +FileChooser.folderNameLabel.textAndMnemonic=&Nome della cartella: +FileChooser.filesOfTypeLabel.textAndMnemonic=&Tipo file: +FileChooser.upFolderToolTip.textAndMnemonic=Cartella superiore +FileChooser.upFolderAccessibleName=Superiore +FileChooser.homeFolderToolTip.textAndMnemonic=Home +FileChooser.homeFolderAccessibleName=Home +FileChooser.newFolderToolTip.textAndMnemonic=Crea nuova cartella +FileChooser.newFolderAccessibleName=Nuova cartella +FileChooser.newFolderActionLabel.textAndMnemonic=Nuova cartella +FileChooser.listViewButtonToolTip.textAndMnemonic=Lista +FileChooser.listViewButtonAccessibleName=Lista +FileChooser.listViewActionLabel.textAndMnemonic=Lista +FileChooser.detailsViewButtonToolTip.textAndMnemonic=Dettagli +FileChooser.detailsViewButtonAccessibleName=Dettagli +FileChooser.detailsViewActionLabel.textAndMnemonic=Dettagli +FileChooser.refreshActionLabel.textAndMnemonic=Aggiorna +FileChooser.viewMenuLabel.textAndMnemonic=Visualizza +FileChooser.fileNameHeader.textAndMnemonic=Nome +FileChooser.fileSizeHeader.textAndMnemonic=Dimensioni +FileChooser.fileTypeHeader.textAndMnemonic=Tipo +FileChooser.fileDateHeader.textAndMnemonic=Modificato +FileChooser.fileAttrHeader.textAndMnemonic=Attributi +FileChooser.saveButton.textAndMnemonic=Salva +FileChooser.openButton.textAndMnemonic=Apri + +############ Used by MetalTitlePane if rendering window decorations############ +MetalTitlePane.restore.titleAndMnemonic=&Ripristina +MetalTitlePane.iconify.titleAndMnemonic=Rid&uci a icona +MetalTitlePane.maximize.titleAndMnemonic=In&grandisci +MetalTitlePane.close.titleAndMnemonic=&Chiudi +
--- a/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ja.properties Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ja.properties Wed Jun 27 18:39:43 2012 -0700 @@ -1,52 +1,54 @@ -# This properties file is used to create a PropertyResourceBundle -# It contains Locale specific strings used be the Metal Look and Feel. -# Currently, the following components need this for support: -# -# FileChooser -# -# When this file is read in, the strings are put into the -# defaults table. This is an implementation detail of the current -# workings of Swing. DO NOT DEPEND ON THIS. -# This may change in future versions of Swing as we improve localization -# support. -# -# Refer to the note in basic.properties for a description as to what -# the mnemonics correspond to and how to calculate them. -# -# @author Steve Wilson - - -############ FILE CHOOSER STRINGS ############# - -FileChooser.lookInLabel.textAndMnemonic=\u53C2\u7167(&I): -FileChooser.saveInLabel.textAndMnemonic=\u4FDD\u5B58: -FileChooser.fileNameLabel.textAndMnemonic=\u30D5\u30A1\u30A4\u30EB\u540D(&N): -FileChooser.folderNameLabel.textAndMnemonic=\u30D5\u30A9\u30EB\u30C0\u540D(&N): -FileChooser.filesOfTypeLabel.textAndMnemonic=\u30D5\u30A1\u30A4\u30EB\u306E\u30BF\u30A4\u30D7(&T): -FileChooser.upFolderToolTip.textAndMnemonic=1\u30EC\u30D9\u30EB\u4E0A\u3078 -FileChooser.upFolderAccessibleName=\u4E0A\u3078 -FileChooser.homeFolderToolTip.textAndMnemonic=\u30DB\u30FC\u30E0 -FileChooser.homeFolderAccessibleName=\u30DB\u30FC\u30E0 -FileChooser.newFolderToolTip.textAndMnemonic=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0\u306E\u4F5C\u6210 -FileChooser.newFolderAccessibleName=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0 -FileChooser.newFolderActionLabel.textAndMnemonic=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0 -FileChooser.listViewButtonToolTip.textAndMnemonic=\u30EA\u30B9\u30C8 -FileChooser.listViewButtonAccessibleName=\u30EA\u30B9\u30C8 -FileChooser.listViewActionLabel.textAndMnemonic=\u30EA\u30B9\u30C8 -FileChooser.detailsViewButtonToolTip.textAndMnemonic=\u8A73\u7D30 -FileChooser.detailsViewButtonAccessibleName=\u8A73\u7D30 -FileChooser.detailsViewActionLabel.textAndMnemonic=\u8A73\u7D30 -FileChooser.refreshActionLabel.textAndMnemonic=\u30EA\u30D5\u30EC\u30C3\u30B7\u30E5 -FileChooser.viewMenuLabel.textAndMnemonic=\u8868\u793A -FileChooser.fileNameHeader.textAndMnemonic=\u540D\u524D -FileChooser.fileSizeHeader.textAndMnemonic=\u30B5\u30A4\u30BA -FileChooser.fileTypeHeader.textAndMnemonic=\u30BF\u30A4\u30D7 -FileChooser.fileDateHeader.textAndMnemonic=\u4FEE\u6B63\u65E5 -FileChooser.fileAttrHeader.textAndMnemonic=\u5C5E\u6027 - -############ Used by MetalTitlePane if rendering window decorations############ -MetalTitlePane.restore.titleAndMnemonic=\u5FA9\u5143(&R) -MetalTitlePane.iconify.titleAndMnemonic=\u6700\u5C0F\u5316(&E) -MetalTitlePane.maximize.titleAndMnemonic=\u6700\u5927\u5316(&X) -MetalTitlePane.close.titleAndMnemonic=\u9589\u3058\u308B(&C) - +# This properties file is used to create a PropertyResourceBundle +# It contains Locale specific strings used be the Metal Look and Feel. +# Currently, the following components need this for support: +# +# FileChooser +# +# When this file is read in, the strings are put into the +# defaults table. This is an implementation detail of the current +# workings of Swing. DO NOT DEPEND ON THIS. +# This may change in future versions of Swing as we improve localization +# support. +# +# Refer to the note in basic.properties for a description as to what +# the mnemonics correspond to and how to calculate them. +# +# @author Steve Wilson + + +############ FILE CHOOSER STRINGS ############# + +FileChooser.lookInLabel.textAndMnemonic=\u53C2\u7167(&I): +FileChooser.saveInLabel.textAndMnemonic=\u4FDD\u5B58: +FileChooser.fileNameLabel.textAndMnemonic=\u30D5\u30A1\u30A4\u30EB\u540D(&N): +FileChooser.folderNameLabel.textAndMnemonic=\u30D5\u30A9\u30EB\u30C0\u540D(&N): +FileChooser.filesOfTypeLabel.textAndMnemonic=\u30D5\u30A1\u30A4\u30EB\u306E\u30BF\u30A4\u30D7(&T): +FileChooser.upFolderToolTip.textAndMnemonic=1\u30EC\u30D9\u30EB\u4E0A\u3078 +FileChooser.upFolderAccessibleName=\u4E0A\u3078 +FileChooser.homeFolderToolTip.textAndMnemonic=\u30DB\u30FC\u30E0 +FileChooser.homeFolderAccessibleName=\u30DB\u30FC\u30E0 +FileChooser.newFolderToolTip.textAndMnemonic=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0\u306E\u4F5C\u6210 +FileChooser.newFolderAccessibleName=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0 +FileChooser.newFolderActionLabel.textAndMnemonic=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0 +FileChooser.listViewButtonToolTip.textAndMnemonic=\u30EA\u30B9\u30C8 +FileChooser.listViewButtonAccessibleName=\u30EA\u30B9\u30C8 +FileChooser.listViewActionLabel.textAndMnemonic=\u30EA\u30B9\u30C8 +FileChooser.detailsViewButtonToolTip.textAndMnemonic=\u8A73\u7D30 +FileChooser.detailsViewButtonAccessibleName=\u8A73\u7D30 +FileChooser.detailsViewActionLabel.textAndMnemonic=\u8A73\u7D30 +FileChooser.refreshActionLabel.textAndMnemonic=\u30EA\u30D5\u30EC\u30C3\u30B7\u30E5 +FileChooser.viewMenuLabel.textAndMnemonic=\u8868\u793A +FileChooser.fileNameHeader.textAndMnemonic=\u540D\u524D +FileChooser.fileSizeHeader.textAndMnemonic=\u30B5\u30A4\u30BA +FileChooser.fileTypeHeader.textAndMnemonic=\u30BF\u30A4\u30D7 +FileChooser.fileDateHeader.textAndMnemonic=\u4FEE\u6B63\u65E5 +FileChooser.fileAttrHeader.textAndMnemonic=\u5C5E\u6027 +FileChooser.saveButton.textAndMnemonic=\u4FDD\u5B58 +FileChooser.openButton.textAndMnemonic=\u958B\u304F + +############ Used by MetalTitlePane if rendering window decorations############ +MetalTitlePane.restore.titleAndMnemonic=\u5FA9\u5143(&R) +MetalTitlePane.iconify.titleAndMnemonic=\u6700\u5C0F\u5316(&E) +MetalTitlePane.maximize.titleAndMnemonic=\u6700\u5927\u5316(&X) +MetalTitlePane.close.titleAndMnemonic=\u9589\u3058\u308B(&C) +
--- a/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ko.properties Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ko.properties Wed Jun 27 18:39:43 2012 -0700 @@ -1,52 +1,54 @@ -# This properties file is used to create a PropertyResourceBundle -# It contains Locale specific strings used be the Metal Look and Feel. -# Currently, the following components need this for support: -# -# FileChooser -# -# When this file is read in, the strings are put into the -# defaults table. This is an implementation detail of the current -# workings of Swing. DO NOT DEPEND ON THIS. -# This may change in future versions of Swing as we improve localization -# support. -# -# Refer to the note in basic.properties for a description as to what -# the mnemonics correspond to and how to calculate them. -# -# @author Steve Wilson - - -############ FILE CHOOSER STRINGS ############# - -FileChooser.lookInLabel.textAndMnemonic=\uAC80\uC0C9 \uC704\uCE58(&I): -FileChooser.saveInLabel.textAndMnemonic=\uC800\uC7A5 \uC704\uCE58: -FileChooser.fileNameLabel.textAndMnemonic=\uD30C\uC77C \uC774\uB984(&N): -FileChooser.folderNameLabel.textAndMnemonic=\uD3F4\uB354 \uC774\uB984(&N): -FileChooser.filesOfTypeLabel.textAndMnemonic=\uD30C\uC77C \uC720\uD615(&T): -FileChooser.upFolderToolTip.textAndMnemonic=\uD55C \uB808\uBCA8 \uC704\uB85C -FileChooser.upFolderAccessibleName=\uC704\uB85C -FileChooser.homeFolderToolTip.textAndMnemonic=\uD648 -FileChooser.homeFolderAccessibleName=\uD648 -FileChooser.newFolderToolTip.textAndMnemonic=\uC0C8 \uD3F4\uB354 \uC0DD\uC131 -FileChooser.newFolderAccessibleName=\uC0C8 \uD3F4\uB354 -FileChooser.newFolderActionLabel.textAndMnemonic=\uC0C8 \uD3F4\uB354 -FileChooser.listViewButtonToolTip.textAndMnemonic=\uBAA9\uB85D -FileChooser.listViewButtonAccessibleName=\uBAA9\uB85D -FileChooser.listViewActionLabel.textAndMnemonic=\uBAA9\uB85D -FileChooser.detailsViewButtonToolTip.textAndMnemonic=\uC138\uBD80 \uC815\uBCF4 -FileChooser.detailsViewButtonAccessibleName=\uC138\uBD80 \uC815\uBCF4 -FileChooser.detailsViewActionLabel.textAndMnemonic=\uC138\uBD80 \uC815\uBCF4 -FileChooser.refreshActionLabel.textAndMnemonic=\uC0C8\uB85C \uACE0\uCE68 -FileChooser.viewMenuLabel.textAndMnemonic=\uBCF4\uAE30 -FileChooser.fileNameHeader.textAndMnemonic=\uC774\uB984 -FileChooser.fileSizeHeader.textAndMnemonic=\uD06C\uAE30 -FileChooser.fileTypeHeader.textAndMnemonic=\uC720\uD615 -FileChooser.fileDateHeader.textAndMnemonic=\uC218\uC815 \uB0A0\uC9DC -FileChooser.fileAttrHeader.textAndMnemonic=\uC18D\uC131 - -############ Used by MetalTitlePane if rendering window decorations############ -MetalTitlePane.restore.titleAndMnemonic=\uBCF5\uC6D0(&R) -MetalTitlePane.iconify.titleAndMnemonic=\uCD5C\uC18C\uD654(&E) -MetalTitlePane.maximize.titleAndMnemonic=\uCD5C\uB300\uD654(&X) -MetalTitlePane.close.titleAndMnemonic=\uB2EB\uAE30(&C) - +# This properties file is used to create a PropertyResourceBundle +# It contains Locale specific strings used be the Metal Look and Feel. +# Currently, the following components need this for support: +# +# FileChooser +# +# When this file is read in, the strings are put into the +# defaults table. This is an implementation detail of the current +# workings of Swing. DO NOT DEPEND ON THIS. +# This may change in future versions of Swing as we improve localization +# support. +# +# Refer to the note in basic.properties for a description as to what +# the mnemonics correspond to and how to calculate them. +# +# @author Steve Wilson + + +############ FILE CHOOSER STRINGS ############# + +FileChooser.lookInLabel.textAndMnemonic=\uAC80\uC0C9 \uC704\uCE58(&I): +FileChooser.saveInLabel.textAndMnemonic=\uC800\uC7A5 \uC704\uCE58: +FileChooser.fileNameLabel.textAndMnemonic=\uD30C\uC77C \uC774\uB984(&N): +FileChooser.folderNameLabel.textAndMnemonic=\uD3F4\uB354 \uC774\uB984(&N): +FileChooser.filesOfTypeLabel.textAndMnemonic=\uD30C\uC77C \uC720\uD615(&T): +FileChooser.upFolderToolTip.textAndMnemonic=\uD55C \uB808\uBCA8 \uC704\uB85C +FileChooser.upFolderAccessibleName=\uC704\uB85C +FileChooser.homeFolderToolTip.textAndMnemonic=\uD648 +FileChooser.homeFolderAccessibleName=\uD648 +FileChooser.newFolderToolTip.textAndMnemonic=\uC0C8 \uD3F4\uB354 \uC0DD\uC131 +FileChooser.newFolderAccessibleName=\uC0C8 \uD3F4\uB354 +FileChooser.newFolderActionLabel.textAndMnemonic=\uC0C8 \uD3F4\uB354 +FileChooser.listViewButtonToolTip.textAndMnemonic=\uBAA9\uB85D +FileChooser.listViewButtonAccessibleName=\uBAA9\uB85D +FileChooser.listViewActionLabel.textAndMnemonic=\uBAA9\uB85D +FileChooser.detailsViewButtonToolTip.textAndMnemonic=\uC138\uBD80 \uC815\uBCF4 +FileChooser.detailsViewButtonAccessibleName=\uC138\uBD80 \uC815\uBCF4 +FileChooser.detailsViewActionLabel.textAndMnemonic=\uC138\uBD80 \uC815\uBCF4 +FileChooser.refreshActionLabel.textAndMnemonic=\uC0C8\uB85C \uACE0\uCE68 +FileChooser.viewMenuLabel.textAndMnemonic=\uBCF4\uAE30 +FileChooser.fileNameHeader.textAndMnemonic=\uC774\uB984 +FileChooser.fileSizeHeader.textAndMnemonic=\uD06C\uAE30 +FileChooser.fileTypeHeader.textAndMnemonic=\uC720\uD615 +FileChooser.fileDateHeader.textAndMnemonic=\uC218\uC815 \uB0A0\uC9DC +FileChooser.fileAttrHeader.textAndMnemonic=\uC18D\uC131 +FileChooser.saveButton.textAndMnemonic=\uC800\uC7A5 +FileChooser.openButton.textAndMnemonic=\uC5F4\uAE30 + +############ Used by MetalTitlePane if rendering window decorations############ +MetalTitlePane.restore.titleAndMnemonic=\uBCF5\uC6D0(&R) +MetalTitlePane.iconify.titleAndMnemonic=\uCD5C\uC18C\uD654(&E) +MetalTitlePane.maximize.titleAndMnemonic=\uCD5C\uB300\uD654(&X) +MetalTitlePane.close.titleAndMnemonic=\uB2EB\uAE30(&C) +
--- a/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_pt_BR.properties Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_pt_BR.properties Wed Jun 27 18:39:43 2012 -0700 @@ -1,52 +1,54 @@ -# This properties file is used to create a PropertyResourceBundle -# It contains Locale specific strings used be the Metal Look and Feel. -# Currently, the following components need this for support: -# -# FileChooser -# -# When this file is read in, the strings are put into the -# defaults table. This is an implementation detail of the current -# workings of Swing. DO NOT DEPEND ON THIS. -# This may change in future versions of Swing as we improve localization -# support. -# -# Refer to the note in basic.properties for a description as to what -# the mnemonics correspond to and how to calculate them. -# -# @author Steve Wilson - - -############ FILE CHOOSER STRINGS ############# - -FileChooser.lookInLabel.textAndMnemonic=Consultar Em(&I): -FileChooser.saveInLabel.textAndMnemonic=Salvar Em: -FileChooser.fileNameLabel.textAndMnemonic=&Nome do Arquivo: -FileChooser.folderNameLabel.textAndMnemonic=&Nome da pasta: -FileChooser.filesOfTypeLabel.textAndMnemonic=Arquivos do &Tipo: -FileChooser.upFolderToolTip.textAndMnemonic=Um N\u00EDvel Acima -FileChooser.upFolderAccessibleName=Acima -FileChooser.homeFolderToolTip.textAndMnemonic=In\u00EDcio -FileChooser.homeFolderAccessibleName=In\u00EDcio -FileChooser.newFolderToolTip.textAndMnemonic=Criar Nova Pasta -FileChooser.newFolderAccessibleName=Nova Pasta -FileChooser.newFolderActionLabel.textAndMnemonic=Nova Pasta -FileChooser.listViewButtonToolTip.textAndMnemonic=Lista -FileChooser.listViewButtonAccessibleName=Lista -FileChooser.listViewActionLabel.textAndMnemonic=Lista -FileChooser.detailsViewButtonToolTip.textAndMnemonic=Detalhes -FileChooser.detailsViewButtonAccessibleName=Detalhes -FileChooser.detailsViewActionLabel.textAndMnemonic=Detalhes -FileChooser.refreshActionLabel.textAndMnemonic=Atualizar -FileChooser.viewMenuLabel.textAndMnemonic=Exibir -FileChooser.fileNameHeader.textAndMnemonic=Nome -FileChooser.fileSizeHeader.textAndMnemonic=Tamanho -FileChooser.fileTypeHeader.textAndMnemonic=Tipo -FileChooser.fileDateHeader.textAndMnemonic=Modificado -FileChooser.fileAttrHeader.textAndMnemonic=Atributos - -############ Used by MetalTitlePane if rendering window decorations############ -MetalTitlePane.restore.titleAndMnemonic=&Restaurar -MetalTitlePane.iconify.titleAndMnemonic=&Minimizar -MetalTitlePane.maximize.titleAndMnemonic=Ma&ximizar -MetalTitlePane.close.titleAndMnemonic=&Fechar - +# This properties file is used to create a PropertyResourceBundle +# It contains Locale specific strings used be the Metal Look and Feel. +# Currently, the following components need this for support: +# +# FileChooser +# +# When this file is read in, the strings are put into the +# defaults table. This is an implementation detail of the current +# workings of Swing. DO NOT DEPEND ON THIS. +# This may change in future versions of Swing as we improve localization +# support. +# +# Refer to the note in basic.properties for a description as to what +# the mnemonics correspond to and how to calculate them. +# +# @author Steve Wilson + + +############ FILE CHOOSER STRINGS ############# + +FileChooser.lookInLabel.textAndMnemonic=Consultar Em(&I): +FileChooser.saveInLabel.textAndMnemonic=Salvar Em: +FileChooser.fileNameLabel.textAndMnemonic=&Nome do Arquivo: +FileChooser.folderNameLabel.textAndMnemonic=&Nome da pasta: +FileChooser.filesOfTypeLabel.textAndMnemonic=Arquivos do &Tipo: +FileChooser.upFolderToolTip.textAndMnemonic=Um N\u00EDvel Acima +FileChooser.upFolderAccessibleName=Acima +FileChooser.homeFolderToolTip.textAndMnemonic=In\u00EDcio +FileChooser.homeFolderAccessibleName=In\u00EDcio +FileChooser.newFolderToolTip.textAndMnemonic=Criar Nova Pasta +FileChooser.newFolderAccessibleName=Nova Pasta +FileChooser.newFolderActionLabel.textAndMnemonic=Nova Pasta +FileChooser.listViewButtonToolTip.textAndMnemonic=Lista +FileChooser.listViewButtonAccessibleName=Lista +FileChooser.listViewActionLabel.textAndMnemonic=Lista +FileChooser.detailsViewButtonToolTip.textAndMnemonic=Detalhes +FileChooser.detailsViewButtonAccessibleName=Detalhes +FileChooser.detailsViewActionLabel.textAndMnemonic=Detalhes +FileChooser.refreshActionLabel.textAndMnemonic=Atualizar +FileChooser.viewMenuLabel.textAndMnemonic=Exibir +FileChooser.fileNameHeader.textAndMnemonic=Nome +FileChooser.fileSizeHeader.textAndMnemonic=Tamanho +FileChooser.fileTypeHeader.textAndMnemonic=Tipo +FileChooser.fileDateHeader.textAndMnemonic=Modificado +FileChooser.fileAttrHeader.textAndMnemonic=Atributos +FileChooser.saveButton.textAndMnemonic=Salvar +FileChooser.openButton.textAndMnemonic=Abrir + +############ Used by MetalTitlePane if rendering window decorations############ +MetalTitlePane.restore.titleAndMnemonic=&Restaurar +MetalTitlePane.iconify.titleAndMnemonic=&Minimizar +MetalTitlePane.maximize.titleAndMnemonic=Ma&ximizar +MetalTitlePane.close.titleAndMnemonic=&Fechar +
--- a/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_sv.properties Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_sv.properties Wed Jun 27 18:39:43 2012 -0700 @@ -1,52 +1,54 @@ -# This properties file is used to create a PropertyResourceBundle -# It contains Locale specific strings used be the Metal Look and Feel. -# Currently, the following components need this for support: -# -# FileChooser -# -# When this file is read in, the strings are put into the -# defaults table. This is an implementation detail of the current -# workings of Swing. DO NOT DEPEND ON THIS. -# This may change in future versions of Swing as we improve localization -# support. -# -# Refer to the note in basic.properties for a description as to what -# the mnemonics correspond to and how to calculate them. -# -# @author Steve Wilson - - -############ FILE CHOOSER STRINGS ############# - -FileChooser.lookInLabel.textAndMnemonic=Leta &i: -FileChooser.saveInLabel.textAndMnemonic=Spara i: -FileChooser.fileNameLabel.textAndMnemonic=Fil&namn: -FileChooser.folderNameLabel.textAndMnemonic=Mapp(&N): -FileChooser.filesOfTypeLabel.textAndMnemonic=Filforma&t: -FileChooser.upFolderToolTip.textAndMnemonic=Upp en niv\u00E5 -FileChooser.upFolderAccessibleName=Upp -FileChooser.homeFolderToolTip.textAndMnemonic=Hem -FileChooser.homeFolderAccessibleName=Hem -FileChooser.newFolderToolTip.textAndMnemonic=Skapa ny mapp -FileChooser.newFolderAccessibleName=Ny mapp -FileChooser.newFolderActionLabel.textAndMnemonic=Ny mapp -FileChooser.listViewButtonToolTip.textAndMnemonic=Lista -FileChooser.listViewButtonAccessibleName=Lista -FileChooser.listViewActionLabel.textAndMnemonic=Lista -FileChooser.detailsViewButtonToolTip.textAndMnemonic=Detaljer -FileChooser.detailsViewButtonAccessibleName=Detaljer -FileChooser.detailsViewActionLabel.textAndMnemonic=Detaljer -FileChooser.refreshActionLabel.textAndMnemonic=F\u00F6rnya -FileChooser.viewMenuLabel.textAndMnemonic=Vy -FileChooser.fileNameHeader.textAndMnemonic=Namn -FileChooser.fileSizeHeader.textAndMnemonic=Storlek -FileChooser.fileTypeHeader.textAndMnemonic=Typ -FileChooser.fileDateHeader.textAndMnemonic=\u00C4ndrad -FileChooser.fileAttrHeader.textAndMnemonic=Attribut - -############ Used by MetalTitlePane if rendering window decorations############ -MetalTitlePane.restore.titleAndMnemonic=\u00C5terst\u00E4ll(&R) -MetalTitlePane.iconify.titleAndMnemonic=Minim&era -MetalTitlePane.maximize.titleAndMnemonic=Ma&ximera -MetalTitlePane.close.titleAndMnemonic=St\u00E4ng(&S) - +# This properties file is used to create a PropertyResourceBundle +# It contains Locale specific strings used be the Metal Look and Feel. +# Currently, the following components need this for support: +# +# FileChooser +# +# When this file is read in, the strings are put into the +# defaults table. This is an implementation detail of the current +# workings of Swing. DO NOT DEPEND ON THIS. +# This may change in future versions of Swing as we improve localization +# support. +# +# Refer to the note in basic.properties for a description as to what +# the mnemonics correspond to and how to calculate them. +# +# @author Steve Wilson + + +############ FILE CHOOSER STRINGS ############# + +FileChooser.lookInLabel.textAndMnemonic=Leta &i: +FileChooser.saveInLabel.textAndMnemonic=Spara i: +FileChooser.fileNameLabel.textAndMnemonic=Fil&namn: +FileChooser.folderNameLabel.textAndMnemonic=Mapp(&N): +FileChooser.filesOfTypeLabel.textAndMnemonic=Filforma&t: +FileChooser.upFolderToolTip.textAndMnemonic=Upp en niv\u00E5 +FileChooser.upFolderAccessibleName=Upp +FileChooser.homeFolderToolTip.textAndMnemonic=Hem +FileChooser.homeFolderAccessibleName=Hem +FileChooser.newFolderToolTip.textAndMnemonic=Skapa ny mapp +FileChooser.newFolderAccessibleName=Ny mapp +FileChooser.newFolderActionLabel.textAndMnemonic=Ny mapp +FileChooser.listViewButtonToolTip.textAndMnemonic=Lista +FileChooser.listViewButtonAccessibleName=Lista +FileChooser.listViewActionLabel.textAndMnemonic=Lista +FileChooser.detailsViewButtonToolTip.textAndMnemonic=Detaljer +FileChooser.detailsViewButtonAccessibleName=Detaljer +FileChooser.detailsViewActionLabel.textAndMnemonic=Detaljer +FileChooser.refreshActionLabel.textAndMnemonic=F\u00F6rnya +FileChooser.viewMenuLabel.textAndMnemonic=Vy +FileChooser.fileNameHeader.textAndMnemonic=Namn +FileChooser.fileSizeHeader.textAndMnemonic=Storlek +FileChooser.fileTypeHeader.textAndMnemonic=Typ +FileChooser.fileDateHeader.textAndMnemonic=\u00C4ndrad +FileChooser.fileAttrHeader.textAndMnemonic=Attribut +FileChooser.saveButton.textAndMnemonic=Spara +FileChooser.openButton.textAndMnemonic=\u00D6ppna + +############ Used by MetalTitlePane if rendering window decorations############ +MetalTitlePane.restore.titleAndMnemonic=\u00C5terst\u00E4ll(&R) +MetalTitlePane.iconify.titleAndMnemonic=Minim&era +MetalTitlePane.maximize.titleAndMnemonic=Ma&ximera +MetalTitlePane.close.titleAndMnemonic=St\u00E4ng(&S) +
--- a/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_CN.properties Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_CN.properties Wed Jun 27 18:39:43 2012 -0700 @@ -1,52 +1,54 @@ -# This properties file is used to create a PropertyResourceBundle -# It contains Locale specific strings used be the Metal Look and Feel. -# Currently, the following components need this for support: -# -# FileChooser -# -# When this file is read in, the strings are put into the -# defaults table. This is an implementation detail of the current -# workings of Swing. DO NOT DEPEND ON THIS. -# This may change in future versions of Swing as we improve localization -# support. -# -# Refer to the note in basic.properties for a description as to what -# the mnemonics correspond to and how to calculate them. -# -# @author Steve Wilson - - -############ FILE CHOOSER STRINGS ############# - -FileChooser.lookInLabel.textAndMnemonic=\u67E5\u770B(&I): -FileChooser.saveInLabel.textAndMnemonic=\u4FDD\u5B58: -FileChooser.fileNameLabel.textAndMnemonic=\u6587\u4EF6\u540D(&N): -FileChooser.folderNameLabel.textAndMnemonic=\u6587\u4EF6\u5939\u540D(&N): -FileChooser.filesOfTypeLabel.textAndMnemonic=\u6587\u4EF6\u7C7B\u578B(&T): -FileChooser.upFolderToolTip.textAndMnemonic=\u5411\u4E0A\u4E00\u7EA7 -FileChooser.upFolderAccessibleName=\u5411\u4E0A -FileChooser.homeFolderToolTip.textAndMnemonic=\u4E3B\u76EE\u5F55 -FileChooser.homeFolderAccessibleName=\u4E3B\u76EE\u5F55 -FileChooser.newFolderToolTip.textAndMnemonic=\u521B\u5EFA\u65B0\u6587\u4EF6\u5939 -FileChooser.newFolderAccessibleName=\u65B0\u5EFA\u6587\u4EF6\u5939 -FileChooser.newFolderActionLabel.textAndMnemonic=\u65B0\u5EFA\u6587\u4EF6\u5939 -FileChooser.listViewButtonToolTip.textAndMnemonic=\u5217\u8868 -FileChooser.listViewButtonAccessibleName=\u5217\u8868 -FileChooser.listViewActionLabel.textAndMnemonic=\u5217\u8868 -FileChooser.detailsViewButtonToolTip.textAndMnemonic=\u8BE6\u7EC6\u8D44\u6599 -FileChooser.detailsViewButtonAccessibleName=\u8BE6\u7EC6\u8D44\u6599 -FileChooser.detailsViewActionLabel.textAndMnemonic=\u8BE6\u7EC6\u8D44\u6599 -FileChooser.refreshActionLabel.textAndMnemonic=\u5237\u65B0 -FileChooser.viewMenuLabel.textAndMnemonic=\u89C6\u56FE -FileChooser.fileNameHeader.textAndMnemonic=\u540D\u79F0 -FileChooser.fileSizeHeader.textAndMnemonic=\u5927\u5C0F -FileChooser.fileTypeHeader.textAndMnemonic=\u7C7B\u578B -FileChooser.fileDateHeader.textAndMnemonic=\u4FEE\u6539\u65E5\u671F -FileChooser.fileAttrHeader.textAndMnemonic=\u5C5E\u6027 - -############ Used by MetalTitlePane if rendering window decorations############ -MetalTitlePane.restore.titleAndMnemonic=\u8FD8\u539F(&R) -MetalTitlePane.iconify.titleAndMnemonic=\u6700\u5C0F\u5316(&E) -MetalTitlePane.maximize.titleAndMnemonic=\u6700\u5927\u5316(&X) -MetalTitlePane.close.titleAndMnemonic=\u5173\u95ED(&C) - +# This properties file is used to create a PropertyResourceBundle +# It contains Locale specific strings used be the Metal Look and Feel. +# Currently, the following components need this for support: +# +# FileChooser +# +# When this file is read in, the strings are put into the +# defaults table. This is an implementation detail of the current +# workings of Swing. DO NOT DEPEND ON THIS. +# This may change in future versions of Swing as we improve localization +# support. +# +# Refer to the note in basic.properties for a description as to what +# the mnemonics correspond to and how to calculate them. +# +# @author Steve Wilson + + +############ FILE CHOOSER STRINGS ############# + +FileChooser.lookInLabel.textAndMnemonic=\u67E5\u770B(&I): +FileChooser.saveInLabel.textAndMnemonic=\u4FDD\u5B58: +FileChooser.fileNameLabel.textAndMnemonic=\u6587\u4EF6\u540D(&N): +FileChooser.folderNameLabel.textAndMnemonic=\u6587\u4EF6\u5939\u540D(&N): +FileChooser.filesOfTypeLabel.textAndMnemonic=\u6587\u4EF6\u7C7B\u578B(&T): +FileChooser.upFolderToolTip.textAndMnemonic=\u5411\u4E0A\u4E00\u7EA7 +FileChooser.upFolderAccessibleName=\u5411\u4E0A +FileChooser.homeFolderToolTip.textAndMnemonic=\u4E3B\u76EE\u5F55 +FileChooser.homeFolderAccessibleName=\u4E3B\u76EE\u5F55 +FileChooser.newFolderToolTip.textAndMnemonic=\u521B\u5EFA\u65B0\u6587\u4EF6\u5939 +FileChooser.newFolderAccessibleName=\u65B0\u5EFA\u6587\u4EF6\u5939 +FileChooser.newFolderActionLabel.textAndMnemonic=\u65B0\u5EFA\u6587\u4EF6\u5939 +FileChooser.listViewButtonToolTip.textAndMnemonic=\u5217\u8868 +FileChooser.listViewButtonAccessibleName=\u5217\u8868 +FileChooser.listViewActionLabel.textAndMnemonic=\u5217\u8868 +FileChooser.detailsViewButtonToolTip.textAndMnemonic=\u8BE6\u7EC6\u8D44\u6599 +FileChooser.detailsViewButtonAccessibleName=\u8BE6\u7EC6\u8D44\u6599 +FileChooser.detailsViewActionLabel.textAndMnemonic=\u8BE6\u7EC6\u8D44\u6599 +FileChooser.refreshActionLabel.textAndMnemonic=\u5237\u65B0 +FileChooser.viewMenuLabel.textAndMnemonic=\u89C6\u56FE +FileChooser.fileNameHeader.textAndMnemonic=\u540D\u79F0 +FileChooser.fileSizeHeader.textAndMnemonic=\u5927\u5C0F +FileChooser.fileTypeHeader.textAndMnemonic=\u7C7B\u578B +FileChooser.fileDateHeader.textAndMnemonic=\u4FEE\u6539\u65E5\u671F +FileChooser.fileAttrHeader.textAndMnemonic=\u5C5E\u6027 +FileChooser.saveButton.textAndMnemonic=\u4FDD\u5B58 +FileChooser.openButton.textAndMnemonic=\u6253\u5F00 + +############ Used by MetalTitlePane if rendering window decorations############ +MetalTitlePane.restore.titleAndMnemonic=\u8FD8\u539F(&R) +MetalTitlePane.iconify.titleAndMnemonic=\u6700\u5C0F\u5316(&E) +MetalTitlePane.maximize.titleAndMnemonic=\u6700\u5927\u5316(&X) +MetalTitlePane.close.titleAndMnemonic=\u5173\u95ED(&C) +
--- a/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_TW.properties Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_TW.properties Wed Jun 27 18:39:43 2012 -0700 @@ -1,52 +1,54 @@ -# This properties file is used to create a PropertyResourceBundle -# It contains Locale specific strings used be the Metal Look and Feel. -# Currently, the following components need this for support: -# -# FileChooser -# -# When this file is read in, the strings are put into the -# defaults table. This is an implementation detail of the current -# workings of Swing. DO NOT DEPEND ON THIS. -# This may change in future versions of Swing as we improve localization -# support. -# -# Refer to the note in basic.properties for a description as to what -# the mnemonics correspond to and how to calculate them. -# -# @author Steve Wilson - - -############ FILE CHOOSER STRINGS ############# - -FileChooser.lookInLabel.textAndMnemonic=\u67E5\u8A62(&I): -FileChooser.saveInLabel.textAndMnemonic=\u5132\u5B58\u65BC: -FileChooser.fileNameLabel.textAndMnemonic=\u6A94\u6848\u540D\u7A31(&N): -FileChooser.folderNameLabel.textAndMnemonic=\u8CC7\u6599\u593E\u540D\u7A31(&N): -FileChooser.filesOfTypeLabel.textAndMnemonic=\u6A94\u6848\u985E\u578B(&T): -FileChooser.upFolderToolTip.textAndMnemonic=\u5F80\u4E0A\u4E00\u5C64 -FileChooser.upFolderAccessibleName=\u5F80\u4E0A -FileChooser.homeFolderToolTip.textAndMnemonic=\u4E3B\u76EE\u9304 -FileChooser.homeFolderAccessibleName=\u4E3B\u76EE\u9304 -FileChooser.newFolderToolTip.textAndMnemonic=\u5EFA\u7ACB\u65B0\u8CC7\u6599\u593E -FileChooser.newFolderAccessibleName=\u65B0\u8CC7\u6599\u593E -FileChooser.newFolderActionLabel.textAndMnemonic=\u65B0\u8CC7\u6599\u593E -FileChooser.listViewButtonToolTip.textAndMnemonic=\u6E05\u55AE -FileChooser.listViewButtonAccessibleName=\u6E05\u55AE -FileChooser.listViewActionLabel.textAndMnemonic=\u6E05\u55AE -FileChooser.detailsViewButtonToolTip.textAndMnemonic=\u8A73\u7D30\u8CC7\u8A0A -FileChooser.detailsViewButtonAccessibleName=\u8A73\u7D30\u8CC7\u8A0A -FileChooser.detailsViewActionLabel.textAndMnemonic=\u8A73\u7D30\u8CC7\u8A0A -FileChooser.refreshActionLabel.textAndMnemonic=\u91CD\u65B0\u6574\u7406 -FileChooser.viewMenuLabel.textAndMnemonic=\u6AA2\u8996 -FileChooser.fileNameHeader.textAndMnemonic=\u540D\u7A31 -FileChooser.fileSizeHeader.textAndMnemonic=\u5927\u5C0F -FileChooser.fileTypeHeader.textAndMnemonic=\u985E\u578B -FileChooser.fileDateHeader.textAndMnemonic=\u4FEE\u6539\u65E5\u671F -FileChooser.fileAttrHeader.textAndMnemonic=\u5C6C\u6027 - -############ Used by MetalTitlePane if rendering window decorations############ -MetalTitlePane.restore.titleAndMnemonic=\u56DE\u5FA9(&R) -MetalTitlePane.iconify.titleAndMnemonic=\u6700\u5C0F\u5316(&E) -MetalTitlePane.maximize.titleAndMnemonic=\u6700\u5927\u5316(&X) -MetalTitlePane.close.titleAndMnemonic=\u95DC\u9589(&C) - +# This properties file is used to create a PropertyResourceBundle +# It contains Locale specific strings used be the Metal Look and Feel. +# Currently, the following components need this for support: +# +# FileChooser +# +# When this file is read in, the strings are put into the +# defaults table. This is an implementation detail of the current +# workings of Swing. DO NOT DEPEND ON THIS. +# This may change in future versions of Swing as we improve localization +# support. +# +# Refer to the note in basic.properties for a description as to what +# the mnemonics correspond to and how to calculate them. +# +# @author Steve Wilson + + +############ FILE CHOOSER STRINGS ############# + +FileChooser.lookInLabel.textAndMnemonic=\u67E5\u8A62(&I): +FileChooser.saveInLabel.textAndMnemonic=\u5132\u5B58\u65BC: +FileChooser.fileNameLabel.textAndMnemonic=\u6A94\u6848\u540D\u7A31(&N): +FileChooser.folderNameLabel.textAndMnemonic=\u8CC7\u6599\u593E\u540D\u7A31(&N): +FileChooser.filesOfTypeLabel.textAndMnemonic=\u6A94\u6848\u985E\u578B(&T): +FileChooser.upFolderToolTip.textAndMnemonic=\u5F80\u4E0A\u4E00\u5C64 +FileChooser.upFolderAccessibleName=\u5F80\u4E0A +FileChooser.homeFolderToolTip.textAndMnemonic=\u4E3B\u76EE\u9304 +FileChooser.homeFolderAccessibleName=\u4E3B\u76EE\u9304 +FileChooser.newFolderToolTip.textAndMnemonic=\u5EFA\u7ACB\u65B0\u8CC7\u6599\u593E +FileChooser.newFolderAccessibleName=\u65B0\u8CC7\u6599\u593E +FileChooser.newFolderActionLabel.textAndMnemonic=\u65B0\u8CC7\u6599\u593E +FileChooser.listViewButtonToolTip.textAndMnemonic=\u6E05\u55AE +FileChooser.listViewButtonAccessibleName=\u6E05\u55AE +FileChooser.listViewActionLabel.textAndMnemonic=\u6E05\u55AE +FileChooser.detailsViewButtonToolTip.textAndMnemonic=\u8A73\u7D30\u8CC7\u8A0A +FileChooser.detailsViewButtonAccessibleName=\u8A73\u7D30\u8CC7\u8A0A +FileChooser.detailsViewActionLabel.textAndMnemonic=\u8A73\u7D30\u8CC7\u8A0A +FileChooser.refreshActionLabel.textAndMnemonic=\u91CD\u65B0\u6574\u7406 +FileChooser.viewMenuLabel.textAndMnemonic=\u6AA2\u8996 +FileChooser.fileNameHeader.textAndMnemonic=\u540D\u7A31 +FileChooser.fileSizeHeader.textAndMnemonic=\u5927\u5C0F +FileChooser.fileTypeHeader.textAndMnemonic=\u985E\u578B +FileChooser.fileDateHeader.textAndMnemonic=\u4FEE\u6539\u65E5\u671F +FileChooser.fileAttrHeader.textAndMnemonic=\u5C6C\u6027 +FileChooser.saveButton.textAndMnemonic=\u5132\u5B58 +FileChooser.openButton.textAndMnemonic=\u958B\u555F + +############ Used by MetalTitlePane if rendering window decorations############ +MetalTitlePane.restore.titleAndMnemonic=\u56DE\u5FA9(&R) +MetalTitlePane.iconify.titleAndMnemonic=\u6700\u5C0F\u5316(&E) +MetalTitlePane.maximize.titleAndMnemonic=\u6700\u5927\u5316(&X) +MetalTitlePane.close.titleAndMnemonic=\u95DC\u9589(&C) +
--- a/src/share/classes/java/awt/Font.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/java/awt/Font.java Wed Jun 27 18:39:43 2012 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -36,6 +36,7 @@ import java.awt.peer.FontPeer; import java.io.*; import java.lang.ref.SoftReference; +import java.nio.file.Files; import java.security.AccessController; import java.security.PrivilegedExceptionAction; import java.text.AttributedCharacterIterator.Attribute; @@ -831,7 +832,7 @@ File f = null; boolean hasPerm = false; try { - f = File.createTempFile("+~JT", ".tmp", null); + f = Files.createTempFile("+~JT", ".tmp").toFile(); f.delete(); f = null; hasPerm = true; @@ -881,7 +882,7 @@ final File tFile = AccessController.doPrivileged( new PrivilegedExceptionAction<File>() { public File run() throws IOException { - return File.createTempFile("+~JF", ".tmp", null); + return Files.createTempFile("+~JF", ".tmp").toFile(); } } );
--- a/src/share/classes/java/io/SerialCallbackContext.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/java/io/SerialCallbackContext.java Wed Jun 27 18:39:43 2012 -0700 @@ -1,54 +1,74 @@ - /* - * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. - * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. - */ - - package java.io; +/* + * Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ - /** - * Context during upcalls from object stream to class-defined - * readObject/writeObject methods. - * Holds object currently being deserialized and descriptor for current class. - * - * This context keeps track of the thread it was constructed on, and allows - * only a single call of defaultReadObject, readFields, defaultWriteObject - * or writeFields which must be invoked on the same thread before the class's - * readObject/writeObject method has returned. - * If not set to the current thread, the getObj method throws NotActiveException. - */ - final class SerialCallbackContext { - private final Object obj; - private final ObjectStreamClass desc; - /** - * Thread this context is in use by. - * As this only works in one thread, we do not need to worry about thread-safety. - */ - private Thread thread; +package java.io; - public SerialCallbackContext(Object obj, ObjectStreamClass desc) { - this.obj = obj; - this.desc = desc; - this.thread = Thread.currentThread(); - } - - public Object getObj() throws NotActiveException { - checkAndSetUsed(); - return obj; - } +/** + * Context during upcalls from object stream to class-defined + * readObject/writeObject methods. + * Holds object currently being deserialized and descriptor for current class. + * + * This context keeps track of the thread it was constructed on, and allows + * only a single call of defaultReadObject, readFields, defaultWriteObject + * or writeFields which must be invoked on the same thread before the class's + * readObject/writeObject method has returned. + * If not set to the current thread, the getObj method throws NotActiveException. + */ +final class SerialCallbackContext { + private final Object obj; + private final ObjectStreamClass desc; + /** + * Thread this context is in use by. + * As this only works in one thread, we do not need to worry about thread-safety. + */ + private Thread thread; - public ObjectStreamClass getDesc() { - return desc; - } + public SerialCallbackContext(Object obj, ObjectStreamClass desc) { + this.obj = obj; + this.desc = desc; + this.thread = Thread.currentThread(); + } + + public Object getObj() throws NotActiveException { + checkAndSetUsed(); + return obj; + } - private void checkAndSetUsed() throws NotActiveException { - if (thread != Thread.currentThread()) { - throw new NotActiveException( - "not in readObject invocation or fields already read"); - } - thread = null; - } + public ObjectStreamClass getDesc() { + return desc; + } - public void setUsed() { - thread = null; - } - } + private void checkAndSetUsed() throws NotActiveException { + if (thread != Thread.currentThread()) { + throw new NotActiveException( + "not in readObject invocation or fields already read"); + } + thread = null; + } + + public void setUsed() { + thread = null; + } +}
--- a/src/share/classes/java/lang/invoke/MethodHandles.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/java/lang/invoke/MethodHandles.java Wed Jun 27 18:39:43 2012 -0700 @@ -407,7 +407,7 @@ * an access$N method. */ Lookup() { - this(getCallerClassAtEntryPoint(), ALL_MODES); + this(getCallerClassAtEntryPoint(false), ALL_MODES); // make sure we haven't accidentally picked up a privileged class: checkUnprivilegedlookupClass(lookupClass); } @@ -461,8 +461,8 @@ && !VerifyAccess.isSamePackageMember(this.lookupClass, requestedLookupClass)) { newModes &= ~PRIVATE; } - if (newModes == PUBLIC - && !VerifyAccess.isClassAccessible(requestedLookupClass, this.lookupClass)) { + if ((newModes & PUBLIC) != 0 + && !VerifyAccess.isClassAccessible(requestedLookupClass, this.lookupClass, allowedModes)) { // The requested class it not accessible from the lookup class. // No permissions. newModes = 0; @@ -540,13 +540,17 @@ } } - // call this from an entry point method in Lookup with extraFrames=0. - private static Class<?> getCallerClassAtEntryPoint() { + /* Obtain the external caller class, when called from Lookup.<init> or a first-level subroutine. */ + private static Class<?> getCallerClassAtEntryPoint(boolean inSubroutine) { final int CALLER_DEPTH = 4; + // Stack for the constructor entry point (inSubroutine=false): // 0: Reflection.getCC, 1: getCallerClassAtEntryPoint, // 2: Lookup.<init>, 3: MethodHandles.*, 4: caller + // The stack is slightly different for a subroutine of a Lookup.find* method: + // 2: Lookup.*, 3: Lookup.find*.*, 4: caller // Note: This should be the only use of getCallerClass in this file. - assert(Reflection.getCallerClass(CALLER_DEPTH-1) == MethodHandles.class); + assert(Reflection.getCallerClass(CALLER_DEPTH-2) == Lookup.class); + assert(Reflection.getCallerClass(CALLER_DEPTH-1) == (inSubroutine ? Lookup.class : MethodHandles.class)); return Reflection.getCallerClass(CALLER_DEPTH); } @@ -1087,7 +1091,7 @@ void checkSymbolicClass(Class<?> refc) throws IllegalAccessException { Class<?> caller = lookupClassOrNull(); - if (caller != null && !VerifyAccess.isClassAccessible(refc, caller)) + if (caller != null && !VerifyAccess.isClassAccessible(refc, caller, allowedModes)) throw new MemberName(refc).makeAccessException("symbolic reference class is not public", this); } @@ -1102,7 +1106,13 @@ // Step 1: smgr.checkMemberAccess(refc, Member.PUBLIC); // Step 2: - if (!VerifyAccess.classLoaderIsAncestor(lookupClass, refc)) + Class<?> callerClass = ((allowedModes & PRIVATE) != 0 + ? lookupClass // for strong access modes, no extra check + // next line does stack walk magic; do not refactor: + : getCallerClassAtEntryPoint(true)); + if (!VerifyAccess.classLoaderIsAncestor(lookupClass, refc) || + (callerClass != lookupClass && + !VerifyAccess.classLoaderIsAncestor(callerClass, refc))) smgr.checkPackageAccess(VerifyAccess.getPackageName(refc)); // Step 3: if (m.isPublic()) return; @@ -1153,9 +1163,10 @@ int requestedModes = fixmods(mods); // adjust 0 => PACKAGE if ((requestedModes & allowedModes) != 0 && VerifyAccess.isMemberAccessible(refc, m.getDeclaringClass(), - mods, lookupClass())) + mods, lookupClass(), allowedModes)) return; if (((requestedModes & ~allowedModes) & PROTECTED) != 0 + && (allowedModes & PACKAGE) != 0 && VerifyAccess.isSamePackage(m.getDeclaringClass(), lookupClass())) // Protected members can also be checked as if they were package-private. return; @@ -1170,9 +1181,9 @@ (defc == refc || Modifier.isPublic(refc.getModifiers()))); if (!classOK && (allowedModes & PACKAGE) != 0) { - classOK = (VerifyAccess.isClassAccessible(defc, lookupClass()) && + classOK = (VerifyAccess.isClassAccessible(defc, lookupClass(), ALL_MODES) && (defc == refc || - VerifyAccess.isClassAccessible(refc, lookupClass()))); + VerifyAccess.isClassAccessible(refc, lookupClass(), ALL_MODES))); } if (!classOK) return "class is not public";
--- a/src/share/classes/java/util/HashMap.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/java/util/HashMap.java Wed Jun 27 18:39:43 2012 -0700 @@ -288,12 +288,11 @@ * in lower bits. */ final int hash(Object k) { - int h = hashSeed; if (k instanceof String) { - return ((String)k).hash32(); + return ((String) k).hash32(); } - h ^= k.hashCode(); + int h = hashSeed ^ k.hashCode(); // This function ensures that hashCodes that differ only by // constant multiples at each bit position have a bounded
--- a/src/share/classes/java/util/Hashtable.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/java/util/Hashtable.java Wed Jun 27 18:39:43 2012 -0700 @@ -194,19 +194,17 @@ transient final int hashSeed = sun.misc.Hashing.randomHashSeed(this); private int hash(Object k) { - int h = hashSeed; - if (k instanceof String) { return ((String)k).hash32(); - } else { - h ^= k.hashCode(); + } + + int h = hashSeed ^ k.hashCode(); - // This function ensures that hashCodes that differ only by - // constant multiples at each bit position have a bounded - // number of collisions (approximately 8 at default load factor). - h ^= (h >>> 20) ^ (h >>> 12); - return h ^ (h >>> 7) ^ (h >>> 4); - } + // This function ensures that hashCodes that differ only by + // constant multiples at each bit position have a bounded + // number of collisions (approximately 8 at default load factor). + h ^= (h >>> 20) ^ (h >>> 12); + return h ^ (h >>> 7) ^ (h >>> 4); } /** @@ -1015,7 +1013,7 @@ */ private static class Entry<K,V> implements Map.Entry<K,V> { final int hash; - K key; + final K key; V value; Entry<K,V> next;
--- a/src/share/classes/java/util/ResourceBundle.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/java/util/ResourceBundle.java Wed Jun 27 18:39:43 2012 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -55,6 +55,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.jar.JarEntry; +import java.util.spi.ResourceBundleControlProvider; import sun.util.locale.BaseLocale; import sun.util.locale.LocaleObjectCache; @@ -192,6 +193,17 @@ * {@link #getBundle(String, Locale, ClassLoader, Control) getBundle} * factory method for details. * + * <p><a name="modify_default_behavior">For the {@code getBundle} factory + * methods that take no {@link Control} instance, their <a + * href="#default_behavior"> default behavior</a> of resource bundle loading + * can be modified with <em>installed</em> {@link + * ResourceBundleControlProvider} implementations. Any installed providers are + * detected at the {@code ResourceBundle} class loading time. If any of the + * providers provides a {@link Control} for the given base name, that {@link + * Control} will be used instead of the default {@link Control}. If there is + * more than one service provider installed for supporting the same base name, + * the first one returned from {@link ServiceLoader} will be used. + * * <h4>Cache Management</h4> * * Resource bundle instances created by the <code>getBundle</code> factory @@ -294,8 +306,7 @@ /** * Queue for reference objects referring to class loaders or bundles. */ - private static final ReferenceQueue<Object> referenceQueue = - new ReferenceQueue<>(); + private static final ReferenceQueue<Object> referenceQueue = new ReferenceQueue<>(); /** * The parent bundle of this bundle. @@ -330,6 +341,21 @@ */ private volatile Set<String> keySet; + private static final List<ResourceBundleControlProvider> providers; + + static { + List<ResourceBundleControlProvider> list = null; + ServiceLoader<ResourceBundleControlProvider> serviceLoaders + = ServiceLoader.loadInstalled(ResourceBundleControlProvider.class); + for (ResourceBundleControlProvider provider : serviceLoaders) { + if (list == null) { + list = new ArrayList<>(); + } + list.add(provider); + } + providers = list; + } + /** * Sole constructor. (For invocation by subclass constructors, typically * implicit.) @@ -725,7 +751,7 @@ return getBundleImpl(baseName, Locale.getDefault(), /* must determine loader here, else we break stack invariant */ getLoader(), - Control.INSTANCE); + getDefaultControl(baseName)); } /** @@ -797,7 +823,7 @@ return getBundleImpl(baseName, locale, /* must determine loader here, else we break stack invariant */ getLoader(), - Control.INSTANCE); + getDefaultControl(baseName)); } /** @@ -849,9 +875,15 @@ * Gets a resource bundle using the specified base name, locale, and class * loader. * - * <p><a name="default_behavior"/>This method behaves the same as calling + * <p>This method behaves the same as calling * {@link #getBundle(String, Locale, ClassLoader, Control)} passing a - * default instance of {@link Control}. The following describes this behavior. + * default instance of {@link Control} unless another {@link Control} is + * provided with the {@link ResourceBundleControlProvider} SPI. Refer to the + * description of <a href="#modify_default_behavior">modifying the default + * behavior</a>. + * + * <p><a name="default_behavior"/>The following describes the default + * behavior. * * <p><code>getBundle</code> uses the base name, the specified locale, and * the default locale (obtained from {@link java.util.Locale#getDefault() @@ -1026,7 +1058,7 @@ if (loader == null) { throw new NullPointerException(); } - return getBundleImpl(baseName, locale, loader, Control.INSTANCE); + return getBundleImpl(baseName, locale, loader, getDefaultControl(baseName)); } /** @@ -1247,6 +1279,18 @@ return getBundleImpl(baseName, targetLocale, loader, control); } + private static Control getDefaultControl(String baseName) { + if (providers != null) { + for (ResourceBundleControlProvider provider : providers) { + Control control = provider.getControl(baseName); + if (control != null) { + return control; + } + } + } + return Control.INSTANCE; + } + private static ResourceBundle getBundleImpl(String baseName, Locale locale, ClassLoader loader, Control control) { if (locale == null || control == null) {
--- a/src/share/classes/java/util/WeakHashMap.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/java/util/WeakHashMap.java Wed Jun 27 18:39:43 2012 -0700 @@ -295,13 +295,11 @@ * otherwise encounter collisions for hashCodes that do not differ * in lower bits. */ - int hash(Object k) { - int h = hashSeed; + final int hash(Object k) { if (k instanceof String) { return ((String) k).hash32(); - } else { - h ^= k.hashCode(); } + int h = hashSeed ^ k.hashCode(); // This function ensures that hashCodes that differ only by // constant multiples at each bit position have a bounded
--- a/src/share/classes/java/util/concurrent/ConcurrentHashMap.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/java/util/concurrent/ConcurrentHashMap.java Wed Jun 27 18:39:43 2012 -0700 @@ -269,13 +269,11 @@ * differ in lower or upper bits. */ private int hash(Object k) { - int h = hashSeed; - if (k instanceof String) { return ((String) k).hash32(); } - h ^= k.hashCode(); + int h = hashSeed ^ k.hashCode(); // Spread bits to regularize both segment and index locations, // using variant of single-word Wang/Jenkins hash.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/share/classes/java/util/spi/ResourceBundleControlProvider.java Wed Jun 27 18:39:43 2012 -0700 @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package java.util.spi; + +import java.util.ResourceBundle; + +/** + * An interface for service providers that provide implementations of {@link + * java.util.ResourceBundle.Control}. The <a + * href="../ResourceBundle.html#default_behavior">default resource bundle loading + * behavior</a> of the {@code ResourceBundle.getBundle} factory methods that take + * no {@link java.util.ResourceBundle.Control} instance can be modified with {@code + * ResourceBundleControlProvider} implementations. + * + * <p>Provider implementations must be packaged using the <a + * href="../../../../technotes/guides/extensions/index.html">Java Extension + * Mechanism</a> as installed extensions. Refer to {@link java.util.ServiceLoader} + * for the extension packaging. Any installed {@code + * ResourceBundleControlProvider} implementations are loaded using {@link + * java.util.ServiceLoader} at the {@code ResourceBundle} class loading time. + * + * @author Masayoshi Okutsu + * @since 1.8 + * @see ResourceBundle#getBundle(String, java.util.Locale, ClassLoader, ResourceBundle.Control) + * ResourceBundle.getBundle + * @see java.util.ServiceLoader#loadInstalled(Class) + */ +public interface ResourceBundleControlProvider { + /** + * Returns a {@code ResourceBundle.Control} instance that is used + * to handle resource bundle loading for the given {@code + * baseName}. This method must return {@code null} if the given + * {@code baseName} isn't handled by this provider. + * + * @param baseName the base name of the resource bundle + * @return a {@code ResourceBundle.Control} instance, + * or {@code null} if the given {@code baseName} is not + * applicable to this provider. + * @throws NullPointerException if {@code baseName} is {@code null} + */ + public ResourceBundle.Control getControl(String baseName); +}
--- a/src/share/classes/javax/imageio/stream/FileCacheImageInputStream.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/javax/imageio/stream/FileCacheImageInputStream.java Wed Jun 27 18:39:43 2012 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2007, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -29,6 +29,7 @@ import java.io.InputStream; import java.io.IOException; import java.io.RandomAccessFile; +import java.nio.file.Files; import com.sun.imageio.stream.StreamCloser; import com.sun.imageio.stream.StreamFinalizer; import sun.java2d.Disposer; @@ -97,8 +98,11 @@ throw new IllegalArgumentException("Not a directory!"); } this.stream = stream; - this.cacheFile = - File.createTempFile("imageio", ".tmp", cacheDir); + if (cacheDir == null) + this.cacheFile = Files.createTempFile("imageio", ".tmp").toFile(); + else + this.cacheFile = Files.createTempFile(cacheDir.toPath(), "imageio", ".tmp") + .toFile(); this.cache = new RandomAccessFile(cacheFile, "rw"); this.closeAction = StreamCloser.createCloseAction(this);
--- a/src/share/classes/javax/imageio/stream/FileCacheImageOutputStream.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/javax/imageio/stream/FileCacheImageOutputStream.java Wed Jun 27 18:39:43 2012 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2007, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -29,6 +29,7 @@ import java.io.IOException; import java.io.OutputStream; import java.io.RandomAccessFile; +import java.nio.file.Files; import com.sun.imageio.stream.StreamCloser; /** @@ -83,8 +84,11 @@ throw new IllegalArgumentException("Not a directory!"); } this.stream = stream; - this.cacheFile = - File.createTempFile("imageio", ".tmp", cacheDir); + if (cacheDir == null) + this.cacheFile = Files.createTempFile("imageio", ".tmp").toFile(); + else + this.cacheFile = Files.createTempFile(cacheDir.toPath(), "imageio", ".tmp") + .toFile(); this.cache = new RandomAccessFile(cacheFile, "rw"); this.closeAction = StreamCloser.createCloseAction(this);
--- a/src/share/classes/javax/management/loading/MLet.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/javax/management/loading/MLet.java Wed Jun 27 18:39:43 2012 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -44,6 +44,7 @@ import java.net.MalformedURLException; import java.net.URL; import java.net.URLStreamHandlerFactory; +import java.nio.file.Files; import java.security.AccessController; import java.security.PrivilegedAction; import java.util.ArrayList; @@ -1160,8 +1161,9 @@ try { File directory = new File(libraryDirectory); directory.mkdirs(); - File file = File.createTempFile(libname + ".", null, - directory); + File file = Files.createTempFile(directory.toPath(), + libname + ".", null) + .toFile(); file.deleteOnExit(); FileOutputStream fileOutput = new FileOutputStream(file); try {
--- a/src/share/classes/javax/swing/plaf/synth/SynthButtonUI.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/javax/swing/plaf/synth/SynthButtonUI.java Wed Jun 27 18:39:43 2012 -0700 @@ -152,8 +152,8 @@ if (!c.isEnabled()) { state = DISABLED; } - if (SynthLookAndFeel.selectedUI == this) { - return SynthLookAndFeel.selectedUIState | SynthConstants.ENABLED; + if (SynthLookAndFeel.getSelectedUI() == this) { + return SynthLookAndFeel.getSelectedUIState() | SynthConstants.ENABLED; } AbstractButton button = (AbstractButton) c; ButtonModel model = button.getModel();
--- a/src/share/classes/javax/swing/plaf/synth/SynthLabelUI.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/javax/swing/plaf/synth/SynthLabelUI.java Wed Jun 27 18:39:43 2012 -0700 @@ -97,9 +97,9 @@ private int getComponentState(JComponent c) { int state = SynthLookAndFeel.getComponentState(c); - if (SynthLookAndFeel.selectedUI == this && + if (SynthLookAndFeel.getSelectedUI() == this && state == SynthConstants.ENABLED) { - state = SynthLookAndFeel.selectedUIState | SynthConstants.ENABLED; + state = SynthLookAndFeel.getSelectedUIState() | SynthConstants.ENABLED; } return state; }
--- a/src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java Wed Jun 27 18:39:43 2012 -0700 @@ -77,27 +77,25 @@ new StringBuffer("com.sun.java.swing.plaf.gtk.StyleCache"); /** + * AppContext key to get selectedUI. + */ + private static final Object SELECTED_UI_KEY = new StringBuilder("selectedUI"); + + /** + * AppContext key to get selectedUIState. + */ + private static final Object SELECTED_UI_STATE_KEY = new StringBuilder("selectedUIState"); + + /** * The last SynthStyleFactory that was asked for from AppContext * <code>lastContext</code>. */ private static SynthStyleFactory lastFactory; /** - * If this is true it indicates there is more than one AppContext active - * and that we need to make sure in getStyleCache the requesting - * AppContext matches that of <code>lastContext</code> before returning - * it. - */ - private static boolean multipleApps; - /** * AppContext lastLAF came from. */ private static AppContext lastContext; - // Refer to setSelectedUI - static ComponentUI selectedUI; - // Refer to setSelectedUI - static int selectedUIState; - /** * SynthStyleFactory for the this SynthLookAndFeel. */ @@ -111,6 +109,10 @@ private Handler _handler; + static ComponentUI getSelectedUI() { + return (ComponentUI) AppContext.getAppContext().get(SELECTED_UI_KEY); + } + /** * Used by the renderers. For the most part the renderers are implemented * as Labels, which is problematic in so far as they are never selected. @@ -122,8 +124,8 @@ static void setSelectedUI(ComponentUI uix, boolean selected, boolean focused, boolean enabled, boolean rollover) { - selectedUI = uix; - selectedUIState = 0; + int selectedUIState = 0; + if (selected) { selectedUIState = SynthConstants.SELECTED; if (focused) { @@ -140,19 +142,32 @@ else { if (enabled) { selectedUIState |= SynthConstants.ENABLED; - selectedUIState = SynthConstants.FOCUSED; + if (focused) { + selectedUIState |= SynthConstants.FOCUSED; + } } else { selectedUIState |= SynthConstants.DISABLED; } } + + AppContext context = AppContext.getAppContext(); + + context.put(SELECTED_UI_KEY, uix); + context.put(SELECTED_UI_STATE_KEY, Integer.valueOf(selectedUIState)); + } + + static int getSelectedUIState() { + Integer result = (Integer) AppContext.getAppContext().get(SELECTED_UI_STATE_KEY); + + return result == null ? 0 : result.intValue(); } /** * Clears out the selected UI that was last set in setSelectedUI. */ static void resetSelectedUI() { - selectedUI = null; + AppContext.getAppContext().remove(SELECTED_UI_KEY); } @@ -167,10 +182,6 @@ // for a particular AppContext. synchronized(SynthLookAndFeel.class) { AppContext context = AppContext.getAppContext(); - if (!multipleApps && context != lastContext && - lastContext != null) { - multipleApps = true; - } lastFactory = cache; lastContext = context; context.put(STYLE_FACTORY_KEY, cache); @@ -184,17 +195,13 @@ */ public static SynthStyleFactory getStyleFactory() { synchronized(SynthLookAndFeel.class) { - if (!multipleApps) { - return lastFactory; - } AppContext context = AppContext.getAppContext(); if (lastContext == context) { return lastFactory; } lastContext = context; - lastFactory = (SynthStyleFactory)AppContext.getAppContext().get - (STYLE_FACTORY_KEY); + lastFactory = (SynthStyleFactory) context.get(STYLE_FACTORY_KEY); return lastFactory; } }
--- a/src/share/classes/javax/swing/text/html/parser/Parser.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/javax/swing/text/html/parser/Parser.java Wed Jun 27 18:39:43 2012 -0700 @@ -1986,8 +1986,6 @@ if (i == SCRIPT_END_TAG.length) { /* '</script>' tag detected */ - /* Here, ch == '>' */ - ch = readCh(); /* Here, ch == the first character after </script> */ return; } else { @@ -2060,6 +2058,8 @@ handleComment(str.toCharArray()); endTag(false); lastBlockStartPos = currentPosition; + + continue; } else { switch (c) { case '<':
--- a/src/share/classes/sun/awt/dnd/SunDropTargetContextPeer.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/sun/awt/dnd/SunDropTargetContextPeer.java Wed Jun 27 18:39:43 2012 -0700 @@ -498,7 +498,7 @@ postDropTargetEvent(component, x, y, dropAction, actions, formats, nativeCtxt, SunDropTargetEvent.MOUSE_DROPPED, - !SunDropTargetContextPeer.DISPATCH_SYNC); + SunDropTargetContextPeer.DISPATCH_SYNC); } /**
--- a/src/share/classes/sun/invoke/util/VerifyAccess.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/sun/invoke/util/VerifyAccess.java Wed Jun 27 18:39:43 2012 -0700 @@ -37,6 +37,8 @@ private VerifyAccess() { } // cannot instantiate private static final int PACKAGE_ONLY = 0; + private static final int PACKAGE_ALLOWED = java.lang.invoke.MethodHandles.Lookup.PACKAGE; + private static final int PROTECTED_OR_PACKAGE_ALLOWED = (PACKAGE_ALLOWED|PROTECTED); private static final int ALL_ACCESS_MODES = (PUBLIC|PRIVATE|PROTECTED|PACKAGE_ONLY); private static final boolean ALLOW_NESTMATE_ACCESS = false; @@ -82,14 +84,19 @@ public static boolean isMemberAccessible(Class<?> refc, // symbolic ref class Class<?> defc, // actual def class int mods, // actual member mods - Class<?> lookupClass) { + Class<?> lookupClass, + int allowedModes) { + if (allowedModes == 0) return false; + assert((allowedModes & PUBLIC) != 0 && + (allowedModes & ~(ALL_ACCESS_MODES|PACKAGE_ALLOWED)) == 0); // Usually refc and defc are the same, but if they differ, verify them both. if (refc != defc) { - if (!isClassAccessible(refc, lookupClass)) { + if (!isClassAccessible(refc, lookupClass, allowedModes)) { // Note that defc is verified in the switch below. return false; } - if ((mods & (ALL_ACCESS_MODES|STATIC)) == (PROTECTED|STATIC)) { + if ((mods & (ALL_ACCESS_MODES|STATIC)) == (PROTECTED|STATIC) && + (allowedModes & PROTECTED_OR_PACKAGE_ALLOWED) != 0) { // Apply the special rules for refc here. if (!isRelatedClass(refc, lookupClass)) return isSamePackage(defc, lookupClass); @@ -98,19 +105,28 @@ // a superclass of the lookup class. } } - if (defc == lookupClass) + if (defc == lookupClass && + (allowedModes & PRIVATE) != 0) return true; // easy check; all self-access is OK switch (mods & ALL_ACCESS_MODES) { case PUBLIC: if (refc != defc) return true; // already checked above - return isClassAccessible(refc, lookupClass); + return isClassAccessible(refc, lookupClass, allowedModes); case PROTECTED: - return isSamePackage(defc, lookupClass) || isPublicSuperClass(defc, lookupClass); - case PACKAGE_ONLY: - return isSamePackage(defc, lookupClass); + if ((allowedModes & PROTECTED_OR_PACKAGE_ALLOWED) != 0 && + isSamePackage(defc, lookupClass)) + return true; + if ((allowedModes & PROTECTED) != 0 && + isPublicSuperClass(defc, lookupClass)) + return true; + return false; + case PACKAGE_ONLY: // That is, zero. Unmarked member is package-only access. + return ((allowedModes & PACKAGE_ALLOWED) != 0 && + isSamePackage(defc, lookupClass)); case PRIVATE: // Loosened rules for privates follows access rules for inner classes. return (ALLOW_NESTMATE_ACCESS && + (allowedModes & PRIVATE) != 0 && isSamePackageMember(defc, lookupClass)); default: throw new IllegalArgumentException("bad modifiers: "+Modifier.toString(mods)); @@ -138,11 +154,16 @@ * @param refc the symbolic reference class to which access is being checked (C) * @param lookupClass the class performing the lookup (D) */ - public static boolean isClassAccessible(Class<?> refc, Class<?> lookupClass) { + public static boolean isClassAccessible(Class<?> refc, Class<?> lookupClass, + int allowedModes) { + if (allowedModes == 0) return false; + assert((allowedModes & PUBLIC) != 0 && + (allowedModes & ~(ALL_ACCESS_MODES|PACKAGE_ALLOWED)) == 0); int mods = refc.getModifiers(); if (isPublic(mods)) return true; - if (isSamePackage(lookupClass, refc)) + if ((allowedModes & PACKAGE_ALLOWED) != 0 && + isSamePackage(lookupClass, refc)) return true; return false; } @@ -157,7 +178,7 @@ assert(!class1.isArray() && !class2.isArray()); if (class1 == class2) return true; - if (!loadersAreRelated(class1.getClassLoader(), class2.getClassLoader(), false)) + if (class1.getClassLoader() != class2.getClassLoader()) return false; String name1 = class1.getName(), name2 = class2.getName(); int dot = name1.lastIndexOf('.');
--- a/src/share/classes/sun/misc/JarIndex.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/sun/misc/JarIndex.java Wed Jun 27 18:39:43 2012 -0700 @@ -201,23 +201,20 @@ packageName = fileName; } - // add the mapping to indexMap - addToList(packageName, jarName, indexMap); - - // add the mapping to jarMap - addToList(jarName, packageName, jarMap); + addMapping(packageName, jarName); } /** * Same as add(String,String) except that it doesn't strip off from the - * last index of '/'. It just adds the filename. + * last index of '/'. It just adds the jarItem (filename or package) + * as it is received. */ - private void addExplicit(String fileName, String jarName) { + private void addMapping(String jarItem, String jarName) { // add the mapping to indexMap - addToList(fileName, jarName, indexMap); + addToList(jarItem, jarName, indexMap); // add the mapping to jarMap - addToList(jarName, fileName, jarMap); + addToList(jarName, jarItem, jarMap); } /** @@ -248,18 +245,14 @@ fileName.equals(JarFile.MANIFEST_NAME)) continue; - if (!metaInfFilenames) { + if (!metaInfFilenames || !fileName.startsWith("META-INF/")) { add(fileName, currentJar); - } else { - if (!fileName.startsWith("META-INF/")) { - add(fileName, currentJar); - } else if (!entry.isDirectory()) { + } else if (!entry.isDirectory()) { // Add files under META-INF explicitly so that certain // services, like ServiceLoader, etc, can be located // with greater accuracy. Directories can be skipped // since each file will be added explicitly. - addExplicit(fileName, currentJar); - } + addMapping(fileName, currentJar); } } @@ -324,8 +317,7 @@ jars.add(currentJar); } else { String name = line; - addToList(name, currentJar, indexMap); - addToList(currentJar, name, jarMap); + addMapping(name, currentJar); } } @@ -354,7 +346,7 @@ if (path != null) { jarName = path.concat(jarName); } - toIndex.add(packageName, jarName); + toIndex.addMapping(packageName, jarName); } } }
--- a/src/share/classes/sun/nio/ch/IOUtil.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/sun/nio/ch/IOUtil.java Wed Jun 27 18:39:43 2012 -0700 @@ -36,6 +36,11 @@ public class IOUtil { + /** + * Max number of iovec structures that readv/writev supports + */ + static final int IOV_MAX; + private IOUtil() { } // No instantiation static int write(FileDescriptor fd, ByteBuffer src, long position, @@ -111,7 +116,8 @@ // Iterate over buffers to populate native iovec array. int count = offset + length; - for (int i=offset; i<count; i++) { + int i = offset; + while (i < count && iov_len < IOV_MAX) { ByteBuffer buf = bufs[i]; int pos = buf.position(); int lim = buf.limit(); @@ -135,6 +141,7 @@ vec.putLen(iov_len, rem); iov_len++; } + i++; } if (iov_len == 0) return 0L; @@ -240,7 +247,8 @@ // Iterate over buffers to populate native iovec array. int count = offset + length; - for (int i=offset; i<count; i++) { + int i = offset; + while (i < count && iov_len < IOV_MAX) { ByteBuffer buf = bufs[i]; if (buf.isReadOnly()) throw new IllegalArgumentException("Read-only buffer"); @@ -264,6 +272,7 @@ vec.putLen(iov_len, rem); iov_len++; } + i++; } if (iov_len == 0) return 0L; @@ -336,11 +345,14 @@ static native int fdLimit(); + static native int iovMax(); + static native void initIDs(); static { // Note that IOUtil.initIDs is called from within Util.load. Util.load(); + IOV_MAX = iovMax(); } }
--- a/src/share/classes/sun/nio/ch/Util.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/sun/nio/ch/Util.java Wed Jun 27 18:39:43 2012 -0700 @@ -45,7 +45,7 @@ // -- Caches -- // The number of temp buffers in our pool - private static final int TEMP_BUF_POOL_SIZE = 8; + private static final int TEMP_BUF_POOL_SIZE = IOUtil.IOV_MAX; // Per-thread cache of temporary direct buffers private static ThreadLocal<BufferCache> bufferCache =
--- a/src/share/classes/sun/print/PSPrinterJob.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/sun/print/PSPrinterJob.java Wed Jun 27 18:39:43 2012 -0700 @@ -97,6 +97,7 @@ import java.nio.charset.*; import java.nio.CharBuffer; import java.nio.ByteBuffer; +import java.nio.file.Files; //REMIND: Remove use of this class when IPPPrintService is moved to share directory. import java.lang.reflect.Method; @@ -659,7 +660,7 @@ * is not removed for some reason, request that it is * removed when the VM exits. */ - spoolFile = File.createTempFile("javaprint", ".ps", null); + spoolFile = Files.createTempFile("javaprint", ".ps").toFile(); spoolFile.deleteOnExit(); result = new FileOutputStream(spoolFile);
--- a/src/share/classes/sun/rmi/server/Activation.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/sun/rmi/server/Activation.java Wed Jun 27 18:39:43 2012 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -43,6 +43,7 @@ import java.net.Socket; import java.net.SocketAddress; import java.net.SocketException; +import java.nio.file.Files; import java.nio.channels.Channel; import java.nio.channels.ServerSocketChannel; import java.rmi.AccessException; @@ -1940,7 +1941,7 @@ new PrivilegedExceptionAction<Void>() { public Void run() throws IOException { File file = - File.createTempFile("rmid-err", null, null); + Files.createTempFile("rmid-err", null).toFile(); PrintStream errStream = new PrintStream(new FileOutputStream(file)); System.setErr(errStream);
--- a/src/share/classes/sun/security/provider/certpath/BasicChecker.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/sun/security/provider/certpath/BasicChecker.java Wed Jun 27 18:39:43 2012 -0700 @@ -90,6 +90,7 @@ this.date = date; this.sigProvider = sigProvider; this.sigOnly = sigOnly; + this.prevPubKey = trustedPubKey; } /**
--- a/src/share/classes/sun/security/ssl/SSLEngineImpl.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/sun/security/ssl/SSLEngineImpl.java Wed Jun 27 18:39:43 2012 -0700 @@ -1119,6 +1119,7 @@ * handle a few more records, so the sequence number * of the last record cannot be wrapped. */ + hsStatus = getHSStatus(hsStatus); if (connectionState < cs_ERROR && !isInboundDone() && (hsStatus == HandshakeStatus.NOT_HANDSHAKING)) { if (checkSequenceNumber(readMAC, @@ -1287,6 +1288,7 @@ * handle a few more records, so the sequence number * of the last record cannot be wrapped. */ + hsStatus = getHSStatus(hsStatus); if (connectionState < cs_ERROR && !isOutboundDone() && (hsStatus == HandshakeStatus.NOT_HANDSHAKING)) { if (checkSequenceNumber(writeMAC, eor.contentType())) {
--- a/src/share/classes/sun/security/x509/CRLExtensions.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/sun/security/x509/CRLExtensions.java Wed Jun 27 18:39:43 2012 -0700 @@ -32,8 +32,10 @@ import java.security.cert.CRLException; import java.security.cert.CertificateException; import java.util.Collection; +import java.util.Collections; import java.util.Enumeration; -import java.util.Hashtable; +import java.util.Map; +import java.util.TreeMap; import sun.security.util.*; @@ -61,7 +63,8 @@ */ public class CRLExtensions { - private Hashtable<String,Extension> map = new Hashtable<String,Extension>(); + private Map<String,Extension> map = Collections.synchronizedMap( + new TreeMap<String,Extension>()); private boolean unsupportedCritExt = false; /** @@ -214,7 +217,7 @@ * @return an enumeration of the extensions in this CRL. */ public Enumeration<Extension> getElements() { - return map.elements(); + return Collections.enumeration(map.values()); } /**
--- a/src/share/classes/sun/security/x509/CertificateExtensions.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/sun/security/x509/CertificateExtensions.java Wed Jun 27 18:39:43 2012 -0700 @@ -57,7 +57,8 @@ private static final Debug debug = Debug.getInstance("x509"); - private Hashtable<String,Extension> map = new Hashtable<String,Extension>(); + private Map<String,Extension> map = Collections.synchronizedMap( + new TreeMap<String,Extension>()); private boolean unsupportedCritExt = false; private Map<String,Extension> unparseableExtensions; @@ -118,7 +119,7 @@ if (ext.isCritical() == false) { // ignore errors parsing non-critical extensions if (unparseableExtensions == null) { - unparseableExtensions = new HashMap<String,Extension>(); + unparseableExtensions = new TreeMap<String,Extension>(); } unparseableExtensions.put(ext.getExtensionId().toString(), new UnparseableExtension(ext, e)); @@ -219,6 +220,12 @@ return (obj); } + // Similar to get(String), but throw no exception, might return null. + // Used in X509CertImpl::getExtension(OID). + Extension getExtension(String name) { + return map.get(name); + } + /** * Delete the attribute value. * @param name the extension name used in the lookup. @@ -246,7 +253,7 @@ * attribute. */ public Enumeration<Extension> getElements() { - return map.elements(); + return Collections.enumeration(map.values()); } /**
--- a/src/share/classes/sun/security/x509/X509CRLEntryImpl.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/sun/security/x509/X509CRLEntryImpl.java Wed Jun 27 18:39:43 2012 -0700 @@ -30,14 +30,7 @@ import java.security.cert.CRLReason; import java.security.cert.X509CRLEntry; import java.math.BigInteger; -import java.util.Collection; -import java.util.Collections; -import java.util.Date; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.Map; -import java.util.Set; -import java.util.HashSet; +import java.util.*; import javax.security.auth.x500.X500Principal; @@ -74,7 +67,8 @@ * @author Hemma Prafullchandra */ -public class X509CRLEntryImpl extends X509CRLEntry { +public class X509CRLEntryImpl extends X509CRLEntry + implements Comparable<X509CRLEntryImpl> { private SerialNumber serialNumber = null; private Date revocationDate = null; @@ -195,9 +189,14 @@ * @exception CRLException if an encoding error occurs. */ public byte[] getEncoded() throws CRLException { + return getEncoded0().clone(); + } + + // Called internally to avoid clone + private byte[] getEncoded0() throws CRLException { if (revokedCert == null) this.encode(new DerOutputStream()); - return revokedCert.clone(); + return revokedCert; } @Override @@ -351,7 +350,7 @@ if (extensions == null) { return null; } - Set<String> extSet = new HashSet<String>(); + Set<String> extSet = new TreeSet<>(); for (Extension ex : extensions.getAllExtensions()) { if (ex.isCritical()) { extSet.add(ex.getExtensionId().toString()); @@ -372,7 +371,7 @@ if (extensions == null) { return null; } - Set<String> extSet = new HashSet<String>(); + Set<String> extSet = new TreeSet<>(); for (Extension ex : extensions.getAllExtensions()) { if (!ex.isCritical()) { extSet.add(ex.getExtensionId().toString()); @@ -500,16 +499,39 @@ getExtension(PKIXExtensions.CertificateIssuer_Id); } + /** + * Returns all extensions for this entry in a map + * @return the extension map, can be empty, but not null + */ public Map<String, java.security.cert.Extension> getExtensions() { if (extensions == null) { return Collections.emptyMap(); } Collection<Extension> exts = extensions.getAllExtensions(); - HashMap<String, java.security.cert.Extension> map = - new HashMap<String, java.security.cert.Extension>(exts.size()); + Map<String, java.security.cert.Extension> map = new TreeMap<>(); for (Extension ext : exts) { map.put(ext.getId(), ext); } return map; } + + @Override + public int compareTo(X509CRLEntryImpl that) { + int compSerial = getSerialNumber().compareTo(that.getSerialNumber()); + if (compSerial != 0) { + return compSerial; + } + try { + byte[] thisEncoded = this.getEncoded0(); + byte[] thatEncoded = that.getEncoded0(); + for (int i=0; i<thisEncoded.length && i<thatEncoded.length; i++) { + int a = thisEncoded[i] & 0xff; + int b = thatEncoded[i] & 0xff; + if (a != b) return a-b; + } + return thisEncoded.length -thatEncoded.length; + } catch (CRLException ce) { + return -1; + } + } }
--- a/src/share/classes/sun/security/x509/X509CRLImpl.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/sun/security/x509/X509CRLImpl.java Wed Jun 27 18:39:43 2012 -0700 @@ -52,7 +52,7 @@ /** * <p> - * An implmentation for X509 CRL (Certificate Revocation List). + * An implementation for X509 CRL (Certificate Revocation List). * <p> * The X.509 v2 CRL format is described below in ASN.1: * <pre> @@ -103,7 +103,8 @@ private X500Principal issuerPrincipal = null; private Date thisUpdate = null; private Date nextUpdate = null; - private Map<X509IssuerSerial,X509CRLEntry> revokedCerts = new LinkedHashMap<X509IssuerSerial,X509CRLEntry>(); + private Map<X509IssuerSerial,X509CRLEntry> revokedMap = new TreeMap<>(); + private List<X509CRLEntry> revokedList = new LinkedList<>(); private CRLExtensions extensions = null; private final static boolean isExplicit = true; private static final long YR_2050 = 2524636800000L; @@ -222,7 +223,8 @@ badCert.setCertificateIssuer(crlIssuer, badCertIssuer); X509IssuerSerial issuerSerial = new X509IssuerSerial (badCertIssuer, badCert.getSerialNumber()); - this.revokedCerts.put(issuerSerial, badCert); + this.revokedMap.put(issuerSerial, badCert); + this.revokedList.add(badCert); if (badCert.hasExtensions()) { this.version = 1; } @@ -304,8 +306,8 @@ tmp.putGeneralizedTime(nextUpdate); } - if (!revokedCerts.isEmpty()) { - for (X509CRLEntry entry : revokedCerts.values()) { + if (!revokedList.isEmpty()) { + for (X509CRLEntry entry : revokedList) { ((X509CRLEntryImpl)entry).encode(rCerts); } tmp.write(DerValue.tag_Sequence, rCerts); @@ -489,14 +491,14 @@ sb.append("\nThis Update: " + thisUpdate.toString() + "\n"); if (nextUpdate != null) sb.append("Next Update: " + nextUpdate.toString() + "\n"); - if (revokedCerts.isEmpty()) + if (revokedList.isEmpty()) sb.append("\nNO certificates have been revoked\n"); else { - sb.append("\nRevoked Certificates: " + revokedCerts.size()); + sb.append("\nRevoked Certificates: " + revokedList.size()); int i = 1; - for (Iterator<X509CRLEntry> iter = revokedCerts.values().iterator(); - iter.hasNext(); i++) - sb.append("\n[" + i + "] " + iter.next().toString()); + for (X509CRLEntry entry: revokedList) { + sb.append("\n[" + i++ + "] " + entry.toString()); + } } if (extensions != null) { Collection<Extension> allExts = extensions.getAllExtensions(); @@ -542,12 +544,12 @@ * false otherwise. */ public boolean isRevoked(Certificate cert) { - if (revokedCerts.isEmpty() || (!(cert instanceof X509Certificate))) { + if (revokedMap.isEmpty() || (!(cert instanceof X509Certificate))) { return false; } X509Certificate xcert = (X509Certificate) cert; X509IssuerSerial issuerSerial = new X509IssuerSerial(xcert); - return revokedCerts.containsKey(issuerSerial); + return revokedMap.containsKey(issuerSerial); } /** @@ -637,24 +639,24 @@ * @see X509CRLEntry */ public X509CRLEntry getRevokedCertificate(BigInteger serialNumber) { - if (revokedCerts.isEmpty()) { + if (revokedMap.isEmpty()) { return null; } // assume this is a direct CRL entry (cert and CRL issuer are the same) X509IssuerSerial issuerSerial = new X509IssuerSerial (getIssuerX500Principal(), serialNumber); - return revokedCerts.get(issuerSerial); + return revokedMap.get(issuerSerial); } /** * Gets the CRL entry for the given certificate. */ public X509CRLEntry getRevokedCertificate(X509Certificate cert) { - if (revokedCerts.isEmpty()) { + if (revokedMap.isEmpty()) { return null; } X509IssuerSerial issuerSerial = new X509IssuerSerial(cert); - return revokedCerts.get(issuerSerial); + return revokedMap.get(issuerSerial); } /** @@ -666,10 +668,10 @@ * @see X509CRLEntry */ public Set<X509CRLEntry> getRevokedCertificates() { - if (revokedCerts.isEmpty()) { + if (revokedList.isEmpty()) { return null; } else { - return new HashSet<X509CRLEntry>(revokedCerts.values()); + return new TreeSet<X509CRLEntry>(revokedList); } } @@ -905,7 +907,7 @@ if (extensions == null) { return null; } - Set<String> extSet = new HashSet<String>(); + Set<String> extSet = new TreeSet<>(); for (Extension ex : extensions.getAllExtensions()) { if (ex.isCritical()) { extSet.add(ex.getExtensionId().toString()); @@ -926,7 +928,7 @@ if (extensions == null) { return null; } - Set<String> extSet = new HashSet<String>(); + Set<String> extSet = new TreeSet<>(); for (Extension ex : extensions.getAllExtensions()) { if (!ex.isCritical()) { extSet.add(ex.getExtensionId().toString()); @@ -1103,7 +1105,8 @@ entry.setCertificateIssuer(crlIssuer, badCertIssuer); X509IssuerSerial issuerSerial = new X509IssuerSerial (badCertIssuer, entry.getSerialNumber()); - revokedCerts.put(issuerSerial, entry); + revokedMap.put(issuerSerial, entry); + revokedList.add(entry); } } @@ -1207,7 +1210,8 @@ /** * Immutable X.509 Certificate Issuer DN and serial number pair */ - private final static class X509IssuerSerial { + private final static class X509IssuerSerial + implements Comparable<X509IssuerSerial> { final X500Principal issuer; final BigInteger serial; volatile int hashcode = 0; @@ -1286,5 +1290,13 @@ } return hashcode; } + + @Override + public int compareTo(X509IssuerSerial another) { + int cissuer = issuer.toString() + .compareTo(another.issuer.toString()); + if (cissuer != 0) return cissuer; + return this.serial.compareTo(another.serial); + } } }
--- a/src/share/classes/sun/security/x509/X509CertImpl.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/sun/security/x509/X509CertImpl.java Wed Jun 27 18:39:43 2012 -0700 @@ -1202,7 +1202,7 @@ if (exts == null) { return null; } - Set<String> extSet = new HashSet<String>(); + Set<String> extSet = new TreeSet<>(); for (Extension ex : exts.getAllExtensions()) { if (ex.isCritical()) { extSet.add(ex.getExtensionId().toString()); @@ -1232,7 +1232,7 @@ if (exts == null) { return null; } - Set<String> extSet = new HashSet<String>(); + Set<String> extSet = new TreeSet<>(); for (Extension ex : exts.getAllExtensions()) { if (!ex.isCritical()) { extSet.add(ex.getExtensionId().toString()); @@ -1266,10 +1266,14 @@ if (extensions == null) { return null; } else { - for (Extension ex : extensions.getAllExtensions()) { - if (ex.getExtensionId().equals((Object)oid)) { + Extension ex = extensions.getExtension(oid.toString()); + if (ex != null) { + return ex; + } + for (Extension ex2: extensions.getAllExtensions()) { + if (ex2.getExtensionId().equals((Object)oid)) { //XXXX May want to consider cloning this - return ex; + return ex2; } } /* no such extension in this certificate */ @@ -1465,10 +1469,10 @@ if (names.isEmpty()) { return Collections.<List<?>>emptySet(); } - Set<List<?>> newNames = new HashSet<List<?>>(); + List<List<?>> newNames = new ArrayList<>(); for (GeneralName gname : names.names()) { GeneralNameInterface name = gname.getName(); - List<Object> nameEntry = new ArrayList<Object>(2); + List<Object> nameEntry = new ArrayList<>(2); nameEntry.add(Integer.valueOf(name.getType())); switch (name.getType()) { case GeneralNameInterface.NAME_RFC822: @@ -1526,12 +1530,12 @@ } } if (mustClone) { - Set<List<?>> namesCopy = new HashSet<List<?>>(); + List<List<?>> namesCopy = new ArrayList<>(); for (List<?> nameEntry : altNames) { Object nameObject = nameEntry.get(1); if (nameObject instanceof byte[]) { List<Object> nameEntryCopy = - new ArrayList<Object>(nameEntry); + new ArrayList<>(nameEntry); nameEntryCopy.set(1, ((byte[])nameObject).clone()); namesCopy.add(Collections.unmodifiableList(nameEntryCopy)); } else {
--- a/src/share/classes/sun/tools/jar/Main.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/sun/tools/jar/Main.java Wed Jun 27 18:39:43 2012 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -137,7 +137,7 @@ File dir = file.getParentFile(); if (dir == null) dir = new File("."); - return File.createTempFile("jartmp", null, dir); + return Files.createTempFile(dir.toPath(), "jartmp", null).toFile(); } private boolean ok;
--- a/src/share/classes/sun/tools/native2ascii/Main.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/classes/sun/tools/native2ascii/Main.java Wed Jun 27 18:39:43 2012 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -71,6 +71,7 @@ import java.nio.charset.CharsetEncoder; import java.nio.charset.Charset; import java.nio.charset.IllegalCharsetNameException; +import java.nio.file.Files; import java.io.UnsupportedEncodingException; import java.nio.charset.UnsupportedCharsetException; import sun.tools.native2ascii.A2NFilter; @@ -240,9 +241,7 @@ if (tempDir == null) tempDir = new File(System.getProperty("user.dir")); - tempFile = File.createTempFile("_N2A", - ".TMP", - tempDir); + tempFile = Files.createTempFile(tempDir.toPath(), "_N2A", ".TMP").toFile(); tempFile.deleteOnExit(); try { @@ -292,9 +291,7 @@ File tempDir = f.getParentFile(); if (tempDir == null) tempDir = new File(System.getProperty("user.dir")); - tempFile = File.createTempFile("_N2A", - ".TMP", - tempDir); + tempFile = Files.createTempFile(tempDir.toPath(), "_N2A", ".TMP").toFile(); tempFile.deleteOnExit(); try {
--- a/src/share/demo/jvmti/hprof/hprof_table.c Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/demo/jvmti/hprof/hprof_table.c Wed Jun 27 18:39:43 2012 -0700 @@ -120,7 +120,7 @@ TableIndex table_incr; /* Suggested increment size. */ TableIndex hash_bucket_count; /* Number of hash buckets. */ int elem_size; /* Size of element. */ - int info_size; /* Size of info structure. */ + int info_size; /* Size of info structure (can be 0). */ void *freed_bv; /* Freed element bit vector */ int freed_count; /* Count of freed'd elements */ TableIndex freed_start; /* First freed in table */ @@ -208,9 +208,6 @@ { TableElement *element; - if ( ltable->info_size == 0 ) { - return NULL; - } element = (TableElement*)ELEMENT_PTR(ltable,index); return element->info; } @@ -760,7 +757,11 @@ void *info; get_key(ltable, index, &key_ptr, &key_len); - info = get_info(ltable, index); + if ( ltable->info_size == 0 ) { + info = NULL; + } else { + info = get_info(ltable, index); + } (*func)(SANITY_ADD_HARE(index, ltable->hare), key_ptr, key_len, info, arg); if ( is_freed_entry(ltable, index) ) { fcount++;
--- a/src/share/lib/security/java.security Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/lib/security/java.security Wed Jun 27 18:39:43 2012 -0700 @@ -132,10 +132,10 @@ # corresponding RuntimePermission ("defineClassInPackage."+package) has # been granted. # -# by default, no packages are restricted for definition, and none of -# the class loaders supplied with the JDK call checkPackageDefinition. +# by default, none of the class loaders supplied with the JDK call +# checkPackageDefinition. # -#package.definition= +package.definition=sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils. # # Determines whether this properties file can be appended to
--- a/src/share/lib/security/java.security-macosx Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/lib/security/java.security-macosx Wed Jun 27 18:39:43 2012 -0700 @@ -133,10 +133,10 @@ # corresponding RuntimePermission ("defineClassInPackage."+package) has # been granted. # -# by default, no packages are restricted for definition, and none of -# the class loaders supplied with the JDK call checkPackageDefinition. +# by default, none of the class loaders supplied with the JDK call +# checkPackageDefinition. # -#package.definition= +package.definition=sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,apple.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils. # # Determines whether this properties file can be appended to
--- a/src/share/lib/security/java.security-solaris Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/lib/security/java.security-solaris Wed Jun 27 18:39:43 2012 -0700 @@ -134,10 +134,10 @@ # corresponding RuntimePermission ("defineClassInPackage."+package) has # been granted. # -# by default, no packages are restricted for definition, and none of -# the class loaders supplied with the JDK call checkPackageDefinition. +# by default, none of the class loaders supplied with the JDK call +# checkPackageDefinition. # -#package.definition= +package.definition=sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils. # # Determines whether this properties file can be appended to
--- a/src/share/lib/security/java.security-windows Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/lib/security/java.security-windows Wed Jun 27 18:39:43 2012 -0700 @@ -133,10 +133,10 @@ # corresponding RuntimePermission ("defineClassInPackage."+package) has # been granted. # -# by default, no packages are restricted for definition, and none of -# the class loaders supplied with the JDK call checkPackageDefinition. +# by default, none of the class loaders supplied with the JDK call +# checkPackageDefinition. # -#package.definition= +package.definition=sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils. # # Determines whether this properties file can be appended to
--- a/src/share/native/java/net/net_util.c Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/native/java/net/net_util.c Wed Jun 27 18:39:43 2012 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -68,6 +68,8 @@ */ IPv6_available = IPv6_supported() & (!preferIPv4Stack); initLocalAddrTable (); + parseExclusiveBindProperty(env); + return JNI_VERSION_1_2; }
--- a/src/share/native/java/net/net_util.h Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/native/java/net/net_util.h Wed Jun 27 18:39:43 2012 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -120,6 +120,7 @@ NET_SockaddrToInetAddress(JNIEnv *env, struct sockaddr *him, int *port); void initLocalAddrTable (); +void parseExclusiveBindProperty(JNIEnv *env); void NET_SetTrafficClass(struct sockaddr *him, int trafficClass);
--- a/src/share/native/sun/font/layout/LookupProcessor.cpp Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/native/sun/font/layout/LookupProcessor.cpp Wed Jun 27 18:39:43 2012 -0700 @@ -95,6 +95,10 @@ if (selectMask != 0) { const LookupTable *lookupTable = lookupListTable->getLookupTable(lookup); + + if (!lookupTable) + continue; + le_uint16 lookupFlags = SWAPW(lookupTable->lookupFlags); glyphIterator.reset(lookupFlags, selectMask); @@ -136,6 +140,9 @@ for (le_uint16 lookup = 0; lookup < lookupCount; lookup += 1) { le_uint16 lookupListIndex = SWAPW(featureTable->lookupListIndexArray[lookup]); + if (lookupListIndex >= lookupSelectCount) + continue; + lookupSelectArray[lookupListIndex] |= featureMask; lookupOrderArray[store++] = lookupListIndex; } @@ -147,7 +154,7 @@ Offset scriptListOffset, Offset featureListOffset, Offset lookupListOffset, LETag scriptTag, LETag languageTag, const FeatureMap *featureMap, le_int32 featureMapCount, le_bool orderFeatures, LEErrorCode& success) - : lookupListTable(NULL), featureListTable(NULL), lookupSelectArray(NULL), + : lookupListTable(NULL), featureListTable(NULL), lookupSelectArray(NULL), lookupSelectCount(0), lookupOrderArray(NULL), lookupOrderCount(0) { const ScriptListTable *scriptListTable = NULL; @@ -195,6 +202,8 @@ lookupSelectArray[i] = 0; } + lookupSelectCount = lookupListCount; + le_int32 count, order = 0; le_int32 featureReferences = 0; const FeatureTable *featureTable = NULL; @@ -211,6 +220,10 @@ le_uint16 featureIndex = SWAPW(langSysTable->featureIndexArray[feature]); featureTable = featureListTable->getFeatureTable(featureIndex, &featureTag); + + if (!featureTable) + continue; + featureReferences += SWAPW(featureTable->lookupCount); }
--- a/src/share/native/sun/font/layout/LookupProcessor.h Tue Jun 26 09:54:29 2012 -0700 +++ b/src/share/native/sun/font/layout/LookupProcessor.h Wed Jun 27 18:39:43 2012 -0700 @@ -90,6 +90,7 @@ const FeatureListTable *featureListTable; FeatureMask *lookupSelectArray; + le_uint32 lookupSelectCount; le_uint16 *lookupOrderArray; le_uint32 lookupOrderCount;
--- a/src/solaris/classes/sun/font/FcFontConfiguration.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/solaris/classes/sun/font/FcFontConfiguration.java Wed Jun 27 18:39:43 2012 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -33,6 +33,7 @@ import java.net.InetAddress; import java.net.UnknownHostException; import java.nio.charset.Charset; +import java.nio.file.Files; import java.util.HashMap; import java.util.HashSet; import java.util.Properties; @@ -387,7 +388,7 @@ File fcInfoFile = getFcInfoFile(); File dir = fcInfoFile.getParentFile(); dir.mkdirs(); - File tempFile = File.createTempFile("fcinfo", null, dir); + File tempFile = Files.createTempFile(dir.toPath(), "fcinfo", null).toFile(); FileOutputStream fos = new FileOutputStream(tempFile); props.store(fos, "JDK Font Configuration Generated File: *Do Not Edit*");
--- a/src/solaris/classes/sun/print/UnixPrintJob.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/solaris/classes/sun/print/UnixPrintJob.java Wed Jun 27 18:39:43 2012 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -42,6 +42,7 @@ import java.io.Reader; import java.io.StringWriter; import java.io.UnsupportedEncodingException; +import java.nio.file.Files; import java.util.Vector; import javax.print.CancelablePrintJob; @@ -938,7 +939,7 @@ * is not removed for some reason, request that it is * removed when the VM exits. */ - spoolFile = File.createTempFile("javaprint", ".ps", null); + spoolFile = Files.createTempFile("javaprint", ".ps").toFile(); spoolFile.deleteOnExit(); } result = new FileOutputStream(spoolFile);
--- a/src/solaris/classes/sun/print/UnixPrintServiceLookup.java Tue Jun 26 09:54:29 2012 -0700 +++ b/src/solaris/classes/sun/print/UnixPrintServiceLookup.java Wed Jun 27 18:39:43 2012 -0700 @@ -51,6 +51,7 @@ import java.io.File; import java.io.FileReader; import java.net.URL; +import java.nio.file.Files; /* * Remind: This class uses solaris commands. We also need a linux @@ -718,7 +719,7 @@ Process proc; BufferedReader bufferedReader = null; - File f = File.createTempFile("prn","xc"); + File f = Files.createTempFile("prn","xc").toFile(); cmd[2] = cmd[2]+">"+f.getAbsolutePath(); proc = Runtime.getRuntime().exec(cmd);
--- a/src/solaris/demo/jvmti/hprof/hprof_md.c Tue Jun 26 09:54:29 2012 -0700 +++ b/src/solaris/demo/jvmti/hprof/hprof_md.c Wed Jun 27 18:39:43 2012 -0700 @@ -119,9 +119,13 @@ /* create a socket */ fd = socket(AF_INET, SOCK_STREAM, 0); + if ( fd < 0 ) { + return -1; + } /* find remote host's addr from name */ if ((hentry = gethostbyname(hostname)) == NULL) { + (void)close(fd); return -1; } (void)memset((char *)&s, 0, sizeof(s)); @@ -134,6 +138,7 @@ /* now try connecting */ if (-1 == connect(fd, (struct sockaddr*)&s, sizeof(s))) { + (void)close(fd); return 0; } return fd;
--- a/src/solaris/native/java/net/net_util_md.c Tue Jun 26 09:54:29 2012 -0700 +++ b/src/solaris/native/java/net/net_util_md.c Wed Jun 27 18:39:43 2012 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -76,7 +76,7 @@ getnameinfo_f getnameinfo_ptr = NULL; /* - * EXCLBIND socket options only on Solaris 8 & 9. + * EXCLBIND socket options only on Solaris */ #if defined(__solaris__) && !defined(TCP_EXCLBIND) #define TCP_EXCLBIND 0x21 @@ -131,6 +131,7 @@ static int init_tcp_max_buf, init_udp_max_buf; static int tcp_max_buf; static int udp_max_buf; +static int useExclBind = 0; /* * Get the specified parameter from the specified driver. The value @@ -765,6 +766,26 @@ #endif +void parseExclusiveBindProperty(JNIEnv *env) { +#ifdef __solaris__ + jstring s, flagSet; + jclass iCls; + jmethodID mid; + + s = (*env)->NewStringUTF(env, "sun.net.useExclusiveBind"); + CHECK_NULL(s); + iCls = (*env)->FindClass(env, "java/lang/System"); + CHECK_NULL(iCls); + mid = (*env)->GetStaticMethodID(env, iCls, "getProperty", + "(Ljava/lang/String;)Ljava/lang/String;"); + CHECK_NULL(mid); + flagSet = (*env)->CallStaticObjectMethod(env, iCls, mid, s); + if (flagSet != NULL) { + useExclBind = 1; + } +#endif +} + /* In the case of an IPv4 Inetaddress this method will return an * IPv4 mapped address where IPv6 is available and v4MappedAddress is TRUE. * Otherwise it will return a sockaddr_in structure for an IPv4 InetAddress. @@ -1478,8 +1499,8 @@ * Linux allows a socket to bind to 127.0.0.255 which must be * caught. * - * On Solaris 8/9 with IPv6 enabled we must use an exclusive - * bind to guaranteed a unique port number across the IPv4 and + * On Solaris with IPv6 enabled we must use an exclusive + * bind to guarantee a unique port number across the IPv4 and * IPv6 port spaces. * */ @@ -1509,10 +1530,10 @@ #if defined(__solaris__) && defined(AF_INET6) /* - * Solaris 8/9 have seperate IPv4 and IPv6 port spaces so we + * Solaris has separate IPv4 and IPv6 port spaces so we * use an exclusive bind when SO_REUSEADDR is not used to * give the illusion of a unified port space. - * This also avoid problems with IPv6 sockets connecting + * This also avoids problems with IPv6 sockets connecting * to IPv4 mapped addresses whereby the socket conversion * results in a late bind that fails because the * corresponding IPv4 port is in use. @@ -1521,11 +1542,12 @@ int arg, len; len = sizeof(arg); - if (getsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char *)&arg, - &len) == 0) { - if (arg == 0) { + if (useExclBind || getsockopt(fd, SOL_SOCKET, SO_REUSEADDR, + (char *)&arg, &len) == 0) { + if (useExclBind || arg == 0) { /* - * SO_REUSEADDR is disabled so enable TCP_EXCLBIND or + * SO_REUSEADDR is disabled or sun.net.useExclusiveBind + * property is true so enable TCP_EXCLBIND or * UDP_EXCLBIND */ len = sizeof(arg);
--- a/src/solaris/native/sun/nio/ch/FileDispatcherImpl.c Tue Jun 26 09:54:29 2012 -0700 +++ b/src/solaris/native/sun/nio/ch/FileDispatcherImpl.c Wed Jun 27 18:39:43 2012 -0700 @@ -94,9 +94,6 @@ { jint fd = fdval(env, fdo); struct iovec *iov = (struct iovec *)jlong_to_ptr(address); - if (len > 16) { - len = 16; - } return convertLongReturnVal(env, readv(fd, iov, len), JNI_TRUE); } @@ -126,9 +123,6 @@ { jint fd = fdval(env, fdo); struct iovec *iov = (struct iovec *)jlong_to_ptr(address); - if (len > 16) { - len = 16; - } return convertLongReturnVal(env, writev(fd, iov, len), JNI_FALSE); }
--- a/src/solaris/native/sun/nio/ch/IOUtil.c Tue Jun 26 09:54:29 2012 -0700 +++ b/src/solaris/native/sun/nio/ch/IOUtil.c Wed Jun 27 18:39:43 2012 -0700 @@ -136,6 +136,16 @@ } } +JNIEXPORT jint JNICALL +Java_sun_nio_ch_IOUtil_iovMax(JNIEnv *env, jclass this) +{ + jlong iov_max = sysconf(_SC_IOV_MAX); + if (iov_max == -1) + iov_max = 16; + return (jint)iov_max; +} + + /* Declared in nio_util.h for use elsewhere in NIO */ jint
--- a/src/windows/native/java/net/net_util_md.c Tue Jun 26 09:54:29 2012 -0700 +++ b/src/windows/native/java/net/net_util_md.c Wed Jun 27 18:39:43 2012 -0700 @@ -126,6 +126,7 @@ } void initLocalAddrTable () {} +void parseExclusiveBindProperty (JNIEnv *env) {} /* * Since winsock doesn't have the equivalent of strerror(errno)
--- a/src/windows/native/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.c Tue Jun 26 09:54:29 2012 -0700 +++ b/src/windows/native/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.c Wed Jun 27 18:39:43 2012 -0700 @@ -151,7 +151,7 @@ VOID *pInput = 0; DWORD inputLen; - CHAR buffOut[512]; + CHAR buffOut[1024]; jboolean isCopy; SECURITY_STATUS ss; SecBufferDesc OutBuffDesc; @@ -178,7 +178,7 @@ OutBuffDesc.cBuffers = 1; OutBuffDesc.pBuffers = &OutSecBuff; - OutSecBuff.cbBuffer = 512; + OutSecBuff.cbBuffer = 1024; OutSecBuff.BufferType = SECBUFFER_TOKEN; OutSecBuff.pvBuffer = buffOut;
--- a/src/windows/native/sun/nio/ch/IOUtil.c Tue Jun 26 09:54:29 2012 -0700 +++ b/src/windows/native/sun/nio/ch/IOUtil.c Wed Jun 27 18:39:43 2012 -0700 @@ -41,9 +41,6 @@ /* field id for jint 'fd' in java.io.FileDescriptor used for socket fds */ static jfieldID fd_fdID; -/* false for 95/98/ME, true for NT/W2K */ -static jboolean onNT = JNI_FALSE; - JNIEXPORT jboolean JNICALL Java_sun_security_provider_NativeSeedGenerator_nativeGenerateSeed (JNIEnv *env, jclass clazz, jbyteArray randArray); @@ -55,13 +52,6 @@ JNIEXPORT void JNICALL Java_sun_nio_ch_IOUtil_initIDs(JNIEnv *env, jclass clazz) { - OSVERSIONINFO ver; - ver.dwOSVersionInfoSize = sizeof(ver); - GetVersionEx(&ver); - if (ver.dwPlatformId == VER_PLATFORM_WIN32_NT) { - onNT = JNI_TRUE; - } - clazz = (*env)->FindClass(env, "java/io/FileDescriptor"); fd_fdID = (*env)->GetFieldID(env, clazz, "fd", "I"); handle_fdID = (*env)->GetFieldID(env, clazz, "handle", "J"); @@ -80,6 +70,13 @@ randArray); } +JNIEXPORT jint JNICALL +Java_sun_nio_ch_IOUtil_iovMax(JNIEnv *env, jclass this) +{ + return 16; +} + + jint convertReturnVal(JNIEnv *env, jint n, jboolean reading) { @@ -205,9 +202,3 @@ { return (*env)->GetLongField(env, fdo, handle_fdID); } - -jboolean -isNT() -{ - return onNT; -}
--- a/src/windows/native/sun/nio/ch/SocketDispatcher.c Tue Jun 26 09:54:29 2012 -0700 +++ b/src/windows/native/sun/nio/ch/SocketDispatcher.c Wed Jun 27 18:39:43 2012 -0700 @@ -97,10 +97,6 @@ return IOS_THROWN; } - if ((isNT() == JNI_FALSE) && (len > 16)) { - len = 16; - } - /* copy iovec into WSABUF */ for(i=0; i<len; i++) { jint iov_len = iovp[i].iov_len; @@ -141,41 +137,54 @@ JNIEXPORT jint JNICALL Java_sun_nio_ch_SocketDispatcher_write0(JNIEnv *env, jclass clazz, jobject fdo, - jlong address, jint len) + jlong address, jint total) { /* set up */ int i = 0; DWORD written = 0; + jint count = 0; jint fd = fdval(env, fdo); WSABUF buf; - /* limit size */ - if (len > MAX_BUFFER_SIZE) - len = MAX_BUFFER_SIZE; + do { + /* limit size */ + jint len = total - count; + if (len > MAX_BUFFER_SIZE) + len = MAX_BUFFER_SIZE; - /* copy iovec into WSABUF */ - buf.buf = (char *)address; - buf.len = (u_long)len; + /* copy iovec into WSABUF */ + buf.buf = (char *)address; + buf.len = (u_long)len; + + /* write from the buffer */ + i = WSASend((SOCKET)fd, /* Socket */ + &buf, /* pointers to the buffers */ + (DWORD)1, /* number of buffers to process */ + &written, /* receives number of bytes written */ + 0, /* no flags */ + 0, /* no overlapped sockets */ + 0); /* no completion routine */ - /* read into the buffers */ - i = WSASend((SOCKET)fd, /* Socket */ - &buf, /* pointers to the buffers */ - (DWORD)1, /* number of buffers to process */ - &written, /* receives number of bytes written */ - 0, /* no flags */ - 0, /* no overlapped sockets */ - 0); /* no completion routine */ + if (i == SOCKET_ERROR) { + if (count > 0) { + /* can't throw exception when some bytes have been written */ + break; + } else { + int theErr = (jint)WSAGetLastError(); + if (theErr == WSAEWOULDBLOCK) { + return IOS_UNAVAILABLE; + } + JNU_ThrowIOExceptionWithLastError(env, "Write failed"); + return IOS_THROWN; + } + } - if (i == SOCKET_ERROR) { - int theErr = (jint)WSAGetLastError(); - if (theErr == WSAEWOULDBLOCK) { - return IOS_UNAVAILABLE; - } - JNU_ThrowIOExceptionWithLastError(env, "Write failed"); - return IOS_THROWN; - } + count += written; + address += written; - return convertReturnVal(env, (jint)written, JNI_FALSE); + } while ((count < total) && (written == MAX_BUFFER_SIZE)); + + return count; } JNIEXPORT jlong JNICALL @@ -195,10 +204,6 @@ return IOS_THROWN; } - if ((isNT() == JNI_FALSE) && (len > 16)) { - len = 16; - } - /* copy iovec into WSABUF */ for(i=0; i<len; i++) { jint iov_len = iovp[i].iov_len;
--- a/src/windows/native/sun/nio/ch/nio_util.h Tue Jun 26 09:54:29 2012 -0700 +++ b/src/windows/native/sun/nio/ch/nio_util.h Wed Jun 27 18:39:43 2012 -0700 @@ -35,7 +35,6 @@ jint fdval(JNIEnv *env, jobject fdo); jlong handleval(JNIEnv *env, jobject fdo); -jboolean isNT(); jint convertReturnVal(JNIEnv *env, jint n, jboolean r); jlong convertLongReturnVal(JNIEnv *env, jlong n, jboolean r); jboolean purgeOutstandingICMP(JNIEnv *env, jclass clazz, jint fd);
--- a/test/ProblemList.txt Tue Jun 26 09:54:29 2012 -0700 +++ b/test/ProblemList.txt Wed Jun 27 18:39:43 2012 -0700 @@ -287,6 +287,9 @@ # jdk_security +# 7177556 +com/sun/crypto/provider/KeyFactory/TestProviderLeak.java generic-all + # 7147060 com/sun/org/apache/xml/internal/security/transforms/ClassLoaderTest.java generic-all
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/java/lang/invoke/AccessControlTest.java Wed Jun 27 18:39:43 2012 -0700 @@ -0,0 +1,495 @@ +/* + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* @test + * @summary test access checking by java.lang.invoke.MethodHandles.Lookup + * @library ../../../.. + * @build test.java.lang.invoke.AccessControlTest + * @build test.java.lang.invoke.AccessControlTest_subpkg.Acquaintance_remote + * @run junit/othervm test.java.lang.invoke.AccessControlTest + */ + +package test.java.lang.invoke; + +import java.lang.invoke.*; +import java.lang.reflect.*; +import java.util.*; +import org.junit.*; + +import static java.lang.invoke.MethodHandles.*; +import static java.lang.invoke.MethodHandles.Lookup.*; +import static java.lang.invoke.MethodType.*; +import static org.junit.Assert.*; +import test.java.lang.invoke.AccessControlTest_subpkg.Acquaintance_remote; + + +/** + * Test many combinations of Lookup access and cross-class lookupStatic. + * @author jrose + */ +public class AccessControlTest { + static final Class<?> THIS_CLASS = AccessControlTest.class; + // How much output? + static int verbosity = 0; + static { + String vstr = System.getProperty(THIS_CLASS.getSimpleName()+".verbosity"); + if (vstr == null) + vstr = System.getProperty(THIS_CLASS.getName()+".verbosity"); + if (vstr != null) verbosity = Integer.parseInt(vstr); + } + + private class LookupCase implements Comparable<LookupCase> { + final Lookup lookup; + final Class<?> lookupClass; + final int lookupModes; + public LookupCase(Lookup lookup) { + this.lookup = lookup; + this.lookupClass = lookup.lookupClass(); + this.lookupModes = lookup.lookupModes(); + assert(lookupString().equals(lookup.toString())); + numberOf(lookupClass().getClassLoader()); // assign CL# + } + public LookupCase(Class<?> lookupClass, int lookupModes) { + this.lookup = null; + this.lookupClass = lookupClass; + this.lookupModes = lookupModes; + numberOf(lookupClass().getClassLoader()); // assign CL# + } + + public final Class<?> lookupClass() { return lookupClass; } + public final int lookupModes() { return lookupModes; } + + public Lookup lookup() { lookup.getClass(); return lookup; } + + @Override + public int compareTo(LookupCase that) { + Class<?> c1 = this.lookupClass(); + Class<?> c2 = that.lookupClass(); + if (c1 != c2) { + int cmp = c1.getName().compareTo(c2.getName()); + if (cmp != 0) return cmp; + cmp = numberOf(c1.getClassLoader()) - numberOf(c2.getClassLoader()); + assert(cmp != 0); + return cmp; + } + return -(this.lookupModes() - that.lookupModes()); + } + + @Override + public boolean equals(Object that) { + return (that instanceof LookupCase && equals((LookupCase)that)); + } + public boolean equals(LookupCase that) { + return (this.lookupClass() == that.lookupClass() && + this.lookupModes() == that.lookupModes()); + } + + @Override + public int hashCode() { + return lookupClass().hashCode() + (lookupModes() * 31); + } + + /** Simulate all assertions in the spec. for Lookup.toString. */ + private String lookupString() { + String name = lookupClass.getName(); + String suffix = ""; + if (lookupModes == 0) + suffix = "/noaccess"; + else if (lookupModes == PUBLIC) + suffix = "/public"; + else if (lookupModes == (PUBLIC|PACKAGE)) + suffix = "/package"; + else if (lookupModes == (PUBLIC|PACKAGE|PRIVATE)) + suffix = "/private"; + else if (lookupModes == (PUBLIC|PACKAGE|PRIVATE|PROTECTED)) + suffix = ""; + else + suffix = "/#"+Integer.toHexString(lookupModes); + return name+suffix; + } + + /** Simulate all assertions from the spec. for Lookup.in: + * <hr/> + * Creates a lookup on the specified new lookup class. + * [A1] The resulting object will report the specified + * class as its own {@link #lookupClass lookupClass}. + * <p> + * [A2] However, the resulting {@code Lookup} object is guaranteed + * to have no more access capabilities than the original. + * In particular, access capabilities can be lost as follows:<ul> + * <li>[A3] If the new lookup class differs from the old one, + * protected members will not be accessible by virtue of inheritance. + * (Protected members may continue to be accessible because of package sharing.) + * <li>[A4] If the new lookup class is in a different package + * than the old one, protected and default (package) members will not be accessible. + * <li>[A5] If the new lookup class is not within the same package member + * as the old one, private members will not be accessible. + * <li>[A6] If the new lookup class is not accessible to the old lookup class, + * using the original access modes, + * then no members, not even public members, will be accessible. + * [A7] (In all other cases, public members will continue to be accessible.) + * </ul> + * Other than the above cases, the new lookup will have the same + * access capabilities as the original. [A8] + * <hr/> + */ + public LookupCase in(Class<?> c2) { + Class<?> c1 = lookupClass(); + int m1 = lookupModes(); + int changed = 0; + boolean samePackage = (c1.getClassLoader() == c2.getClassLoader() && + packagePrefix(c1).equals(packagePrefix(c2))); + boolean sameTopLevel = (topLevelClass(c1) == topLevelClass(c2)); + boolean sameClass = (c1 == c2); + assert(samePackage || !sameTopLevel); + assert(sameTopLevel || !sameClass); + boolean accessible = sameClass; // [A6] + if ((m1 & PACKAGE) != 0) accessible |= samePackage; + if ((m1 & PUBLIC ) != 0) accessible |= (c2.getModifiers() & PUBLIC) != 0; + if (!accessible) { + // Different package and no access to c2; lose all access. + changed |= (PUBLIC|PACKAGE|PRIVATE|PROTECTED); // [A6] + } + if (!samePackage) { + // Different package; lose PACKAGE and lower access. + changed |= (PACKAGE|PRIVATE|PROTECTED); // [A4] + } + if (!sameTopLevel) { + // Different top-level class. Lose PRIVATE and lower access. + changed |= (PRIVATE|PROTECTED); // [A5] + } + if (!sameClass) { + changed |= (PROTECTED); // [A3] + } else { + assert(changed == 0); // [A8] (no deprivation if same class) + } + if (accessible) assert((changed & PUBLIC) == 0); // [A7] + int m2 = m1 & ~changed; + LookupCase l2 = new LookupCase(c2, m2); + assert(l2.lookupClass() == c2); // [A1] + assert((m1 | m2) == m1); // [A2] (no elevation of access) + return l2; + } + + @Override + public String toString() { + String s = lookupClass().getSimpleName(); + String lstr = lookupString(); + int sl = lstr.indexOf('/'); + if (sl >= 0) s += lstr.substring(sl); + ClassLoader cld = lookupClass().getClassLoader(); + if (cld != THIS_LOADER) s += "/loader#"+numberOf(cld); + return s; + } + + /** Predict the success or failure of accessing this method. */ + public boolean willAccess(Method m) { + Class<?> c1 = lookupClass(); + Class<?> c2 = m.getDeclaringClass(); + LookupCase lc = this.in(c2); + int m1 = lc.lookupModes(); + int m2 = fixMods(m.getModifiers()); + // privacy is strictly enforced on lookups + if (c1 != c2) m1 &= ~PRIVATE; + // protected access is sometimes allowed + if ((m2 & PROTECTED) != 0) { + int prev = m2; + m2 |= PACKAGE; // it acts like a package method also + if ((lookupModes() & PROTECTED) != 0 && + c2.isAssignableFrom(c1)) + m2 |= PUBLIC; // from a subclass, it acts like a public method also + } + if (verbosity >= 2) + System.out.println(this+" willAccess "+lc+" m1="+m1+" m2="+m2+" => "+((m2 & m1) != 0)); + return (m2 & m1) != 0; + } + } + + private static Class<?> topLevelClass(Class<?> cls) { + Class<?> c = cls; + for (Class<?> ec; (ec = c.getEnclosingClass()) != null; ) + c = ec; + assert(c.getEnclosingClass() == null); + assert(c == cls || cls.getEnclosingClass() != null); + return c; + } + + private static String packagePrefix(Class<?> c) { + while (c.isArray()) c = c.getComponentType(); + String s = c.getName(); + assert(s.indexOf('/') < 0); + return s.substring(0, s.lastIndexOf('.')+1); + } + + + private final TreeSet<LookupCase> CASES = new TreeSet<>(); + private final TreeMap<LookupCase,TreeSet<LookupCase>> CASE_EDGES = new TreeMap<>(); + private final ArrayList<ClassLoader> LOADERS = new ArrayList<>(); + private final ClassLoader THIS_LOADER = this.getClass().getClassLoader(); + { if (THIS_LOADER != null) LOADERS.add(THIS_LOADER); } // #1 + + private LookupCase lookupCase(String name) { + for (LookupCase lc : CASES) { + if (lc.toString().equals(name)) + return lc; + } + throw new AssertionError(name); + } + + private int numberOf(ClassLoader cl) { + if (cl == null) return 0; + int i = LOADERS.indexOf(cl); + if (i < 0) { + i = LOADERS.size(); + LOADERS.add(cl); + } + return i+1; + } + + private void addLookupEdge(LookupCase l1, Class<?> c2, LookupCase l2) { + TreeSet<LookupCase> edges = CASE_EDGES.get(l2); + if (edges == null) CASE_EDGES.put(l2, edges = new TreeSet<>()); + if (edges.add(l1)) { + Class<?> c1 = l1.lookupClass(); + assert(l2.lookupClass() == c2); // [A1] + int m1 = l1.lookupModes(); + int m2 = l2.lookupModes(); + assert((m1 | m2) == m1); // [A2] (no elevation of access) + LookupCase expect = l1.in(c2); + if (!expect.equals(l2)) + System.out.println("*** expect "+l1+" => "+expect+" but got "+l2); + assertEquals(expect, l2); + } + } + + private void makeCases(Lookup[] originalLookups) { + // make initial set of lookup test cases + CASES.clear(); LOADERS.clear(); CASE_EDGES.clear(); + ArrayList<Class<?>> classes = new ArrayList<>(); + for (Lookup l : originalLookups) { + CASES.add(new LookupCase(l)); + classes.remove(l.lookupClass()); // no dups please + classes.add(l.lookupClass()); + } + System.out.println("loaders = "+LOADERS); + int rounds = 0; + for (int lastCount = -1; lastCount != CASES.size(); ) { + lastCount = CASES.size(); // if CASES grow in the loop we go round again + for (LookupCase lc1 : CASES.toArray(new LookupCase[0])) { + for (Class<?> c2 : classes) { + LookupCase lc2 = new LookupCase(lc1.lookup().in(c2)); + addLookupEdge(lc1, c2, lc2); + CASES.add(lc2); + } + } + rounds++; + } + System.out.println("filled in "+CASES.size()+" cases from "+originalLookups.length+" original cases in "+rounds+" rounds"); + if (false) { + System.out.println("CASES: {"); + for (LookupCase lc : CASES) { + System.out.println(lc); + Set<LookupCase> edges = CASE_EDGES.get(lc); + if (edges != null) + for (LookupCase prev : edges) { + System.out.println("\t"+prev); + } + } + System.out.println("}"); + } + } + + @Test public void test() { + makeCases(lookups()); + if (verbosity > 0) { + verbosity += 9; + Method pro_in_self = targetMethod(THIS_CLASS, PROTECTED, methodType(void.class)); + testOneAccess(lookupCase("AccessControlTest/public"), pro_in_self, "find"); + testOneAccess(lookupCase("Remote_subclass/public"), pro_in_self, "find"); + testOneAccess(lookupCase("Remote_subclass"), pro_in_self, "find"); + verbosity -= 9; + } + Set<Class<?>> targetClassesDone = new HashSet<>(); + for (LookupCase targetCase : CASES) { + Class<?> targetClass = targetCase.lookupClass(); + if (!targetClassesDone.add(targetClass)) continue; // already saw this one + String targetPlace = placeName(targetClass); + if (targetPlace == null) continue; // Object, String, not a target + for (int targetAccess : ACCESS_CASES) { + MethodType methodType = methodType(void.class); + Method method = targetMethod(targetClass, targetAccess, methodType); + // Try to access target method from various contexts. + for (LookupCase sourceCase : CASES) { + testOneAccess(sourceCase, method, "find"); + testOneAccess(sourceCase, method, "unreflect"); + } + } + } + System.out.println("tested "+testCount+" access scenarios; "+testCountFails+" accesses were denied"); + } + + private int testCount, testCountFails; + + private void testOneAccess(LookupCase sourceCase, Method method, String kind) { + Class<?> targetClass = method.getDeclaringClass(); + String methodName = method.getName(); + MethodType methodType = methodType(method.getReturnType(), method.getParameterTypes()); + boolean willAccess = sourceCase.willAccess(method); + boolean didAccess = false; + ReflectiveOperationException accessError = null; + try { + switch (kind) { + case "find": + if ((method.getModifiers() & Modifier.STATIC) != 0) + sourceCase.lookup().findStatic(targetClass, methodName, methodType); + else + sourceCase.lookup().findVirtual(targetClass, methodName, methodType); + break; + case "unreflect": + sourceCase.lookup().unreflect(method); + break; + default: + throw new AssertionError(kind); + } + didAccess = true; + } catch (ReflectiveOperationException ex) { + accessError = ex; + } + if (willAccess != didAccess) { + System.out.println(sourceCase+" => "+targetClass.getSimpleName()+"."+methodName+methodType); + System.out.println("fail on "+method+" ex="+accessError); + assertEquals(willAccess, didAccess); + } + testCount++; + if (!didAccess) testCountFails++; + } + + static Method targetMethod(Class<?> targetClass, int targetAccess, MethodType methodType) { + String methodName = accessName(targetAccess)+placeName(targetClass); + if (verbosity >= 2) + System.out.println(targetClass.getSimpleName()+"."+methodName+methodType); + try { + Method method = targetClass.getDeclaredMethod(methodName, methodType.parameterArray()); + assertEquals(method.getReturnType(), methodType.returnType()); + int haveMods = method.getModifiers(); + assert(Modifier.isStatic(haveMods)); + assert(targetAccess == fixMods(haveMods)); + return method; + } catch (NoSuchMethodException ex) { + throw new AssertionError(methodName, ex); + } + } + + static String placeName(Class<?> cls) { + // return "self", "sibling", "nestmate", etc. + if (cls == AccessControlTest.class) return "self"; + String cln = cls.getSimpleName(); + int under = cln.lastIndexOf('_'); + if (under < 0) return null; + return cln.substring(under+1); + } + static String accessName(int acc) { + switch (acc) { + case PUBLIC: return "pub_in_"; + case PROTECTED: return "pro_in_"; + case PACKAGE: return "pkg_in_"; + case PRIVATE: return "pri_in_"; + } + assert(false); + return "?"; + } + private static final int[] ACCESS_CASES = { + PUBLIC, PACKAGE, PRIVATE, PROTECTED + }; + /** Return one of the ACCESS_CASES. */ + static int fixMods(int mods) { + mods &= (PUBLIC|PRIVATE|PROTECTED); + switch (mods) { + case PUBLIC: case PRIVATE: case PROTECTED: return mods; + case 0: return PACKAGE; + } + throw new AssertionError(mods); + } + + static Lookup[] lookups() { + ArrayList<Lookup> tem = new ArrayList<>(); + Collections.addAll(tem, + AccessControlTest.lookup_in_self(), + Inner_nestmate.lookup_in_nestmate(), + AccessControlTest_sibling.lookup_in_sibling()); + if (true) { + Collections.addAll(tem,Acquaintance_remote.lookups()); + } else { + try { + Class<?> remc = Class.forName("test.java.lang.invoke.AccessControlTest_subpkg.Acquaintance_remote"); + Lookup[] remls = (Lookup[]) remc.getMethod("lookups").invoke(null); + Collections.addAll(tem, remls); + } catch (ReflectiveOperationException ex) { + throw new LinkageError("reflection failed", ex); + } + } + tem.add(publicLookup()); + tem.add(publicLookup().in(String.class)); + tem.add(publicLookup().in(List.class)); + return tem.toArray(new Lookup[0]); + } + + static Lookup lookup_in_self() { + return MethodHandles.lookup(); + } + static public void pub_in_self() { } + static protected void pro_in_self() { } + static /*package*/ void pkg_in_self() { } + static private void pri_in_self() { } + + static class Inner_nestmate { + static Lookup lookup_in_nestmate() { + return MethodHandles.lookup(); + } + static public void pub_in_nestmate() { } + static protected void pro_in_nestmate() { } + static /*package*/ void pkg_in_nestmate() { } + static private void pri_in_nestmate() { } + } +} +class AccessControlTest_sibling { + static Lookup lookup_in_sibling() { + return MethodHandles.lookup(); + } + static public void pub_in_sibling() { } + static protected void pro_in_sibling() { } + static /*package*/ void pkg_in_sibling() { } + static private void pri_in_sibling() { } +} + +// This guy tests access from outside the package: +/* +package test.java.lang.invoke.AccessControlTest_subpkg; +public class Acquaintance_remote { + public static Lookup[] lookups() { ... + } + ... +} +*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/java/lang/invoke/AccessControlTest_subpkg/Acquaintance_remote.java Wed Jun 27 18:39:43 2012 -0700 @@ -0,0 +1,42 @@ +package test.java.lang.invoke.AccessControlTest_subpkg; +import test.java.lang.invoke.AccessControlTest; +import java.lang.invoke.*; +import static java.lang.invoke.MethodHandles.*; + +// This guy tests access from outside the package test.java.lang.invoke: +public class Acquaintance_remote { + public static Lookup[] lookups() { + return new Lookup[] { + Acquaintance_remote.lookup_in_remote(), + Remote_subclass.lookup_in_subclass(), + Remote_hidden.lookup_in_hidden() + }; + } + + public static Lookup lookup_in_remote() { + return MethodHandles.lookup(); + } + static public void pub_in_remote() { } + static protected void pro_in_remote() { } + static /*package*/ void pkg_in_remote() { } + static private void pri_in_remote() { } + + static public class Remote_subclass extends AccessControlTest { + static Lookup lookup_in_subclass() { + return MethodHandles.lookup(); + } + static public void pub_in_subclass() { } + static protected void pro_in_subclass() { } + static /*package*/ void pkg_in_subclass() { } + static private void pri_in_subclass() { } + } + static /*package*/ class Remote_hidden { + static Lookup lookup_in_hidden() { + return MethodHandles.lookup(); + } + static public void pub_in_hidden() { } + static protected void pro_in_hidden() { } + static /*package*/ void pkg_in_hidden() { } + static private void pri_in_hidden() { } + } +}
--- a/test/java/net/Socket/setReuseAddress/Basic.java Tue Jun 26 09:54:29 2012 -0700 +++ b/test/java/net/Socket/setReuseAddress/Basic.java Wed Jun 27 18:39:43 2012 -0700 @@ -26,6 +26,8 @@ * @bug 4476378 * @summary Check the specific behaviour of the setReuseAddress(boolean) * method. + * @run main Basic + * @run main/othervm -Dsun.net.useExclusiveBind Basic */ import java.net.*; @@ -170,7 +172,12 @@ s2.bind( new InetSocketAddress(s1.getLocalPort()) ); passed(); } catch (BindException e) { - failed(); + if (System.getProperty("sun.net.useExclusiveBind") != null) { + // exclusive bind enabled - expected result + passed(); + } else { + failed(); + } } s2.close();
--- a/test/java/net/Socket/setReuseAddress/Restart.java Tue Jun 26 09:54:29 2012 -0700 +++ b/test/java/net/Socket/setReuseAddress/Restart.java Wed Jun 27 18:39:43 2012 -0700 @@ -26,6 +26,8 @@ * @bug 4476378 * @summary Check that SO_REUSEADDR allows a server to restart * after a crash. + * @run main Restart + * @run main/othervm -Dsun.net.useExclusiveBind Restart */ import java.net.*; @@ -57,6 +59,12 @@ // close the client socket s1.close(); + } catch (BindException be) { + if (System.getProperty("sun.net.useExclusiveBind") != null) { + // exclusive bind, expected exception + } else { + throw be; + } } finally { if (ss != null) ss.close(); if (s1 != null) s1.close();
--- a/test/java/nio/channels/AsyncCloseAndInterrupt.java Tue Jun 26 09:54:29 2012 -0700 +++ b/test/java/nio/channels/AsyncCloseAndInterrupt.java Wed Jun 27 18:39:43 2012 -0700 @@ -644,9 +644,9 @@ initPipes(); initFile(); - if (TestUtil.onME()) { + if (TestUtil.onWindows()) { log.println("WARNING: Cannot test FileChannel transfer operations" - + " on Windows 95/98/ME"); + + " on Windows"); } else { test(diskFileChannelFactory, TRANSFER_TO); test(diskFileChannelFactory, TRANSFER_FROM);
--- a/test/java/nio/channels/SocketChannel/AdaptSocket.java Tue Jun 26 09:54:29 2012 -0700 +++ b/test/java/nio/channels/SocketChannel/AdaptSocket.java Wed Jun 27 18:39:43 2012 -0700 @@ -28,9 +28,7 @@ import java.io.*; import java.net.*; -import java.nio.*; import java.nio.channels.*; -import java.nio.charset.*; public class AdaptSocket { @@ -136,9 +134,8 @@ out.println("timeout: " + so.getSoTimeout()); testRead(so, shouldTimeout); - if (!TestUtil.onME()) - for (int i = 0; i < 4; i++) - testRead(so, shouldTimeout); + for (int i = 0; i < 4; i++) + testRead(so, shouldTimeout); sc.close(); }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/java/nio/channels/SocketChannel/CloseDuringWrite.java Wed Jun 27 18:39:43 2012 -0700 @@ -0,0 +1,97 @@ +/* + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* @test + * @summary Test asynchronous close during a blocking write + */ + +import java.io.Closeable; +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.channels.*; +import java.net.*; +import java.util.concurrent.*; +import java.util.Random; + +public class CloseDuringWrite { + + static final Random rand = new Random(); + + /** + * A task that closes a Closeable + */ + static class Closer implements Callable<Void> { + final Closeable c;