Mercurial > hg > release > icedtea7-forest-2.3 > jdk
changeset 5399:0f03c3a0bf94
Merge jdk7u6-b16
line wrap: on
line diff
--- a/.hgtags Thu Jun 28 00:42:43 2012 +0100 +++ b/.hgtags Fri Jun 29 15:21:00 2012 +0100 @@ -165,12 +165,21 @@ 907555f6191a0cd84886b07c4c40bc6ce498b8b1 icedtea-2.2-branchpoint c929e96aa059c8b79ab94d5b0b1a242ca53a5b32 jdk7u4-b13 09f612bac047b132bb9bf7d4aa8afe6ea4d5b938 jdk7u4-b14 +9e15d1f3fa4b35b8c950323c76b9ed094d434b97 jdk7u5-b01 00f0f18379ecb927a515d1540682a922bd0227ec jdk7u4-b15 df20c60949f8cef09be1e89d754cff366eaf7aa4 jdk7u4-b16 b4401b362fd8076d705aa57acb9967b5962a795d jdk7u4-b17 084825fc677ef6adecab9400a2625eb0e5579509 jdk7u4-b18 0f9aacb27534e7bba7ba30a2700a9c828416929d jdk7u4-b19 1a495432b42a496bde0ddfa16c6462742d7a8cf1 jdk7u4-b20 +81a0f71a895e7f386efdd481eb53fb3ca0597438 jdk7u4-b30 +0573d282ca247a2848c26fe2800c7f3aa8d2e882 jdk7u4-b21 +42ca70fcb2cedc0c4f1d860baa839e19a08770db jdk7u4-b22 +3e2214ca56663a1bc65d178a23ed2ee938814e38 jdk7u4-b31 +6ccd627b4af2fbddad3a52bad5db45027668da58 jdk7u5-b02 +b52b91e22ae2c598b77d4098dcffcb6c9a50321e jdk7u5-b04 +a6911b758836f1e9c8a0577fe655d6f79ee5f4ad jdk7u5-b05 +617a55f2478b7dace5d57eb7b3f68f311a17b43a jdk7u5-b30 09f612bac047b132bb9bf7d4aa8afe6ea4d5b938 jdk7u6-b01 420027ae37b33e350877f3616ec857c00bd4c958 jdk7u6-b02 8e8cedfb1ee265f4aff8441bae2ebf0f5b1ee853 jdk7u6-b03 @@ -184,3 +193,6 @@ 18a1b4f0681ae6e748fc60162dd76e357de3304b jdk7u6-b11 76306dce87104d9f333db3371ca97c80cac9674a jdk7u6-b12 aa49fe7490963f0c53741fbca3a175e0fec93951 jdk7u6-b13 +3ce621d9b988abcccd86b52a97ea39133006c245 jdk7u6-b14 +e50c9a5f001c61f49e7e71b25b97ed4095d3557b jdk7u6-b15 +966e21feb7f088e318a35b069c1a61ff6363e554 jdk7u6-b16
--- a/make/bridge/Jabswitch/Makefile Thu Jun 28 00:42:43 2012 +0100 +++ b/make/bridge/Jabswitch/Makefile Fri Jun 29 15:21:00 2012 +0100 @@ -45,7 +45,7 @@ JAB_MANIFEST_OUT = $(TEMPDIR)/jabswitch.exe.intermediate.manifest RC_FLAGS += /fo "$(VERSIONRES)" -OTHER_CPPFLAGS += /Fo"$(TEMPDIR)/" /Fd"$(TEMPDIR)/" /analyze- /Od /Gd /nologo /MDd /Gm /D "WIN32" /D "_WINDOWS" /D "_UNICODE" /D "UNICODE" /RTC1 /W3 /ZI /Zc:wchar_t /EHsc +OTHER_CPPFLAGS += /MD /Fo"$(TEMPDIR)/" /Fd"$(TEMPDIR)/" /analyze- /Od /Gd /nologo /Gm /D "WIN32" /D "_WINDOWS" /D "_UNICODE" /D "UNICODE" /RTC1 /W3 /ZI /Zc:wchar_t /EHsc LDDFLAGS += Advapi32.lib Version.lib User32.lib all: buildexe copyfilejab
--- a/make/com/oracle/Makefile Thu Jun 28 00:42:43 2012 +0100 +++ b/make/com/oracle/Makefile Fri Jun 29 15:21:00 2012 +0100 @@ -30,6 +30,24 @@ #SUBDIRS_MAKEFLAGS += JAVAC_LINT_OPTIONS=-Xlint:all,-deprecation,-path include $(BUILDDIR)/common/Defs.gmk +JFR_SRCDIRS_EXIST := $(shell \ + if [ -d $(CLOSED_SHARE_SRC)/native/oracle/jfr ] ; then \ + echo true; \ + else \ + echo false; \ + fi) + +JFR = +ifndef OPENJDK + ifndef JAVASE_EMBEDDED + ifeq ($(JFR_SRCDIRS_EXIST), true) + ifneq (${ARCH},arm) + JFR = jfr + endif + endif + endif +endif + # build com/oracle/security/ucrypto on Solaris platform for non-OpenJDK builds UCRYPTO = ifndef OPENJDK @@ -38,15 +56,6 @@ endif endif -JFR = -ifndef OPENJDK -ifndef JAVASE_EMBEDDED -ifneq (${ARCH},arm) - JFR = jfr -endif -endif -endif - SUBDIRS = $(JFR) net nio util $(UCRYPTO) include $(BUILDDIR)/common/Subdirs.gmk
--- a/make/com/oracle/security/ucrypto/Makefile Thu Jun 28 00:42:43 2012 +0100 +++ b/make/com/oracle/security/ucrypto/Makefile Fri Jun 29 15:21:00 2012 +0100 @@ -139,7 +139,7 @@ # CLASSDESTDIR = $(TEMPDIR)/classes JAVAHFLAGS = -bootclasspath \ - "$(CLASSDESTDIR)$(CLASSPATH_SEPARATOR)$(CLASSBINDIR)" + "$(CLASSDESTDIR)$(CLASSPATH_SEPARATOR)$(CLASSBINDIR)$(JCE_PATH)" include $(BUILDDIR)/common/Mapfile-vers.gmk include $(BUILDDIR)/common/Library.gmk
--- a/make/common/Defs-solaris.gmk Thu Jun 28 00:42:43 2012 +0100 +++ b/make/common/Defs-solaris.gmk Fri Jun 29 15:21:00 2012 +0100 @@ -232,18 +232,21 @@ # optimization flags as used by FASTDEBUG. We also want all the # debug info in one place (-xs). # +CFLAGS_COMMON= +CXXFLAGS_COMMON= ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) ifeq ($(LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS),1) ifeq ($(VARIANT), OPT) - CC_OPT = -g -xs $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL)) - CXX_OPT = -g0 -xs $(CXX_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL)) + OPTIMIZATION_LEVEL = $(FASTDEBUG_OPTIMIZATION_LEVEL) + CFLAGS_COMMON += -g -xs + CXXFLAGS_COMMON += -g0 -xs endif CFLAGS_DEBUG_OPTION += -xs CXXFLAGS_DEBUG_OPTION += -xs endif endif -CFLAGS_COMMON = -L$(OBJDIR) +CFLAGS_COMMON += -L$(OBJDIR) # Do not allow C99 language features like declarations in code etc. CFLAGS_COMMON += -xc99=%none
--- a/make/common/Release-embedded.gmk Thu Jun 28 00:42:43 2012 +0100 +++ b/make/common/Release-embedded.gmk Fri Jun 29 15:21:00 2012 +0100 @@ -159,11 +159,14 @@ @# Remove misc. other files $(RM) -r $(JRE_REDUCED_IMAGE_DIR)/man - $(RM) -f $(JRE_REDUCED_IMAGE_DIR)/CHANGES + $(RM) $(JRE_REDUCED_IMAGE_DIR)/CHANGES @# Copy back in the attach library $(CP) $(JDK_IMAGE_DIR)/jre/lib/$(LIBARCH)/$(LIB_PREFIX)attach.$(LIB_SUFFIX) $(JRE_REDUCED_IMAGE_DIR)/lib/$(LIBARCH) + @# Remove FDS files: debuginfo, diz + $(FIND) $(JRE_REDUCED_IMAGE_DIR)/lib/$(LIBARCH) -type f \( -name "*.debuginfo" -o -name "*.diz" \) -print | $(XARGS) $(RM) + @$(ECHO) Done Creating Reduced JRE # @@ -180,33 +183,33 @@ $(TAR) cf - . | ($(CD) $(JRE_REDUCED_HEADLESS_IMAGE_DIR); $(TAR) xf - ); @# Replace the full rt.jar with the headless rt.jar - $(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/rt.jar + $(RM) $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/rt.jar $(CP) $(HL_RT_JAR) $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/rt.jar @# @# Remove all of the files that are not needed for the @# reduced Headless JRE @# - $(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/$(LIBARCH)/gtkhelper + $(RM) $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/$(LIBARCH)/gtkhelper $(RM) $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/$(LIBARCH)/libjsoundalsa.so $(RM) -r $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/audio - $(RM) -fr $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/applet + $(RM) -r $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/applet $(RM) $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/$(LIBARCH)/awt_robot $(RM) -r $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/$(LIBARCH)/xawt $(RM) -r $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/$(LIBARCH)/libsplashscreen.so @# Remove oblique fonts and reduce font support to LucidaSansRegular only - $(RM) -fr $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/oblique-fonts - $(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaBrightDemiBold.ttf - $(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaBrightDemiItalic.ttf - $(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaBrightItalic.ttf - $(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaBrightRegular.ttf - $(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaSansDemiBold.ttf - $(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaTypewriterBold.ttf - $(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaTypewriterRegular.ttf + $(RM) -r $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/oblique-fonts + $(RM) $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaBrightDemiBold.ttf + $(RM) $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaBrightDemiItalic.ttf + $(RM) $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaBrightItalic.ttf + $(RM) $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaBrightRegular.ttf + $(RM) $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaSansDemiBold.ttf + $(RM) $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaTypewriterBold.ttf + $(RM) $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/LucidaTypewriterRegular.ttf ifeq ($(PLATFORM), linux) # put out minimal fonts.dir file for the remaining font - $(RM) -f $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir + $(RM) $(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir $(ECHO) 6>$(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir $(ECHO) "LucidaSansRegular.ttf -b&h-lucidasans-medium-r-normal-sans-0-0-0-0-p-0-iso8859-1">>$(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir $(ECHO) "LucidaSansRegular.ttf -b&h-lucidasans-medium-r-normal-sans-0-0-0-0-p-0-iso8859-2">>$(JRE_REDUCED_HEADLESS_IMAGE_DIR)/lib/fonts/fonts.dir
--- a/make/common/shared/Defs-java.gmk Thu Jun 28 00:42:43 2012 +0100 +++ b/make/common/shared/Defs-java.gmk Fri Jun 29 15:21:00 2012 +0100 @@ -1,5 +1,5 @@ # -# Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2007, 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 @@ -140,7 +140,7 @@ # built implicitly/explicitly. # ifeq ($(wildcard $(SHARE_SRC)/classes/javax/crypto/Cipher.java),) - JCEFLAGS = $(CLASSPATH_SEPARATOR)$(LIBDIR)/jce.jar + JCE_PATH = $(CLASSPATH_SEPARATOR)$(LIBDIR)/jce.jar endif # Add the source level @@ -153,11 +153,11 @@ CLASS_VERSION = -target $(TARGET_CLASS_VERSION) JAVACFLAGS += $(CLASS_VERSION) JAVACFLAGS += -encoding ascii -JAVACFLAGS += "-Xbootclasspath:$(CLASSBINDIR)$(JCEFLAGS)" +JAVACFLAGS += "-Xbootclasspath:$(CLASSBINDIR)$(JCE_PATH)" JAVACFLAGS += $(OTHER_JAVACFLAGS) # Needed for javah -JAVAHFLAGS += -bootclasspath "$(CLASSBINDIR)$(JCEFLAGS)" +JAVAHFLAGS += -bootclasspath "$(CLASSBINDIR)$(JCE_PATH)" # Needed for javadoc to ensure it builds documentation # against the newly built classes
--- a/make/sun/font/Makefile Thu Jun 28 00:42:43 2012 +0100 +++ b/make/sun/font/Makefile Fri Jun 29 15:21:00 2012 +0100 @@ -92,7 +92,8 @@ # Turn off aliasing with GCC for ExtensionSubtables.cpp ifeq ($(PLATFORM), linux) - OTHER_CXXFLAGS += -fno-strict-aliasing + CXXFLAGS += $(CXXFLAGS_$(@F)) + CXXFLAGS_ExtensionSubtables.o = -fno-strict-aliasing endif #In the non-OpenJDK mode we need to build T2K
--- a/make/sun/security/ec/Makefile Thu Jun 28 00:42:43 2012 +0100 +++ b/make/sun/security/ec/Makefile Fri Jun 29 15:21:00 2012 +0100 @@ -156,7 +156,8 @@ $(PKGDIR)/ECDSASignature.java \ $(PKGDIR)/ECKeyPairGenerator.java - JAVAHFLAGS = -bootclasspath "$(CLASSDESTDIR)$(CLASSPATH_SEPARATOR)$(CLASSBINDIR)" + JAVAHFLAGS = -bootclasspath \ + "$(CLASSDESTDIR)$(CLASSPATH_SEPARATOR)$(CLASSBINDIR)$(JCE_PATH)" # # C and C++ files
--- a/make/sun/security/mscapi/Makefile Thu Jun 28 00:42:43 2012 +0100 +++ b/make/sun/security/mscapi/Makefile Fri Jun 29 15:21:00 2012 +0100 @@ -149,7 +149,9 @@ # Rules # CLASSDESTDIR = $(TEMPDIR)/classes -JAVAHFLAGS = -bootclasspath "$(CLASSDESTDIR)$(CLASSPATH_SEPARATOR)$(CLASSBINDIR)" + +JAVAHFLAGS = -bootclasspath \ + "$(CLASSDESTDIR)$(CLASSPATH_SEPARATOR)$(CLASSBINDIR)$(JCE_PATH)" include $(BUILDDIR)/common/Mapfile-vers.gmk
--- a/make/sun/security/pkcs11/Makefile Thu Jun 28 00:42:43 2012 +0100 +++ b/make/sun/security/pkcs11/Makefile Fri Jun 29 15:21:00 2012 +0100 @@ -147,7 +147,8 @@ # Rules # CLASSDESTDIR = $(TEMPDIR)/classes -JAVAHFLAGS = -bootclasspath "$(CLASSDESTDIR)$(CLASSPATH_SEPARATOR)$(CLASSBINDIR)" +JAVAHFLAGS = -bootclasspath \ + "$(CLASSDESTDIR)$(CLASSPATH_SEPARATOR)$(CLASSBINDIR)$(JCE_PATH)" include $(BUILDDIR)/common/Mapfile-vers.gmk
--- a/src/macosx/native/sun/awt/AWTWindow.h Thu Jun 28 00:42:43 2012 +0100 +++ b/src/macosx/native/sun/awt/AWTWindow.h Fri Jun 29 15:21:00 2012 +0100 @@ -44,6 +44,7 @@ NSSize javaMaxSize; jint styleBits; BOOL isEnabled; + NSWindow *nsWindow; } // An instance of either AWTWindow_Normal or AWTWindow_Panel
--- a/src/share/classes/com/sun/jndi/dns/DnsClient.java Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/classes/com/sun/jndi/dns/DnsClient.java Fri Jun 29 15:21:00 2012 +0100 @@ -622,11 +622,7 @@ //------------------------------------------------------------------------- - private static boolean debug = false; - - public static void setDebug(boolean flag) { - debug = flag; - } + private static final boolean debug = false; private static void dprint(String mess) { if (debug) {
--- a/src/share/classes/java/nio/MappedByteBuffer.java Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/classes/java/nio/MappedByteBuffer.java Fri Jun 29 15:21:00 2012 +0100 @@ -139,6 +139,9 @@ return isLoaded0(mappingAddress(offset), length, Bits.pageCount(length)); } + // not used, but a potential target for a store, see load() for details. + private static byte unused; + /** * Loads this buffer's content into physical memory. * @@ -157,15 +160,20 @@ long length = mappingLength(offset); load0(mappingAddress(offset), length); - // touch each page + // Read a byte from each page to bring it into memory. A checksum + // is computed as we go along to prevent the compiler from otherwise + // considering the loop as dead code. Unsafe unsafe = Unsafe.getUnsafe(); int ps = Bits.pageSize(); int count = Bits.pageCount(length); long a = mappingAddress(offset); + byte x = 0; for (int i=0; i<count; i++) { - unsafe.getByte(a); + x ^= unsafe.getByte(a); a += ps; } + if (unused != 0) + unused = x; return this; }
--- a/src/share/classes/java/util/HashMap.java Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/classes/java/util/HashMap.java Fri Jun 29 15:21:00 2012 +0100 @@ -186,7 +186,7 @@ * {@code 2147483648 } ({@code Integer.MAX_VALUE}) value ensures that * alternative hashing is never used. */ - static final int ALTERNATE_HASHING_THRESHOLD_DEFAULT = 0; + static final int ALTERNATE_HASHING_THRESHOLD_DEFAULT = 512; /** * holds values which can't be initialized until after VM is booted. @@ -679,7 +679,7 @@ Map.Entry<K,V> entry = (Map.Entry<K,V>) o; Object key = entry.getKey(); - int hash = (key == null) ? 0 : hash(key.hashCode()); + int hash = (key == null) ? 0 : hash(key); int i = indexFor(hash, table.length); Entry<K,V> prev = table[i]; Entry<K,V> e = prev;
--- a/src/share/classes/java/util/Hashtable.java Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/classes/java/util/Hashtable.java Fri Jun 29 15:21:00 2012 +0100 @@ -174,7 +174,7 @@ * {@code 2147483648 } ({@code Integer.MAX_VALUE}) value ensures that * alternative hashing is never used. */ - static final int ALTERNATE_HASHING_THRESHOLD_DEFAULT = 0; + static final int ALTERNATE_HASHING_THRESHOLD_DEFAULT = 512; /** * holds values which can't be initialized until after VM is booted. @@ -1063,7 +1063,7 @@ */ private static class Entry<K,V> implements Map.Entry<K,V> { int hash; - K key; + final K key; V value; Entry<K,V> next;
--- a/src/share/classes/java/util/WeakHashMap.java Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/classes/java/util/WeakHashMap.java Fri Jun 29 15:21:00 2012 +0100 @@ -195,7 +195,7 @@ * whereas {@code 2147483648 } ({@code Integer.MAX_VALUE}) value ensures * that alternative hashing is never used. */ - static final int ALTERNATE_HASHING_THRESHOLD_DEFAULT = 0; + static final int ALTERNATE_HASHING_THRESHOLD_DEFAULT = 512; /** * holds values which can't be initialized until after VM is booted.
--- a/src/share/classes/javax/swing/JPopupMenu.java Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/classes/javax/swing/JPopupMenu.java Fri Jun 29 15:21:00 2012 +0100 @@ -819,7 +819,7 @@ popupFactory.setPopupType(PopupFactory.LIGHT_WEIGHT_POPUP); } else { - popupFactory.setPopupType(PopupFactory.MEDIUM_WEIGHT_POPUP); + popupFactory.setPopupType(PopupFactory.HEAVY_WEIGHT_POPUP); } // adjust the location of the popup
--- a/src/share/classes/javax/swing/PopupFactory.java Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/classes/javax/swing/PopupFactory.java Fri Jun 29 15:21:00 2012 +0100 @@ -202,12 +202,6 @@ popupType = HEAVY_WEIGHT_POPUP; break; } - } else if (c instanceof Window) { - Window w = (Window) c; - if (!w.isOpaque() || w.getOpacity() < 1 || w.getShape() != null) { - popupType = HEAVY_WEIGHT_POPUP; - break; - } } c = c.getParent(); }
--- a/src/share/classes/sun/nio/ch/DatagramChannelImpl.java Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/classes/sun/nio/ch/DatagramChannelImpl.java Fri Jun 29 15:21:00 2012 +0100 @@ -661,7 +661,12 @@ throw new AlreadyBoundException(); InetSocketAddress isa; if (local == null) { - isa = new InetSocketAddress(0); + // only Inet4Address allowed with IPv4 socket + if (family == StandardProtocolFamily.INET) { + isa = new InetSocketAddress(InetAddress.getByName("0.0.0.0"), 0); + } else { + isa = new InetSocketAddress(0); + } } else { isa = Net.checkAddress(local);
--- a/src/share/classes/sun/nio/ch/DevPollSelectorProvider.java Thu Jun 28 00:42:43 2012 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2001, 2003, 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 sun.nio.ch; - -import java.io.IOException; -import java.nio.channels.*; -import java.nio.channels.spi.*; - -public class DevPollSelectorProvider - extends SelectorProviderImpl -{ - public AbstractSelector openSelector() throws IOException { - return new DevPollSelectorImpl(this); - } - - public Channel inheritedChannel() throws IOException { - return InheritedChannel.getChannel(); - } -}
--- a/src/share/classes/sun/security/ssl/SSLContextImpl.java Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/classes/sun/security/ssl/SSLContextImpl.java Fri Jun 29 15:21:00 2012 +0100 @@ -144,7 +144,7 @@ throws KeyManagementException { for (int i = 0; kms != null && i < kms.length; i++) { KeyManager km = kms[i]; - if (km instanceof X509KeyManager == false) { + if (!(km instanceof X509KeyManager)) { continue; } if (SunJSSE.isFIPS()) { @@ -331,11 +331,11 @@ Collection<CipherSuite> allowedCipherSuites = CipherSuite.allowedCipherSuites(); - ArrayList<CipherSuite> suites = new ArrayList<>(); + TreeSet<CipherSuite> suites = new TreeSet<>(); if (!(protocols.collection().isEmpty()) && protocols.min.v != ProtocolVersion.NONE.v) { for (CipherSuite suite : allowedCipherSuites) { - if (suite.allowed == false || suite.priority < minPriority) { + if (!suite.allowed || suite.priority < minPriority) { continue; }
--- a/src/share/classes/sun/security/ssl/ServerHandshaker.java Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/classes/sun/security/ssl/ServerHandshaker.java Fri Jun 29 15:21:00 2012 +0100 @@ -1313,7 +1313,7 @@ return false; } } - return (kerberosKeys != null); + return (kerberosKeys != null && kerberosKeys.length > 0); } catch (PrivilegedActionException e) { // Likely exception here is LoginExceptin if (debug != null && Debug.isOn("handshake")) {
--- a/src/share/classes/sun/security/ssl/krb5/Krb5ProxyImpl.java Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/classes/sun/security/ssl/krb5/Krb5ProxyImpl.java Fri Jun 29 15:21:00 2012 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 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 @@ -62,7 +62,10 @@ @Override public SecretKey[] getServerKeys(AccessControlContext acc) throws LoginException { - return Krb5Util.getServiceCreds(GSSCaller.CALLER_SSL_SERVER, null, acc).getKKeys(); + Krb5Util.ServiceCreds serviceCreds = + Krb5Util.getServiceCreds(GSSCaller.CALLER_SSL_SERVER, null, acc); + return serviceCreds != null ? serviceCreds.getKKeys() : + new KerberosKey[0]; } @Override
--- a/src/share/classes/sun/tools/jar/Main.java Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/classes/sun/tools/jar/Main.java Fri Jun 29 15:21:00 2012 +0100 @@ -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
--- a/src/share/classes/sun/tools/native2ascii/Main.java Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/classes/sun/tools/native2ascii/Main.java Fri Jun 29 15:21:00 2012 +0100 @@ -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
--- a/src/share/classes/sun/util/resources/LocaleNames_de.properties Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/classes/sun/util/resources/LocaleNames_de.properties Fri Jun 29 15:21:00 2012 +0100 @@ -1,4 +1,3 @@ -# # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # @@ -41,7 +40,7 @@ aa=Afar ab=Abchasisch -ae=Avestisch +ae=Avestisch af=Afrikaans ak=Akan am=Amharisch @@ -62,15 +61,15 @@ br=Bretonisch bs=Bosnisch ca=Katalanisch -ce=Tschetschenisch +ce=Chechen ch=Chamorro co=Korsisch cr=Cree cs=Tschechisch -cu=Kirchenslawisch +cu=Church Slavic cv=Chuvash cy=Walisisch -da=D\u00E4nisch +da=D\u00e4nisch de=Deutsch dv=Divehi dz=Bhutani @@ -85,17 +84,17 @@ ff=Fulah fi=Finnisch fj=Fidschi -fo=F\u00E4r\u00F6isch -fr=Franz\u00F6sisch +fo=Far\u00f6isch +fr=Franz\u00f6sisch fy=Friesisch ga=Irisch -gd=Schottisches G\u00E4lisch +gd=Schottisches G\u00e4lisch gl=Galizisch gn=Guarani gu=Gujaratisch gv=Manx ha=Haussa -he=Hebr\u00E4isch +he=Hebr\u00e4isch hi=Hindi ho=Hiri Motu hr=Kroatisch @@ -111,19 +110,19 @@ ik=Inupiak in=Indonesisch io=Ido -is=Isl\u00E4ndisch +is=Isl\u00e4ndisch it=Italienisch iu=Inuktitut -iw=Hebr\u00E4isch +iw=Hebr\u00e4isch ja=Japanisch ji=Jiddish -jv=Javanesisch +jv=Javanisch ka=Georgisch kg=Kongo ki=Kikuyu kj=Kwanyama kk=Kasachisch -kl=Gr\u00F6nl\u00E4ndisch +kl=Gr\u00f6nl\u00e4ndisch km=Kambodschanisch kn=Kannada ko=Koreanisch @@ -134,7 +133,7 @@ kw=Cornish ky=Kirgisisch la=Lateinisch -lb=Luxemburgisch +lb=Letzeburgisch lg=Ganda li=Limburgisch ln=Lingalisch @@ -153,15 +152,15 @@ ms=Malay mt=Maltesisch my=Burmesisch -na=Nauru -nb=Norwegisch Bokm\u00E5l +na=Nauruisch +nb=Norwegisch, Bokm\u00e5l nd=Nord-Ndebele -ne=Nepalesisch +ne=Nepalisch ng=Ndonga -nl=Niederl\u00E4ndisch +nl=Niederl\u00e4ndisch nn=Norwegisch, Nynorsk no=Norwegisch -nr=S\u00FCd-Ndebele +nr=S\u00fcd-Ndebele nv=Navajo ny=Nyanja oc=Okzitanisch @@ -175,14 +174,14 @@ ps=Paschtu (Pushto) pt=Portugiesisch qu=Quechua -rm=R\u00E4toromanisch +rm=R\u00e4toromanisch rn=Kirundisch -ro=Rum\u00E4nisch +ro=Rum\u00e4nisch ru=Russisch -rw=Kinyarwanda +rw=Ruanda sa=Sanskrit sc=Sardisch -sd=Sindhi +sd=Zinti se=Nord-Sami sg=Sango si=Singhalesisch @@ -193,12 +192,12 @@ so=Somalisch sq=Albanisch sr=Serbisch -ss=Swasil\u00E4ndisch +ss=Swasil\u00e4ndisch st=Sesothisch -su=Sundanesisch +su=Sudanesisch sv=Schwedisch sw=Suaheli -ta=Tamil +ta=Tamilisch te=Telugu tg=Tadschikisch th=Thai @@ -207,8 +206,8 @@ tl=Tagalog tn=Sezuan to=Tongaisch -tr=T\u00FCrkisch -ts=Tsonga +tr=T\u00fcrkisch +ts=Tsongaisch tt=Tatarisch tw=Twi ty=Tahitisch @@ -218,7 +217,7 @@ uz=Usbekisch ve=Venda vi=Vietnamesisch -vo=Volap\u00FCk +vo=Volap\u00fck wa=Wallonisch wo=Wolof xh=Xhosa @@ -541,7 +540,7 @@ nic=Cordoba niu=Niue-Sprache nno=Norwegisch, Nynorsk -nob=Bokm\u00E5l, Norwegisch +nob=Bokmal, Norwegisch nog=Nogai non=Altnordisch nor=Norwegisch @@ -578,7 +577,7 @@ pon=Ponapeanisch por=Portugiesisch pra=Prakrit -pro=Provenzalisch, Alt (bis 1500) +pro=Altprovenzalisch pus=Paschtunisch que=Quechua raj=Rajasthani @@ -622,7 +621,7 @@ smo=Samoanisch sms=Skolt-Lappisch sna=Schonisch -snd=Sindhi +snd=Zinti-Sprache snk=Soninke-Sprache sog=Sogdisch som=Somalisch @@ -673,7 +672,7 @@ tup=Tupi-Sprache tur=T\u00FCrkisch tut=Altaisch -tvl=Tuvalu +tvl=Elliceanisch twi=Twi tyv=Tuwinisch udm=Udmurtisch @@ -807,7 +806,7 @@ Narb=Altes Nordarabisch Nbat=Nabat\u00E4isch Nkgb=Nakhi Geba -Nkoo=N\u2019Ko +Nkoo=N'Ko Ogam=Ogham Olck=Ol Chiki Orkh=Orchon-Runen @@ -831,7 +830,7 @@ Saur=Saurashtra Sgnw=Geb\u00E4rdensprache Shaw=Shaw-Alphabet -Sind=Sindhi +Sind=Zinti-Sprache Sinh=Sinhala Sund=Sundanesisch Sylo=Syloti Nagri @@ -875,15 +874,15 @@ AI=Anguilla AL=Albanien AM=Armenien -AN=Niederl\u00E4ndische Antillen +AN=Niederl\u00e4ndische Antillen AO=Angola AQ=Antarktis AR=Argentinien AS=Amerikanisch-Samoa -AT=\u00D6sterreich +AT=\u00d6sterreich AU=Australien AW=Aruba -AX=\u00C5land-Inseln +AX=Aaland-Inseln AZ=Aserbaidschan BA=Bosnien und Herzegowina BB=Barbados @@ -903,7 +902,7 @@ BS=Bahamas BT=Bhutan BV=Bouvet-Insel -BW=Botswana +BW=Botsuana BY=Belarus BZ=Belize CA=Kanada @@ -912,7 +911,7 @@ CF=Zentralafrikanische Republik CG=Kongo CH=Schweiz -CI=Elfenbeink\u00FCste +CI=Elfenbeink\u00fcste CK=Cook-Inseln CL=Chile CM=Kamerun @@ -928,38 +927,38 @@ CZ=Tschechische Republik DE=Deutschland DJ=Dschibuti -DK=D\u00E4nemark +DK=D\u00e4nemark DM=Dominica DO=Dominikanische Republik DZ=Algerien EC=Ecuador EE=Estland -EG=\u00C4gypten +EG=\u00c4gypten EH=Westsahara ER=Eritrea ES=Spanien -ET=\u00C4thiopien +ET=\u00c4thiopien FI=Finnland FJ=Fidschi FK=Falkland-Inseln -FM=Mikronesisches Inselgebiet -FO=F\u00E4r\u00F6er-Inseln +FM=Mikronesien +FO=F\u00e4r\u00f6er-Inseln FR=Frankreich GA=Gabun -GB=Vereinigtes K\u00F6nigreich +GB=Vereinigtes K\u00f6nigreich GD=Grenada GE=Georgien -GF=Franz\u00F6sisch-Guayana +GF=Franz\u00f6sisch-Guayana GG=Guernsey GH=Ghana GI=Gibraltar -GL=Gr\u00F6nland +GL=Gr\u00f6nland GM=Gambia GN=Guinea GP=Guadeloupe -GQ=\u00C4quatorial-Guinea +GQ=\u00c4quatorial-Guinea GR=Griechenland -GS=S\u00FCdgeorgien und die S\u00FCdlichen Sandwich-Inseln +GS=S\u00fcd-Georgia und die s\u00fcdlichen Sandwich-Inseln GT=Guatemala GU=Guam GW=Guinea-Bissau @@ -991,7 +990,7 @@ KM=Komoren KN=Saint Kitts und Nevis KP=Nordkorea -KR=S\u00FCdkorea +KR=S\u00fcdkorea KW=Kuwait KY=Kaiman-Inseln KZ=Kasachstan @@ -1015,16 +1014,16 @@ MH=Marshall-Inseln MK=Mazedonien ML=Mali -MM=Birmanisch +MM=Myanmar MN=Mongolei MO=Macao -MP=N\u00F6rdliche Marianen +MP=N\u00f6rdliche Mariannen-Inseln MQ=Martinique MR=Mauretanien MS=Montserrat MT=Malta MU=Mauritius -MV=Malediven +MV=Maldiven MW=Malawi MX=Mexiko MY=Malaysia @@ -1044,7 +1043,7 @@ OM=Oman PA=Panama PE=Peru -PF=Franz\u00F6sisch-Polynesien +PF=Franz\u00f6sisch-Polynesien PG=Papua-Neuguinea PH=Philippinen PK=Pakistan @@ -1052,18 +1051,18 @@ PM=St. Pierre und Miquelon PN=Pitcairn PR=Puerto Rico -PS=Pal\u00E4stina +PS=Pal\u00e4stina PT=Portugal PW=Palau PY=Paraguay QA=Katar RE=Reunion -RO=Rum\u00E4nien +RO=Rum\u00e4nien RS=Serbien RU=Russland RW=Ruanda SA=Saudi-Arabien -SB=Salomonen +SB=Solomon-Inseln SC=Seychellen SD=Sudan SE=Schweden @@ -1084,7 +1083,7 @@ SZ=Swasiland TC=Turks- und Caicos-Inseln TD=Tschad -TF=Franz\u00F6sische S\u00FCdgebiete +TF=Franz\u00f6sische S\u00fcdgebiete TG=Togo TH=Thailand TJ=Tadschikistan @@ -1093,14 +1092,14 @@ TM=Turkmenistan TN=Tunesien TO=Tonga -TR=T\u00FCrkei +TR=T\u00fcrkei TT=Trinidad und Tobago TV=Tuvalu TW=Taiwan TZ=Tansania UA=Ukraine UG=Uganda -UM=\u00DCbrige Inseln im Pazifik der USA +UM=\u00dcbrige Inseln im Pazifik der USA US=Vereinigte Staaten von Amerika UY=Uruguay UZ=Usbekistan @@ -1115,7 +1114,7 @@ WS=Samoa YE=Jemen YT=Mayotte -ZA=S\u00FCdafrika +ZA=S\u00fcdafrika ZM=Sambia ZW=Simbabwe @@ -1152,19 +1151,3 @@ 154=Nordeuropa 155=Westeuropa 419=Lateinamerika und Karibik - -# variant names -# key is %%variant -# rarely localized - -%%EURO=Euro -%%B=Bokm\u00E5l -%%NY=Norwegisch (Nynorsk) - - -# locale name patterns -# rarely localized - -DisplayNamePattern={0,choice,0#|1#{1}|2#{1} ({2})} -ListPattern={0,choice,0#|1#{1}|2#{1},{2}|3#{1},{2},{3}} -ListCompositionPattern={0},{1}
--- a/src/share/classes/sun/util/resources/LocaleNames_es.properties Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/classes/sun/util/resources/LocaleNames_es.properties Fri Jun 29 15:21:00 2012 +0100 @@ -1,4 +1,3 @@ -# # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # @@ -41,124 +40,124 @@ aa=afar ab=abjasio -ae=av\u00E9stico +ae=av\u00e9stico af=afrikaans ak=akan -am=am\u00E1rico -an=aragon\u00E9s -ar=\u00E1rabe -as=asam\u00E9s +am=am\u00e1rico +an=aragon\u00e9s +ar=\u00e1rabe +as=asam\u00e9s av=avar ay=aimara -az=azer\u00ED +az=azer\u00ed ba=bashkir be=bielorruso -bg=b\u00FAlgaro +bg=b\u00falgaro bh=bihari bi=bislama bm=bambara -bn=bengal\u00ED +bn=bengal\u00ed bo=tibetano -br=bret\u00F3n +br=bret\u00f3n bs=bosnio -ca=catal\u00E1n +ca=catal\u00e1n ce=checheno ch=chamorro co=corso -cr=clisteno +cr=cree cs=checo -cu=eslavo eclesi\u00E1stico +cu=eslavo eclesi\u00e1stico cv=chuvash -cy=gal\u00E9s -da=dan\u00E9s -de=alem\u00E1n +cy=gal\u00e9s +da=dan\u00e9s +de=alem\u00e1n dv=divehi dz=dzongkha ee=ewe el=griego -en=ingl\u00E9s +en=ingl\u00e9s eo=esperanto -es=espa\u00F1ol +es=espa\u00f1ol et=estonio eu=vasco fa=persa ff=fula -fi=finland\u00E9s +fi=fin\u00e9s fj=fidjiano -fo=fero\u00E9s -fr=franc\u00E9s -fy=fris\u00F3n -ga=irland\u00E9s -gd=ga\u00E9lico escoc\u00E9s +fo=fero\u00e9s +fr=franc\u00e9s +fy=fris\u00f3n +ga=irland\u00e9s +gd=ga\u00e9lico escoc\u00e9s gl=gallego -gn=guaran\u00ED +gn=guaran\u00ed gu=gujarati -gv=ga\u00E9lico man\u00E9s +gv=ga\u00e9lico man\u00e9s ha=hausa he=hebreo hi=hindi ho=hiri motu hr=croata ht=haitiano -hu=h\u00FAngaro +hu=h\u00fangaro hy=armenio hz=herero ia=interlingua id=indonesio -ie=interling\u00FCe +ie=interlingue ig=igbo ii=sichuan yi -ik=i\u00F1upiaq +ik=inupiaq in=indonesio io=ido -is=island\u00E9s +is=island\u00e9s it=italiano iu=inuktitut iw=hebreo -ja=japon\u00E9s -ji=y\u00EDdish -jv=javan\u00E9s +ja=japon\u00e9s +ji=y\u00eddish +jv=javan\u00e9s ka=georgiano kg=kongo ki=kikuyu -kj=kwanyama +kj=kuanyama kk=kazajo -kl=groenland\u00E9s +kl=groenland\u00e9s km=jemer -kn=canar\u00E9s +kn=canar\u00e9s ko=coreano kr=kanuri ks=cachemiro ku=kurdo kv=komi -kw=c\u00F3rnico +kw=c\u00f3rnico ky=kirghiz -la=lat\u00EDn -lb=luxemburgu\u00E9s +la=lat\u00edn +lb=luxemburgu\u00e9s lg=ganda -li=limburgu\u00E9s +li=limburgu\u00e9s ln=lingala lo=laosiano lt=lituano lu=luba-katanga -lv=let\u00F3n +lv=let\u00f3n mg=malgache -mh=marshal\u00E9s -mi=maor\u00ED +mh=marshal\u00e9s +mi=maor\u00ed mk=macedonio ml=malayalam mn=mongol mo=moldavo mr=marathi ms=malayo -mt=malt\u00E9s +mt=malt\u00e9s my=birmano na=nauruano -nb=noruego bokm\u00E5l +nb=bokmal noruego nd=ndebele septentrional -ne=nepal\u00ED +ne=nepal\u00ed ng=ndonga -nl=neerland\u00E9s +nl=neerland\u00e9s nn=nynorsk noruego no=noruego nr=ndebele meridional @@ -168,48 +167,48 @@ oj=ojibwa om=oromo or=oriya -os=os\u00E9tico -pa=punjab\u00ED +os=os\u00e9tico +pa=punjab\u00ed pi=pali pl=polaco ps=pashto -pt=portugu\u00E9s +pt=portugu\u00e9s qu=quechua -rm=retorrom\u00E1nico +rm=retorrom\u00e1nico rn=kiroundi ro=rumano ru=ruso rw=kinyarwanda -sa=s\u00E1nscrito +sa=s\u00e1nscrito sc=sardo sd=sindhi se=sami septentrional sg=sango -si=cingal\u00E9s +si=cingal\u00e9s sk=eslovaco sl=esloveno sm=samoano sn=shona -so=somal\u00ED -sq=alban\u00E9s +so=somal\u00ed +sq=alban\u00e9s sr=serbio ss=siswati st=sesotho -su=sudan\u00E9s +su=sundan\u00e9s sv=sueco sw=swahili ta=tamil te=telugu tg=tayiko -th=tailand\u00E9s -ti=trigri\u00F1a +th=tailand\u00e9s +ti=tigri\u00f1a tk=turcomano tl=tagalo tn=setchwana to=tongano tr=turco ts=tsonga -tt=t\u00E1rtaro +tt=t\u00e1rtaro tw=twi ty=tahitiano ug=uigur @@ -218,15 +217,15 @@ uz=uzbeko ve=venda vi=vietnamita -vo=volap\u00FCk -wa=val\u00F3n +vo=volap\u00fck +wa=val\u00f3n wo=uolof xh=xhosa -yi=y\u00EDdish +yi=y\u00eddish yo=yoruba za=zhuang zh=chino -zu=zul\u00FA +zu=zul\u00fa # key is ISO 639.2 language code aar=afar @@ -287,7 +286,7 @@ bis=Bislama bla=siksika bnt=bant\u00FA -bos=bosnio +bos=Bosnio bra=braj bre=cruceiros brasile\u00F1os (BRE) btk=batak @@ -338,7 +337,7 @@ den=slave dgr=dogrib din=dinka -div=divehi +div=Dhivehi doi=dogri dra=lengua drav\u00EDdica dsb=sorbio inferior @@ -541,7 +540,7 @@ nic=c\u00F3rdobas nicarag\u00FCenses niu=niueano nno=Noruego Nynorsk -nob=bokm\u00E5l, noruego +nob=Noruego Bokmal nog=nogai non=n\u00F3rdico antiguo nor=Noruego @@ -578,7 +577,7 @@ pon=pohnpeiano por=Portugu\u00E9s pra=lenguas pr\u00E1critas -pro=provenzal antiguo (hasta 1500) +pro=provenzal antiguo pus=Pushto; Pashto que=Quechua raj=rajasthani @@ -683,11 +682,11 @@ umb=umbundu und=indeterminada urd=Urdu -uzb=uzbeko +uzb=Uzbeco vai=vai ven=Venda vie=vietnamita -vol=volap\u00FCk +vol=Volapuk vot=v\u00F3tico wak=lenguas wakasha wal=walamo @@ -807,7 +806,7 @@ Narb=\u00C1rabe del Norte Antiguo Nbat=Nabateo Nkgb=Nakhi Geba -Nkoo=N\u2019Ko +Nkoo=n'Ko Ogam=ogham Olck=ol chiki Orkh=orkhon @@ -869,53 +868,53 @@ # key is ISO 3166 country code AD=Andorra -AE=Emiratos \u00C1rabes Unidos -AF=Afganist\u00E1n +AE=Emiratos \u00c1rabes Unidos +AF=Afganist\u00e1n AG=Antigua y Barbuda AI=Anguila AL=Albania AM=Armenia AN=Antillas Holandesas AO=Angola -AQ=Ant\u00E1rtida +AQ=Ant\u00e1rtida AR=Argentina AS=Samoa Americana AT=Austria AU=Australia AW=Aruba -AX=Islas \u00C5land -AZ=Azerbaiy\u00E1n +AX=Islas Aland +AZ=Azerbaiy\u00e1n BA=Bosnia y Hercegovina BB=Barbados BD=Bangladesh -BE=B\u00E9lgica +BE=B\u00e9lgica BF=Burkina Faso BG=Bulgaria -BH=Bahr\u00E1in +BH=Bahr\u00e1in BI=Burundi -BJ=Ben\u00EDn +BJ=Ben\u00edn BL=San Bartolom\u00E9 BM=Bermudas -BN=Brun\u00E9i +BN=Brun\u00e9i BO=Bolivia BQ=Bonaire, San Eustaquio y Saba BR=Brasil BS=Bahamas -BT=But\u00E1n +BT=But\u00e1n BV=Isla Bouvet BW=Botsuana BY=Bielorrusia BZ=Belice -CA=Canad\u00E1 +CA=Canad\u00e1 CC=Islas Cocos -CD=Rep\u00FAblica Democr\u00E1tica del Congo -CF=Rep\u00FAblica Centroafricana +CD=Rep\u00fablica Democr\u00e1tica del Congo +CF=Rep\u00fablica Centroafricana CG=Congo CH=Suiza CI=Costa de Marfil CK=Islas Cook CL=Chile -CM=Camer\u00FAn +CM=Camer\u00fan CN=China CO=Colombia CR=Costa Rica @@ -930,22 +929,22 @@ DJ=Yibuti DK=Dinamarca DM=Dominica -DO=Rep\u00FAblica Dominicana +DO=Rep\u00fablica Dominicana DZ=Argelia EC=Ecuador EE=Estonia EG=Egipto EH=Sahara Occidental ER=Eritrea -ES=Espa\u00F1a -ET=Etiop\u00EDa +ES=Espa\u00f1a +ET=Etiop\u00eda FI=Finlandia FJ=Fiyi FK=Islas Malvinas FM=Micronesia FO=Islas Feroe FR=Francia -GA=Gab\u00F3n +GA=Gab\u00f3n GB=Reino Unido GD=Granada GE=Georgia @@ -968,35 +967,35 @@ HM=Islas Heard y McDonald HN=Honduras HR=Croacia -HT=Hait\u00ED -HU=Hungr\u00EDa +HT=Hait\u00ed +HU=Hungr\u00eda ID=Indonesia IE=Irlanda IL=Israel IM=Isla de Man IN=India -IO=Territorio Brit\u00E1nico del Oc\u00E9ano \u00CDndico +IO=Territorio Brit\u00e1nico del Oc\u00e9ano \u00cdndico IQ=Iraq -IR=Ir\u00E1n +IR=Ir\u00e1n IS=Islandia IT=Italia JE=Jersey JM=Jamaica JO=Jordania -JP=Jap\u00F3n +JP=Jap\u00f3n KE=Kenia -KG=Kirguizist\u00E1n +KG=Kirguizist\u00e1n KH=Camboya KI=Kiribati KM=Comores -KN=San Crist\u00F3bal y Nieves +KN=San Crist\u00f3bal y Nieves KP=Corea del Norte KR=Corea del Sur KW=Kuwait -KY=Islas Caim\u00E1n -KZ=Kazajst\u00E1n +KY=Islas Caim\u00e1n +KZ=Kazajst\u00e1n LA=Laos -LB=L\u00EDbano +LB=L\u00edbano LC=Santa Lucia LI=Liechtenstein LK=Sri Lanka @@ -1007,15 +1006,15 @@ LV=Letonia LY=Libia MA=Marruecos -MC=M\u00F3naco +MC=M\u00f3naco MD=Moldavia ME=Montenegro MF=San Mart\u00EDn MG=Madagascar MH=Islas Marshall MK=Macedonia -ML=Mal\u00ED -MM=birmano +ML=Mal\u00ed +MM=Myanmar MN=Mongolia MO=Macao MP=Islas Marianas del Norte @@ -1026,12 +1025,12 @@ MU=Mauricio MV=Maldivas MW=Malaui -MX=M\u00E9xico +MX=M\u00e9xico MY=Malasia MZ=Mozambique NA=Namibia NC=Nueva Caledonia -NE=N\u00EDger +NE=N\u00edger NF=Isla Norfolk NG=Nigeria NI=Nicaragua @@ -1041,15 +1040,15 @@ NR=Nauru NU=Niue NZ=Nueva Zelanda -OM=Om\u00E1n -PA=Panam\u00E1 -PE=Per\u00FA +OM=Om\u00e1n +PA=Panam\u00e1 +PE=Per\u00fa PF=Polinesia Francesa -PG=Pap\u00FAa New Guinea +PG=Pap\u00faa New Guinea PH=Filipinas -PK=Paquist\u00E1n +PK=Paquist\u00e1n PL=Polonia -PM=San Pedro y Miquel\u00F3n +PM=San Pedro y Miquel\u00f3n PN=Islas Pitcairn PR=Puerto Rico PS=Palestina @@ -1057,15 +1056,15 @@ PW=Palaos PY=Paraguay QA=Qatar -RE=Reuni\u00F3n +RE=Reuni\u00f3n RO=Rumania RS=Serbia RU=Rusia RW=Ruanda SA=Arabia Saudita -SB=Islas Salom\u00F3n +SB=Islas Salom\u00f3n SC=Seychelles -SD=Sud\u00E1n +SD=Sud\u00e1n SE=Suecia SG=Singapur SH=Santa Helena @@ -1077,7 +1076,7 @@ SN=Senegal SO=Somalia SR=Surinam -ST=Santo Tom\u00E9 y Pr\u00EDncipe +ST=Santo Tom\u00e9 y Pr\u00edncipe SV=El Salvador SX=San Mart\u00EDn (regi\u00F3n holandesa) SY=Siria @@ -1087,35 +1086,35 @@ TF=Territorios Franceses del Sur TG=Togo TH=Tailandia -TJ=Tayikist\u00E1n +TJ=Tayikist\u00e1n TK=Tokelau TL=Timor Oriental -TM=Turkmenist\u00E1n -TN=T\u00FAnez +TM=Turkmenist\u00e1n +TN=T\u00fanez TO=Tonga -TR=Turqu\u00EDa +TR=Turqu\u00eda TT=Trinidad y Tobago -TV=tuvaluano -TW=Taiw\u00E1n +TV=Tuvalu +TW=Taiw\u00e1n TZ=Tanzania UA=Ucrania UG=Uganda UM=Islas menores alejadas de los Estados Unidos US=Estados Unidos UY=Uruguay -UZ=Uzbekist\u00E1n +UZ=Uzbekist\u00e1n VA=Ciudad del Vaticano VC=San Vicente y las Granadinas VE=Venezuela -VG=Islas V\u00EDrgenes Brit\u00E1nicas -VI=Islas V\u00EDrgenes Americanas +VG=Islas V\u00edrgenes Brit\u00e1nicas +VI=Islas V\u00edrgenes Americanas VN=Vietnam VU=Vanuatu WF=Wallis y Futuna WS=Samoa YE=Yemen YT=Mayotte -ZA=Sud\u00E1frica +ZA=Sud\u00e1frica ZM=Zambia ZW=Zimbabue @@ -1152,19 +1151,3 @@ 154=Europa septentrional 155=Europa occidental 419=Latinoam\u00E9rica y el Caribe - -# variant names -# key is %%variant -# rarely localized - -%%EURO=Euro -%%B=Bokm\u00E5l -%%NY=Nynorsk - - -# locale name patterns -# rarely localized - -DisplayNamePattern={0,choice,0#|1#{1}|2#{1} ({2})} -ListPattern={0,choice,0#|1#{1}|2#{1},{2}|3#{1},{2},{3}} -ListCompositionPattern={0},{1}
--- a/src/share/classes/sun/util/resources/LocaleNames_fr.properties Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/classes/sun/util/resources/LocaleNames_fr.properties Fri Jun 29 15:21:00 2012 +0100 @@ -1,4 +1,3 @@ -# # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # @@ -39,194 +38,194 @@ # language names # key is ISO 639 language code -aa=Afar -ab=Abkhaze -ae=Avestan -af=Afrikaans -ak=Akan -am=Amharique -an=Aragonais -ar=Arabe -as=Assamais -av=Avar -ay=Aymara -az=Az\u00E9ri -ba=Bachkir -be=Bi\u00E9lorusse -bg=Bulgare -bh=Bihari -bi=Bichlamar -bm=Bambara -bn=Bengali -bo=Tib\u00E9tain -br=Breton -bs=Bosniaque -ca=Catalan -ce=Tch\u00E9tch\u00E8ne -ch=Chamorro -co=Corse -cr=Cri -cs=Tch\u00E8que -cu=Slavon liturgique -cv=Tchouvache -cy=Gallois -da=Danois -de=Allemand -dv=Divehi -dz=Dzongkha -ee=Ewe -el=Grec -en=Anglais -eo=Esp\u00E9ranto -es=Espagnol -et=Estonien -eu=Basque -fa=Persan -ff=Peul -fi=Finnois -fj=Fidjien -fo=F\u00E9ro\u00EFen -fr=Fran\u00E7ais -fy=Frison -ga=Irlandais -gd=Ecossais ga\u00E9lique -gl=Galicien -gn=Guarani -gu=Goudjarati -gv=Mannois -ha=Haoussa -he=H\u00E9breu -hi=Hindi -ho=Hiri Motu -hr=Croate -ht=Cr\u00E9ole d'Ha\u00EFti -hu=Hongrois -hy=Arm\u00E9nien -hz=Herero -ia=Interlingua -id=Indon\u00E9sien -ie=Interlingue -ig=Igbo -ii=Yi de Sichuan -ik=Inupiaq -in=Indon\u00E9sien -io=Ido -is=Islandais -it=Italien -iu=Inuktitut -iw=H\u00E9breu -ja=Japonais -ji=Yiddish -jv=Javanais -ka=G\u00E9orgien -kg=Kongo -ki=Kikuyu -kj=Kwanyama -kk=Kazakh -kl=Groenlandais -km=Khmer -kn=Kannada -ko=Cor\u00E9en -kr=Kanouri -ks=Kashmiri -ku=Kurde -kv=Komi -kw=Cornique -ky=Kirghize -la=Latin -lb=Luxembourgeois -lg=Ganda -li=Limbourgeois -ln=Lingala -lo=Laotien -lt=Lituanien -lu=Luba-Katanga -lv=Letton -mg=Malgache -mh=Marshallais -mi=Maori -mk=Mac\u00E9donien -ml=Malayalam -mn=Mongol -mo=Moldave -mr=Marathi -ms=Malais -mt=Maltais -my=Birman -na=Nauruan -nb=Norv\u00E9gien bokm\u00E5l -nd=Nd\u00E9b\u00E9l\u00E9 du Nord -ne=N\u00E9palais -ng=Ndonga -nl=N\u00E9erlandais -nn=Norv\u00E9gien nynorsk -no=Norv\u00E9gien -nr=Nd\u00E9b\u00E9l\u00E9 du Sud -nv=Navajo -ny=Nyanja -oc=Occitan -oj=Ojibwa -om=Oromo -or=Oriya -os=Oss\u00E8te -pa=Pendjabi -pi=Pali -pl=Polonais -ps=Pachto -pt=Portugais -qu=Quechua -rm=Rh\u00E9toroman -rn=Rundi -ro=Roumain -ru=Russe -rw=Kinyarwanda -sa=Sanscrit -sc=Sarde -sd=Sindhi -se=Sami du Nord -sg=Sango -si=Singhalais -sk=Slovaque -sl=Slov\u00E8ne -sm=Samoan -sn=Shona -so=Somali -sq=Albanais -sr=Serbe -ss=Swati -st=Sotho du Sud -su=Soundanais -sv=Su\u00E9dois -sw=Swahili -ta=Tamoul -te=T\u00E9lougou -tg=Tadjik -th=Tha\u00EF -ti=Tigrigna -tk=Turkm\u00E8ne -tl=Tagalog -tn=Setswana -to=Tonga -tr=Turc -ts=Tsonga -tt=Tatare -tw=Twi -ty=Tahitien -ug=Ou\u00EFgour -uk=Ukrainien -ur=Ourdou -uz=Ouzbek -ve=Venda -vi=Vietnamien -vo=Volap\u00FCk -wa=Wallon -wo=Wolof -xh=Xhosa -yi=Yiddish -yo=Yoruba -za=Zhuang -zh=Chinois -zu=Zoulou +aa=afar +ab=abkhaze +ae=avestan +af=afrikaans +ak=akan +am=amharique +an=aragonais +ar=arabe +as=assamais +av=avar +ay=aymara +az=az\u00e9ri +ba=bachkir +be=bi\u00e9lorusse +bg=bulgare +bh=bihari +bi=bichlamar +bm=bambara +bn=bengali +bo=tib\u00e9tain +br=breton +bs=bosniaque +ca=catalan +ce=tch\u00e9tch\u00e8ne +ch=chamorro +co=corse +cr=cri +cs=tch\u00e8que +cu=slavon d'\u00e9glise +cv=tchouvache +cy=gallois +da=danois +de=allemand +dv=divehi +dz=dzongkha +ee=\u00e9w\u00e9 +el=grec +en=anglais +eo=esp\u00e9ranto +es=espagnol +et=estonien +eu=basque +fa=persan +ff=peul +fi=finnois +fj=fidjien +fo=f\u00e9ro\u00efen +fr=fran\u00e7ais +fy=frison +ga=irlandais +gd=ecossais ga\u00e9lique +gl=galicien +gn=guarani +gu=goudjrati +gv=manx +ha=haoussa +he=h\u00e9breu +hi=hindi +ho=hiri motu +hr=croate +ht=cr\u00e9ole d'Ha\u00efti +hu=hongrois +hy=arm\u00e9nien +hz=herero +ia=interlingua +id=indon\u00e9sien +ie=interlingue +ig=ibo +ii=yi de Sichuan +ik=inupiaq +in=indon\u00e9sien +io=ido +is=islandais +it=italien +iu=inuktitut +iw=h\u00e9breu +ja=japonais +ji=yiddish +jv=javanais +ka=georgien +kg=kongo +ki=kikuyu +kj=kwanyama +kk=kazakh +kl=groenlandais +km=khmer +kn=kannada +ko=cor\u00e9en +kr=kanouri +ks=kashmiri +ku=kurde +kv=komi +kw=cornique +ky=kirghize +la=latin +lb=luxembourgeois +lg=ganda +li=limbourgeois +ln=lingala +lo=lao +lt=lithuanien +lu=luba-katanga +lv=letton +mg=malgache +mh=marshall +mi=maori +mk=mac\u00e9donien +ml=malayalam +mn=mongol +mo=moldave +mr=marathe +ms=malais +mt=maltais +my=birman +na=nauruan +nb=norv\u00e9gien bokm\u00e5l +nd=nd\u00e9b\u00e9l\u00e9 du Nord +ne=n\u00e9palais +ng=ndonga +nl=n\u00e9erlandais +nn=norv\u00e9gien nynorsk +no=norv\u00e9gien +nr=nd\u00e9b\u00e9l\u00e9 du Sud +nv=navaho +ny=nyanja +oc=occitan +oj=ojibwa +om=galla +or=oriya +os=oss\u00e8te +pa=pendjabi +pi=pali +pl=polonais +ps=pachto +pt=portugais +qu=quechua +rm=rh\u00e9toroman +rn=rundi +ro=roumain +ru=russe +rw=rwanda +sa=sanscrit +sc=sarde +sd=sindhi +se=sami du Nord +sg=sango +si=singhalais +sk=slovaque +sl=slov\u00e8ne +sm=samoan +sn=shona +so=somali +sq=albanais +sr=serbe +ss=swati +st=sotho du sud +su=soundanais +sv=su\u00e9dois +sw=swahili +ta=tamoul +te=telugu +tg=tadjik +th=tha\u00ef +ti=tigrigna +tk=turkm\u00e8ne +tl=tagalog +tn=setswana +to=tonga +tr=turc +ts=tsonga +tt=tatare +tw=twi +ty=tahitien +ug=ou\u00efgour +uk=ukrainien +ur=ourdou +uz=ouzbek +ve=venda +vi=vietnamien +vo=volap\u00fck +wa=wallon +wo=wolof +xh=xhosa +yi=yiddish +yo=yoruba +za=zhuang +zh=chinois +zu=zoulou # key is ISO 639.2 language code aar=Afar @@ -541,7 +540,7 @@ nic=Niger-kordofanian niu=Niue nno=Norv\u00E9gien nynorsk -nob=Bokm\u00E5l, norv\u00E9gien +nob=Bokmal, Norv\u00E9gien nog=Noga\u00EF non=Vieux norrois nor=Norv\u00E9gien @@ -578,7 +577,7 @@ pon=Pohnpei por=Portugais pra=Langues pr\u00E2krit -pro=Ancien proven\u00E7al (jusqu'en 1500) +pro=Proven\u00E7al ancien pus=Pushto ; Pashto que=Quechua raj=Rajasthani @@ -687,7 +686,7 @@ vai=Va\u00EF ven=Venda vie=Vietnamien -vol=Volap\u00FCk +vol=Volapuk vot=Vote wak=Langues wakashennes wal=Wolaitta @@ -869,131 +868,131 @@ # key is ISO 3166 country code AD=Andorre -AE=Emirats arabes unis +AE=Emirats Arabes Unis AF=Afghanistan AG=Antigua et Barbuda AI=Anguilla AL=Albanie -AM=Arm\u00E9nie -AN=Antilles n\u00E9erlandaises +AM=Arm\u00e9nie +AN=Antilles N\u00e9erlandaises AO=Angola AQ=Antarctique AR=Argentine -AS=Samoa am\u00E9ricaines +AS=Samoa am\u00e9ricaines AT=Autriche AU=Australie AW=Aruba -AX=Iles \u00C5land -AZ=Azerba\u00EFdjan -BA=Bosnie-Herz\u00E9govine +AX=\u00celes \u00c5land +AZ=Azerba\u00efdjan +BA=Bosnie-Herz\u00e9govine BB=Barbade BD=Bangladesh BE=Belgique BF=Burkina Faso BG=Bulgarie -BH=Bahre\u00EFn +BH=Bahre\u00efn BI=Burundi -BJ=B\u00E9nin +BJ=Benin BL=Saint-Barth\u00E9lemy BM=Bermudes BN=Brunei BO=Bolivie BQ=Bonaire, Saint-Eustache et Saba -BR=Br\u00E9sil +BR=Br\u00e9sil BS=Bahamas BT=Bhoutan -BV=Ile Bouvet +BV=\u00cele Bouvet BW=Botswana -BY=Bi\u00E9lo-Russie -BZ=B\u00E9lize +BY=Bi\u00e9lo-Russie +BZ=B\u00e9lize CA=Canada -CC=Iles Cocos -CD=R\u00E9publique d\u00E9mocratique du Congo -CF=R\u00E9publique Centre-Africaine +CC=\u00celes Cocos +CD=R\u00e9publique d\u00e9mocratique du Congo +CF=R\u00e9publique Centre-Africaine CG=Congo CH=Suisse -CI=C\u00F4te d'Ivoire -CK=Iles Cook +CI=C\u00f4te d'Ivoire +CK=\u00celes Cook CL=Chili CM=Cameroun CN=Chine CO=Colombie CR=Costa Rica -CS=Serbie et Mont\u00E9n\u00E9gro +CS=Serbie et Mont\u00e9n\u00e9gro CU=Cuba CV=Cap Vert CW=Cura\u00E7ao -CX=Ile Christmas +CX=\u00cele Christmas CY=Chypre -CZ=R\u00E9publique Tch\u00E8que +CZ=R\u00e9publique Tch\u00e8que DE=Allemagne DJ=Djibouti DK=Danemark DM=Dominique -DO=R\u00E9publique Dominicaine -DZ=Alg\u00E9rie +DO=R\u00e9publique Dominicaine +DZ=Alg\u00e9rie EC=Equateur EE=Estonie EG=Egypte EH=Sahara Occidental -ER=Erythr\u00E9e +ER=Erythr\u00e9e ES=Espagne ET=Ethiopie FI=Finlande FJ=Fidji -FK=Iles Malouines -FM=R\u00E9gion micron\u00E9sienne -FO=Iles F\u00E9ro\u00E9 +FK=\u00celes Malouines +FM=Micron\u00e9sie +FO=\u00celes F\u00e9ro\u00e9 FR=France GA=Gabon GB=Royaume-Uni GD=Grenade -GE=G\u00E9orgie -GF=Guyane fran\u00E7aise +GE=G\u00e9orgie +GF=Guyane fran\u00e7aise GG=Guernesey GH=Ghana GI=Gibraltar GL=Groenland GM=Gambie -GN=Guin\u00E9e +GN=Guin\u00e9e GP=Guadeloupe -GQ=Guin\u00E9e \u00E9quatoriale -GR=Gr\u00E8ce -GS=G\u00E9orgie du Sud et \u00EEles Sandwich du Sud +GQ=Guin\u00e9e Equatoriale +GR=Gr\u00e8ce +GS=G\u00e9orgie du Sud et \u00eeles Sandwich du Sud GT=Guatemala GU=Guam -GW=Guin\u00E9e-Bissau +GW=Guin\u00e9e-Bissau GY=Guyana HK=Hong-Kong -HM=Iles Heard et \u00EEles McDonald +HM=\u00cele Heard et \u00eeles McDonald HN=Honduras HR=Croatie -HT=Ha\u00EFti +HT=Ha\u00efti HU=Hongrie -ID=Indon\u00E9sie +ID=Indon\u00e9sie IE=Irlande -IL=Isra\u00EBl +IL=Isra\u00ebl IM=Ile de Man IN=Inde -IO=Territoires britanniques de l'Oc\u00E9an Indien +IO=Territoires britanniques de l'Oc\u00e9an Indien IQ=Irak IR=Iran IS=Islande IT=Italie JE=Jersey -JM=Jama\u00EFque +JM=Jama\u00efque JO=Jordanie JP=Japon KE=Kenya -KG=Kirghizistan +KG=Kyrgyzstan KH=Cambodge KI=Kiribati KM=Comores -KN=Saint-Christophe-et-Ni\u00E9v\u00E8s -KP=Cor\u00E9e du Nord -KR=Cor\u00E9e du Sud -KW=Kowe\u00EFt -KY=Iles Ca\u00EFmans +KN=Saint-Christophe-et-Ni\u00e9v\u00e8s +KP=Cor\u00e9e du Nord +KR=Cor\u00e9e du Sud +KW=Koweit +KY=\u00celes Ca\u00efmans KZ=Kazakhstan LA=Laos LB=Liban @@ -1002,23 +1001,23 @@ LK=Sri Lanka LR=Liberia LS=Lesotho -LT=Lituanie +LT=Lithuanie LU=Luxembourg LV=Lettonie LY=Libye MA=Maroc MC=Monaco MD=Moldavie -ME=Mont\u00E9n\u00E9gro +ME=Mont\u00e9n\u00e9gro MF=Saint-Martin MG=Madagascar -MH=Iles Marshall -MK=Mac\u00E9doine +MH=\u00celes Marshall +MK=Mac\u00e9doine ML=Mali MM=Myanmar MN=Mongolie MO=Macao -MP=Iles Mariannes du Nord +MP=\u00celes Mariannes du Nord MQ=Martinique MR=Mauritanie MS=Montserrat @@ -1030,22 +1029,22 @@ MY=Malaisie MZ=Mozambique NA=Namibie -NC=Nouvelle-Cal\u00E9donie +NC=Nouvelle-Cal\u00e9donie NE=Niger -NF=Ile Norfolk -NG=Nig\u00E9ria +NF=\u00cele Norfolk +NG=Nig\u00e9ria NI=Nicaragua NL=Pays-Bas -NO=Norv\u00E8ge -NP=N\u00E9pal +NO=Norv\u00e8ge +NP=N\u00e9pal NR=Nauru NU=Niue -NZ=Nouvelle-Z\u00E9lande +NZ=Nouvelle-Z\u00e9lande OM=Oman PA=Panama -PE=P\u00E9rou -PF=Polyn\u00E9sie Fran\u00E7aise -PG=Papouasie-Nouvelle-Guin\u00E9e +PE=P\u00e9rou +PF=Polyn\u00e9sie Fran\u00e7aise +PG=Papouasie-Nouvelle-Guin\u00e9e PH=Philippines PK=Pakistan PL=Pologne @@ -1057,63 +1056,63 @@ PW=Belau PY=Paraguay QA=Qatar -RE=R\u00E9union +RE=La R\u00e9union RO=Roumanie RS=Serbie RU=Russie RW=Rwanda -SA=Arabie saoudite -SB=Iles Salomon +SA=Arabie Saoudite +SB=\u00celes Salomon SC=Seychelles SD=Soudan -SE=Su\u00E8de +SE=Su\u00e8de SG=Singapour -SH=Sainte-H\u00E9l\u00E8ne -SI=Slov\u00E9nie +SH=Sainte-H\u00e9l\u00e8ne +SI=Slov\u00e9nie SJ=Svalbard et Jan Mayen SK=Slovaquie SL=Sierra Leone SM=Saint-Marin -SN=S\u00E9n\u00E9gal +SN=S\u00e9n\u00e9gal SO=Somalie SR=Suriname -ST=Sao Tom\u00E9 et Principe +ST=Sao Tom\u00e9 et Principe SV=El Salvador SX=Saint-Martin (partie n\u00E9erlandaise) SY=Syrie SZ=Swaziland -TC=Iles Turks et Caicos +TC=\u00celes Turks et Caicos TD=Tchad -TF=Terres australes fran\u00E7aises +TF=Territoires Fran\u00e7ais du Sud TG=Togo -TH=Tha\u00EFlande +TH=Tha\u00eflande TJ=Tadjikistan TK=Tokelau TL=Timor-Leste -TM=Turkm\u00E9nistan +TM=Turkm\u00e9nistan TN=Tunisie TO=Tonga TR=Turquie -TT=Trinit\u00E9-et-Tobago +TT=Trinit\u00e9-et-Tobago TV=Tuvalu -TW=Ta\u00EFwan +TW=Taiwan TZ=Tanzanie UA=Ukraine UG=Ouganda -UM=D\u00E9pendances am\u00E9ricaines du Pacifique +UM=D\u00e9pendances am\u00e9ricaines du Pacifique US=Etats-Unis UY=Uruguay -UZ=Ouzb\u00E9kistan +UZ=Ouzb\u00e9kistan VA=Vatican VC=Saint-Vincent-et-les Grenadines -VE=Venezuela -VG=Iles Vierges britanniques -VI=Iles Vierges am\u00E9ricaines -VN=Vi\u00EAt Nam +VE=V\u00e9n\u00e9zuela +VG=Iles Vierges Britanniques +VI=Iles Vierges Am\u00e9ricaines +VN=Vietnam VU=Vanuatu WF=Wallis-et-Futuna WS=Samoa -YE=Y\u00E9men +YE=Y\u00e9men YT=Mayotte ZA=Afrique du Sud ZM=Zambie @@ -1152,19 +1151,3 @@ 154=Europe septentrionale 155=Europe occidentale 419=Am\u00E9rique latine et Cara\u00EFbes - -# variant names -# key is %%variant -# rarely localized - -%%EURO=Euro -%%B=Bokm\u00E5l -%%NY=Nynorsk - - -# locale name patterns -# rarely localized - -DisplayNamePattern={0,choice,0#|1#{1}|2#{1} ({2})} -ListPattern={0,choice,0#|1#{1}|2#{1},{2}|3#{1},{2},{3}} -ListCompositionPattern={0},{1}
--- a/src/share/classes/sun/util/resources/LocaleNames_it.properties Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/classes/sun/util/resources/LocaleNames_it.properties Fri Jun 29 15:21:00 2012 +0100 @@ -1,4 +1,3 @@ -# # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # @@ -39,194 +38,194 @@ # language names # key is ISO 639 language code -aa=Afar -ab=Abkhaso -ae=Avestano -af=Afrikaans -ak=Akan -am=Amarico -an=Aragonese -ar=Arabo -as=Assamese -av=Avaro -ay=Aymara -az=Azero -ba=Baschiro -be=Bielorusso -bg=Bulgaro -bh=Bihari -bi=Bislama -bm=Bambara -bn=Bengalese -bo=Tibetano -br=Bretone -bs=Bosniaco -ca=Catalano -ce=Ceceno -ch=Chamorro -co=Corso -cr=Cree -cs=Ceco -cu=Slavo ecclesiastico -cv=Chuvash -cy=Gallese -da=Danese -de=Tedesco -dv=Divehi -dz=Dzongkha -ee=Ewe -el=Greco -en=Inglese -eo=Esperanto -es=Spagnolo -et=Estone -eu=Basco -fa=Persiano -ff=Fulah -fi=Finlandese -fj=Figiano -fo=Faroese -fr=Francese -fy=Frisone -ga=Irlandese -gd=Gaelico scozzese -gl=Galiziano -gn=Guaran\u00EC -gu=Gujarati -gv=Manx -ha=Hausa -he=Ebraico -hi=Hindi -ho=Hiri Motu -hr=Croato -ht=Haitiano -hu=Ungherese -hy=Armeno -hz=Herero -ia=Interlingua -id=Indonesiano -ie=Interlingue -ig=Igbo -ii=Sichuan Yi -ik=Inupiaq -in=Indonesiano -io=Ido -is=Islandese -it=Italiano -iu=Inuktitut -iw=Ebraico -ja=Giapponese -ji=Yiddish -jv=Giavanese -ka=Georgiano -kg=Kongo -ki=Kikuyu -kj=Kwanyama -kk=Kazako -kl=Groenlandese -km=Khmer -kn=Kannada -ko=Coreano -kr=Kanuri -ks=Kashmiri -ku=Curdo -kv=Komi -kw=Cornico -ky=Kirghiso -la=Latino -lb=Lussemburghese -lg=Ganda -li=Limburghese -ln=Lingala -lo=Lao -lt=Lituano -lu=Luba-Katanga -lv=Lettone -mg=Malgascio -mh=Marshallese -mi=Maori -mk=Macedone -ml=Malayalam -mn=Mongolo -mo=Moldavo -mr=Marathi -ms=Malese -mt=Maltese -my=Birmano -na=Nauruano -nb=Norvegese, Bokm\u00E5l -nd=Ndebele del nord -ne=Nepalese -ng=Ndonga -nl=Olandese -nn=Norvegese nynorsk -no=Norvegese -nr=Ndebele del sud -nv=Navajo -ny=Nyanja -oc=Occitano -oj=Ojibwa -om=Oromo -or=Oriya -os=Ossetico -pa=Punjabi -pi=Pali -pl=Polacco -ps=Pashto -pt=Portoghese -qu=Quechua -rm=Retoromanzo -rn=Kirundi -ro=Romeno -ru=Russo -rw=Kinyarwanda -sa=Sanscrito -sc=Sardo -sd=Sindhi -se=Sami del nord -sg=Sango -si=Singalese -sk=Slovacco -sl=Sloveno -sm=Samoano -sn=Shona -so=Somalo -sq=Albanese -sr=Serbo -ss=Swati -st=Sotho del sud -su=Sundanese -sv=Svedese -sw=Swahili -ta=Tamil -te=Telugu -tg=Tagiko -th=Tailandese -ti=Tigrinya -tk=Turkmeno -tl=Tagalog -tn=Tswana -to=Tongano -tr=Turco -ts=Tsonga -tt=Tataro -tw=Twi -ty=Taitiano -ug=Uiguro -uk=Ucraino -ur=Urdu -uz=Uzbeko -ve=Venda -vi=Vietnamita -vo=Volapuk -wa=Vallone -wo=Wolof -xh=Xhosa -yi=Yiddish -yo=Yoruba -za=Zhuang -zh=Cinese -zu=Zulu +aa=afar +ab=abhaso +ae=avestano +af=afrikaans +ak=akan +am=amarico +an=aragonese +ar=arabo +as=assamese +av=avarico +ay=aymar\u00e1 +az=azero +ba=baschiro +be=bielorusso +bg=bulgaro +bh=bihari +bi=bislama +bm=bambara +bn=bengalese +bo=tibetano +br=bretone +bs=bosniaco +ca=catalano +ce=ceceno +ch=chamorro +co=corso +cr=cree +cs=ceco +cu=slavo ecclesiastico +cv=chuvash +cy=gallese +da=danese +de=tedesco +dv=divehi +dz=dzongkha +ee=ewe +el=greco +en=inglese +eo=esperanto +es=spagnolo +et=estone +eu=basco +fa=persiano +ff=fulah +fi=finlandese +fj=figiano +fo=faeroese +fr=francese +fy=frisone +ga=irlandese +gd=gaelico scozzese +gl=galiziano +gn=guaran\u00ec +gu=gujarati +gv=manx +ha=haussa +he=ebraico +hi=hindi +ho=hiri motu +hr=croato +ht=haitiano +hu=ungherese +hy=armeno +hz=herero +ia=interlingua +id=indonesiano +ie=interlingue +ig=igbo +ii=sichuan yi +ik=inupiak +in=indonesiano +io=ido +is=islandese +it=italiano +iu=inuktitut +iw=ebraico +ja=giapponese +ji=yiddish +jv=giavanese +ka=georgiano +kg=kongo +ki=kikuyu +kj=kwanyama +kk=kazako +kl=groenlandese +km=cambogiano (khmer) +kn=kannada +ko=coreano +kr=kanuri +ks=kashmiri +ku=curdo +kv=komi +kw=cornico +ky=kirghiso +la=latino +lb=lussemburghese +lg=ganda +li=limburghese +ln=lingala +lo=lao +lt=lituano +lu=luba-katanga +lv=lettone +mg=malgascio +mh=marshallese +mi=maori +mk=macedone +ml=malayalam +mn=mongolo +mo=moldavo +mr=marathi +ms=malese +mt=maltese +my=birmano +na=nauruano +nb=norvegese bokm\u00e5l +nd=ndebele settentrionale +ne=nepalese +ng=ndonga +nl=neerlandese +nn=norvegese nynorsk +no=norvegese +nr=ndebele meridionale +nv=navajo +ny=nyanja +oc=occitano +oj=ojibwa +om=oromo (afan) +or=oriya +os=ossetiano +pa=punjabi +pi=pali +pl=polacco +ps=pashto +pt=portoghese +qu=quechua +rm=retoromanzo +rn=kirundi +ro=rumeno +ru=russo +rw=kinyarwanda +sa=sanscrito +sc=sardo +sd=sindhi +se=sami settentrionale +sg=sangho +si=singalese +sk=slovacco +sl=sloveno +sm=samoano +sn=shona +so=somalo +sq=albanese +sr=serbo +ss=siswati +st=sesotho +su=sudanese +sv=svedese +sw=swahili +ta=tamil +te=telugu +tg=tagiko +th=thai +ti=tigrinya +tk=turkmeno +tl=tagalog +tn=setswana +to=tongano +tr=turco +ts=tsonga +tt=tataro +tw=twi +ty=tahitiano +ug=uiguro +uk=ucraino +ur=urdu +uz=uzbeko +ve=venda +vi=vietnamita +vo=volapuk +wa=vallone +wo=wolof +xh=xhosa +yi=yiddish +yo=yoruba +za=zhuang +zh=cinese +zu=zulu # key is ISO 639.2 language code aar=Afar @@ -541,7 +540,7 @@ nic=Lingua niger-cordofan niu=Niue nno=Norvegese nynorsk -nob=Bokm\u00E5l, Norvegese +nob=Norvegese bokm\u00E5l nog=Nogai non=Norse antico nor=Norvegese @@ -578,7 +577,7 @@ pon=Pohnpeiano por=Portoghese pra=Pracrito -pro=Provenzale, antico (fino al 1500) +pro=Provenzale antico (fino al 1500) pus=Pushto; Pashto que=Quechua raj=Rajasthani @@ -807,7 +806,7 @@ Narb=Arabo antico del nord Nbat=Lingua nabatea Nkgb=Nakhi Geba -Nkoo=N\u2019Ko +Nkoo=N'Ko Ogam=Ogamico Olck=Ol Chiki Orkh=Orkhon @@ -879,11 +878,11 @@ AO=Angola AQ=Antartide AR=Argentina -AS=Samoa Americane +AS=Samoa americane AT=Austria AU=Australia AW=Aruba -AX=Isole \u00C5land +AX=Isole Aland AZ=Azerbaigian BA=Bosnia-Erzegovina BB=Barbados @@ -891,7 +890,7 @@ BE=Belgio BF=Burkina Faso BG=Bulgaria -BH=Bahrein +BH=Bahrain BI=Burundi BJ=Benin BL=Saint Barth\u00E9lemy @@ -902,7 +901,7 @@ BR=Brasile BS=Bahamas BT=Bhutan -BV=Isola Bouvet +BV=Isola di Bouvet BW=Botswana BY=Bielorussia BZ=Belize @@ -923,7 +922,7 @@ CU=Cuba CV=Capo Verde CW=Cura\u00E7ao -CX=Isola Christmas +CX=Isola di Natale CY=Cipro CZ=Repubblica Ceca DE=Germania @@ -943,13 +942,13 @@ FJ=Figi FK=Isole Falkland FM=Micronesia -FO=Isole Faroe +FO=Isole F\u00e6roer FR=Francia GA=Gabon GB=Regno Unito GD=Grenada GE=Georgia -GF=Guyana francese +GF=Guayana Francese GG=Guernsey GH=Ghana GI=Gibilterra @@ -962,7 +961,7 @@ GS=Georgia del sud e isole Sandwich meridionali GT=Guatemala GU=Guam -GW=Guinea-Bissau +GW=Guinea Bissau GY=Guyana HK=Hong Kong HM=Isole Heard e McDonald @@ -994,10 +993,10 @@ KR=Corea del Sud KW=Kuwait KY=Isole Cayman -KZ=Kazakistan +KZ=Kazakhstan LA=Laos LB=Libano -LC=Saint Lucia +LC=Sainte Lucia LI=Liechtenstein LK=Sri Lanka LR=Liberia @@ -1023,7 +1022,7 @@ MR=Mauritania MS=Montserrat MT=Malta -MU=Mauritius +MU=Maurizio MV=Maldive MW=Malawi MX=Messico @@ -1043,7 +1042,7 @@ NZ=Nuova Zelanda OM=Oman PA=Panama -PE=Per\u00F9 +PE=Per\u00f9 PF=Polinesia Francese PG=Papua Nuova Guinea PH=Filippine @@ -1051,7 +1050,7 @@ PL=Polonia PM=Saint Pierre e Miquelon PN=Pitcairn -PR=Portorico +PR=Puerto Rico PS=Palestina PT=Portogallo PW=Palau @@ -1063,7 +1062,7 @@ RU=Russia RW=Ruanda SA=Arabia Saudita -SB=Isole Salomone +SB=Isole Solomon SC=Seychelles SD=Sudan SE=Svezia @@ -1077,19 +1076,19 @@ SN=Senegal SO=Somalia SR=Suriname -ST=S\u00E3o Tom\u00E9 e Pr\u00EDncipe +ST=S\u00e3o Tom\u00e9 e Principe SV=El Salvador SX=Sint Maarten (parte olandese) SY=Siria SZ=Swaziland TC=Isole Turks e Caicos TD=Ciad -TF=Territori australi francesi +TF=Territori Francesi d'Oltremare TG=Togo TH=Thailandia TJ=Tagikistan TK=Tokelau -TL=Timor Est +TL=Timor Leste TM=Turkmenistan TN=Tunisia TO=Tonga @@ -1100,11 +1099,11 @@ TZ=Tanzania UA=Ucraina UG=Uganda -UM=Isole minori lontane dagli Stati Uniti +UM=Isole minori lontane degli Stati Uniti US=Stati Uniti UY=Uruguay UZ=Uzbekistan -VA=Citt\u00E0 del Vaticano +VA=Citt\u00e0 del Vaticano VC=Saint Vincent e Grenadine VE=Venezuela VG=Isole Vergini (GB) @@ -1114,7 +1113,7 @@ WF=Wallis e Futuna WS=Samoa YE=Yemen -YT=Mayotte +YT=Mayotta ZA=Sudafrica ZM=Zambia ZW=Zimbabwe @@ -1152,19 +1151,3 @@ 154=Europa settentrionale 155=Europa occidentale 419=America Latina e Caraibi - -# variant names -# key is %%variant -# rarely localized - -%%EURO=Euro -%%B=Bokm\u00E5l -%%NY=Nynorsk - - -# locale name patterns -# rarely localized - -DisplayNamePattern={0,choice,0#|1#{1}|2#{1} ({2})} -ListPattern={0,choice,0#|1#{1}|2#{1},{2}|3#{1},{2},{3}} -ListCompositionPattern={0},{1}
--- a/src/share/classes/sun/util/resources/LocaleNames_ja.properties Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/classes/sun/util/resources/LocaleNames_ja.properties Fri Jun 29 15:21:00 2012 +0100 @@ -1,4 +1,3 @@ -# # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # @@ -39,194 +38,194 @@ # language names # key is ISO 639 language code -aa=\u30A2\u30D5\u30A1\u30FC\u30EB\u8A9E -ab=\u30A2\u30D6\u30CF\u30BA\u8A9E -ae=\u30A2\u30F4\u30A7\u30B9\u30BF\u8A9E -af=\u30A2\u30D5\u30EA\u30AB\u30FC\u30F3\u30B9\u8A9E -ak=\u30A2\u30AB\u30F3\u8A9E -am=\u30A2\u30E0\u30CF\u30E9\u8A9E -an=\u30A2\u30E9\u30B4\u30F3\u8A9E -ar=\u30A2\u30E9\u30D3\u30A2\u8A9E -as=\u30A2\u30C3\u30B5\u30E0\u8A9E -av=\u30A2\u30F4\u30A1\u30EB\u8A9E -ay=\u30A2\u30A4\u30DE\u30E9\u8A9E -az=\u30A2\u30BC\u30EB\u30D0\u30A4\u30B8\u30E3\u30F3\u8A9E -ba=\u30D0\u30B7\u30AD\u30FC\u30EB\u8A9E -be=\u767D\u30ED\u30B7\u30A2\u8A9E -bg=\u30D6\u30EB\u30AC\u30EA\u30A2\u8A9E -bh=\u30D3\u30CF\u30FC\u30EB\u8A9E -bi=\u30D3\u30B9\u30E9\u30DE\u8A9E -bm=\u30D0\u30F3\u30D0\u30E9\u8A9E -bn=\u30D9\u30F3\u30AC\u30EB\u8A9E -bo=\u30C1\u30D9\u30C3\u30C8\u8A9E -br=\u30D6\u30EB\u30C8\u30F3\u8A9E -bs=\u30DC\u30B9\u30CB\u30A2\u8A9E -ca=\u30AB\u30BF\u30ED\u30CB\u30A2\u8A9E -ce=\u30C1\u30A7\u30C1\u30A7\u30F3\u8A9E -ch=\u30C1\u30E3\u30E2\u30ED\u8A9E -co=\u30B3\u30EB\u30B7\u30AB\u8A9E -cr=\u30AF\u30EA\u30FC\u8A9E -cs=\u30C1\u30A7\u30B3\u8A9E -cu=\u6559\u4F1A\u30B9\u30E9\u30D6\u8A9E -cv=\u30C1\u30E5\u30F4\u30A1\u30B7\u30E5\u8A9E -cy=\u30A6\u30A7\u30FC\u30EB\u30BA\u8A9E -da=\u30C7\u30F3\u30DE\u30FC\u30AF\u8A9E -de=\u30C9\u30A4\u30C4\u8A9E -dv=\u30C7\u30A3\u30D9\u30D2\u8A9E -dz=\u30D6\u30FC\u30BF\u30F3\u8A9E -ee=\u30A8\u30A6\u30A7\u8A9E -el=\u30AE\u30EA\u30B7\u30A2\u8A9E -en=\u82F1\u8A9E -eo=\u30A8\u30B9\u30DA\u30E9\u30F3\u30C8\u8A9E -es=\u30B9\u30DA\u30A4\u30F3\u8A9E -et=\u30A8\u30B9\u30C8\u30CB\u30A2\u8A9E -eu=\u30D0\u30B9\u30AF\u8A9E -fa=\u30DA\u30EB\u30B7\u30A2\u8A9E -ff=\u30D5\u30E9\u8A9E -fi=\u30D5\u30A3\u30F3\u30E9\u30F3\u30C9\u8A9E -fj=\u30D5\u30A3\u30B8\u30FC\u8A9E -fo=\u30D5\u30A7\u30ED\u30FC\u8A9E -fr=\u30D5\u30E9\u30F3\u30B9\u8A9E -fy=\u30D5\u30EA\u30B8\u30A2\u8A9E -ga=\u30A2\u30A4\u30EB\u30E9\u30F3\u30C9\u8A9E -gd=\u30B9\u30B3\u30C3\u30C8\u30E9\u30F3\u30C9\u30FB\u30B2\u30FC\u30EB\u8A9E -gl=\u30AC\u30EA\u30B7\u30A2\u8A9E -gn=\u30B0\u30A2\u30E9\u30CB\u8A9E -gu=\u30B0\u30B8\u30E3\u30E9\u30FC\u30C8\u8A9E -gv=\u30DE\u30F3\u5CF6\u8A9E -ha=\u30CF\u30A6\u30B5\u8A9E -he=\u30D8\u30D6\u30E9\u30A4\u8A9E -hi=\u30D2\u30F3\u30C7\u30A3\u30FC\u8A9E -ho=\u30D2\u30EA\u30FB\u30E2\u30C4\u8A9E -hr=\u30AF\u30ED\u30A2\u30C1\u30A2\u8A9E -ht=\u30CF\u30A4\u30C1\u8A9E -hu=\u30CF\u30F3\u30AC\u30EA\u30FC\u8A9E -hy=\u30A2\u30EB\u30E1\u30CB\u30A2\u8A9E -hz=\u30D8\u30EC\u30ED\u8A9E -ia=\u56FD\u969B\u8A9E -id=\u30A4\u30F3\u30C9\u30CD\u30B7\u30A2\u8A9E -ie=\u56FD\u969B\u8A9E -ig=\u30A4\u30DC\u8A9E -ii=\u56DB\u5DDD\u8A9E -ik=\u30A4\u30CC\u30D4\u30A2\u30C3\u30AF\u8A9E -in=\u30A4\u30F3\u30C9\u30CD\u30B7\u30A2\u8A9E -io=\u30A4\u30C9\u8A9E -is=\u30A2\u30A4\u30B9\u30E9\u30F3\u30C9\u8A9E -it=\u30A4\u30BF\u30EA\u30A2\u8A9E -iu=\u30A4\u30CC\u30AF\u30A6\u30C6\u30A3\u30C8\u30C3\u30C8\u8A9E -iw=\u30D8\u30D6\u30E9\u30A4\u8A9E -ja=\u65E5\u672C\u8A9E -ji=\u30A4\u30C7\u30A3\u30C3\u30B7\u30E5\u8A9E -jv=\u30B8\u30E3\u30EF\u8A9E -ka=\u30B0\u30EB\u30B8\u30A2\u8A9E -kg=\u30B3\u30F3\u30B4\u8A9E -ki=\u30AD\u30AF\u30E6\u8A9E -kj=\u30AF\u30A5\u30CB\u30E3\u30DE\u8A9E -kk=\u30AB\u30B6\u30D5\u8A9E -kl=\u30B0\u30EA\u30FC\u30F3\u30E9\u30F3\u30C9\u8A9E -km=\u30AB\u30F3\u30DC\u30B8\u30A2\u8A9E -kn=\u30AB\u30F3\u30CA\u30C0\u8A9E -ko=\u97D3\u56FD\u8A9E -kr=\u30AB\u30CC\u30EA\u8A9E -ks=\u30AB\u30B7\u30DF\u30FC\u30EB\u8A9E -ku=\u30AF\u30EB\u30C9\u8A9E -kv=\u30B3\u30DF\u8A9E -kw=\u30B3\u30FC\u30F3\u30A6\u30A9\u30FC\u30EB\u8A9E -ky=\u30AD\u30EB\u30AE\u30B9\u8A9E -la=\u30E9\u30C6\u30F3\u8A9E -lb=\u30EB\u30AF\u30BB\u30F3\u30D6\u30EB\u30AF\u8A9E -lg=\u30AC\u30F3\u30C0\u8A9E -li=\u30EA\u30F3\u30D6\u30EB\u30B0\u8A9E -ln=\u30EA\u30F3\u30AC\u30E9\u8A9E -lo=\u30E9\u30AA\u8A9E -lt=\u30EA\u30C8\u30A2\u30CB\u30A2\u8A9E -lu=\u30EB\u30D0\u8A9E -lv=\u30E9\u30C8\u30D3\u30A2\u8A9E (\u30EC\u30C3\u30C8\u8A9E) -mg=\u30DE\u30E9\u30AC\u30B7\u30FC\u8A9E -mh=\u30DE\u30FC\u30B7\u30E3\u30EB\u8A9E -mi=\u30DE\u30AA\u30EA\u8A9E -mk=\u30DE\u30B1\u30C9\u30CB\u30A2\u8A9E -ml=\u30DE\u30E9\u30E4\u30FC\u30E9\u30E0\u8A9E -mn=\u30E2\u30F3\u30B4\u30EB\u8A9E -mo=\u30E2\u30EB\u30C0\u30D3\u30A2\u8A9E -mr=\u30DE\u30E9\u30FC\u30C6\u30A3\u30FC\u8A9E -ms=\u30DE\u30E9\u30A4\u8A9E -mt=\u30DE\u30EB\u30BF\u8A9E -my=\u30D3\u30EB\u30DE\u8A9E -na=\u30CA\u30A6\u30EB\u8A9E -nb=\u30CE\u30EB\u30A6\u30A7\u30FC\u8A9E(\u30D6\u30FC\u30AF\u30E2\u30FC\u30EB) -nd=\u5317\u30F3\u30C7\u30D9\u30EC\u8A9E -ne=\u30CD\u30D1\u30FC\u30EB\u8A9E -ng=\u30F3\u30C9\u30F3\u30AC\u8A9E -nl=\u30AA\u30E9\u30F3\u30C0\u8A9E -nn=\u30CE\u30EB\u30A6\u30A7\u30FC\u8A9E(\u30CB\u30E5\u30FC\u30CE\u30EB\u30B9\u30AF) -no=\u30CE\u30EB\u30A6\u30A7\u30FC\u8A9E -nr=\u5357\u30F3\u30C7\u30D9\u30EC\u8A9E -nv=\u30CA\u30D0\u30DB\u8A9E -ny=\u30CB\u30E3\u30F3\u30B8\u30E3\u8A9E -oc=\u30D7\u30ED\u30D0\u30F3\u30B9\u8A9E -oj=\u30AA\u30B8\u30D6\u30EF\u8A9E -om=\u30AC\u30E9\u8A9E -or=\u30AA\u30EA\u30E4\u30FC\u8A9E -os=\u30AA\u30BB\u30C1\u30A2\u8A9E -pa=\u30D1\u30F3\u30B8\u30E3\u30D6\u8A9E -pi=\u30D1\u30FC\u30EA\u8A9E -pl=\u30DD\u30FC\u30E9\u30F3\u30C9\u8A9E -ps=\u30D1\u30B7\u30E5\u30C8\u30FC\u8A9E -pt=\u30DD\u30EB\u30C8\u30AC\u30EB\u8A9E -qu=\u30B1\u30C1\u30E5\u30A2\u8A9E -rm=\u30EC\u30C8=\u30ED\u30DE\u30F3\u8A9E -rn=\u30EB\u30F3\u30B8\u8A9E -ro=\u30EB\u30FC\u30DE\u30CB\u30A2\u8A9E -ru=\u30ED\u30B7\u30A2\u8A9E -rw=\u30EB\u30EF\u30F3\u30C0\u8A9E -sa=\u30B5\u30F3\u30B9\u30AF\u30EA\u30C3\u30C8\u8A9E -sc=\u30B5\u30EB\u30C7\u30A3\u30CB\u30A2\u8A9E -sd=\u30B7\u30F3\u30C9\u8A9E -se=\u5317\u30B5\u30DF\u8A9E -sg=\u30B5\u30F3\u30B4\u8A9E -si=\u30B7\u30F3\u30CF\u30E9\u8A9E -sk=\u30B9\u30ED\u30D0\u30AD\u30A2\u8A9E -sl=\u30B9\u30ED\u30D9\u30CB\u30A2\u8A9E -sm=\u30B5\u30E2\u30A2\u8A9E -sn=\u30B7\u30E7\u30CA\u8A9E -so=\u30BD\u30DE\u30EA\u8A9E -sq=\u30A2\u30EB\u30D0\u30CB\u30A2\u8A9E -sr=\u30BB\u30EB\u30D3\u30A2\u8A9E -ss=\u30B7\u30B9\u30EF\u30C6\u30A3\u8A9E -st=\u30BB\u30BD\u30C8\u8A9E -su=\u30B9\u30F3\u30C0\u8A9E -sv=\u30B9\u30A6\u30A7\u30FC\u30C7\u30F3\u8A9E -sw=\u30B9\u30EF\u30D2\u30EA\u8A9E -ta=\u30BF\u30DF\u30FC\u30EB\u8A9E -te=\u30C6\u30EB\u30B0\u8A9E -tg=\u30BF\u30B8\u30AF\u8A9E -th=\u30BF\u30A4\u8A9E -ti=\u30C6\u30A3\u30B0\u30EA\u30CB\u30A2\u8A9E -tk=\u30C8\u30EB\u30AF\u30E1\u30F3\u8A9E -tl=\u30BF\u30AC\u30ED\u30B0\u8A9E -tn=\u30C4\u30EF\u30CA\u8A9E -to=\u30C8\u30F3\u30AC\u8A9E -tr=\u30C8\u30EB\u30B3\u8A9E -ts=\u30C4\u30A9\u30F3\u30AC\u8A9E -tt=\u30BF\u30BF\u30FC\u30EB\u8A9E -tw=\u30C8\u30A5\u30A4\u8A9E -ty=\u30BF\u30D2\u30C1\u8A9E -ug=\u30A6\u30A4\u30B0\u30EB\u8A9E -uk=\u30A6\u30AF\u30E9\u30A4\u30CA\u8A9E -ur=\u30A6\u30EB\u30C9\u30A5\u30FC\u8A9E -uz=\u30A6\u30BA\u30D9\u30AF\u8A9E -ve=\u30D9\u30F3\u30C0\u8A9E -vi=\u30D9\u30C8\u30CA\u30E0\u8A9E -vo=\u30F4\u30A9\u30E9\u30D4\u30E5\u30FC\u30AF\u8A9E -wa=\u30EF\u30ED\u30F3\u8A9E -wo=\u30A6\u30A9\u30ED\u30D5\u8A9E -xh=\u30B3\u30B5\u8A9E -yi=\u30A4\u30C7\u30A3\u30C3\u30B7\u30E5\u8A9E -yo=\u30E8\u30EB\u30D0\u8A9E -za=\u30C1\u30EF\u30F3\u8A9E -zh=\u4E2D\u56FD\u8A9E -zu=\u30BA\u30FC\u30EB\u30FC\u8A9E +aa=\u30a2\u30d5\u30a1\u30fc\u30eb\u8a9e +ab=\u30a2\u30d6\u30cf\u30ba\u8a9e +ae=\u30a2\u30f4\u30a7\u30b9\u30bf\u8a9e +af=\u30a2\u30d5\u30ea\u30ab\u30fc\u30f3\u30b9\u8a9e +ak=\u30a2\u30ab\u30f3\u8a9e +am=\u30a2\u30e0\u30cf\u30e9\u8a9e +an=\u30a2\u30e9\u30b4\u30f3\u8a9e +ar=\u30a2\u30e9\u30d3\u30a2\u8a9e +as=\u30a2\u30c3\u30b5\u30e0\u8a9e +av=\u30a2\u30f4\u30a1\u30eb\u8a9e +ay=\u30a2\u30a4\u30de\u30e9\u8a9e +az=\u30a2\u30bc\u30eb\u30d0\u30a4\u30b8\u30e3\u30f3\u8a9e +ba=\u30d0\u30b7\u30ad\u30fc\u30eb\u8a9e +be=\u767d\u30ed\u30b7\u30a2\u8a9e +bg=\u30d6\u30eb\u30ac\u30ea\u30a2\u8a9e +bh=\u30d3\u30cf\u30fc\u30eb\u8a9e +bi=\u30d3\u30b9\u30e9\u30de\u8a9e +bm=\u30d0\u30f3\u30d0\u30e9\u8a9e +bn=\u30d9\u30f3\u30ac\u30eb\u8a9e +bo=\u30c1\u30d9\u30c3\u30c8\u8a9e +br=\u30d6\u30eb\u30c8\u30f3\u8a9e +bs=\u30dc\u30b9\u30cb\u30a2\u8a9e +ca=\u30ab\u30bf\u30ed\u30cb\u30a2\u8a9e +ce=\u30c1\u30a7\u30c1\u30a7\u30f3\u8a9e +ch=\u30c1\u30e3\u30e2\u30ed\u8a9e +co=\u30b3\u30eb\u30b7\u30ab\u8a9e +cr=\u30af\u30ea\u30fc\u8a9e +cs=\u30c1\u30a7\u30b3\u8a9e +cu=\u6559\u4f1a\u30b9\u30e9\u30d6\u8a9e +cv=\u30c1\u30e5\u30f4\u30a1\u30b7\u30e5\u8a9e +cy=\u30a6\u30a7\u30fc\u30eb\u30ba\u8a9e +da=\u30c7\u30f3\u30de\u30fc\u30af\u8a9e +de=\u30c9\u30a4\u30c4\u8a9e +dv=\u30c7\u30a3\u30d9\u30d2\u8a9e +dz=\u30d6\u30fc\u30bf\u30f3\u8a9e +ee=\u30a8\u30a6\u30a7\u8a9e +el=\u30ae\u30ea\u30b7\u30a2\u8a9e +en=\u82f1\u8a9e +eo=\u30a8\u30b9\u30da\u30e9\u30f3\u30c8\u8a9e +es=\u30b9\u30da\u30a4\u30f3\u8a9e +et=\u30a8\u30b9\u30c8\u30cb\u30a2\u8a9e +eu=\u30d0\u30b9\u30af\u8a9e +fa=\u30da\u30eb\u30b7\u30a2\u8a9e +ff=\u30d5\u30e9\u8a9e +fi=\u30d5\u30a3\u30f3\u30e9\u30f3\u30c9\u8a9e +fj=\u30d5\u30a3\u30b8\u30fc\u8a9e +fo=\u30d5\u30a7\u30ed\u30fc\u8a9e +fr=\u30d5\u30e9\u30f3\u30b9\u8a9e +fy=\u30d5\u30ea\u30b8\u30a2\u8a9e +ga=\u30a2\u30a4\u30eb\u30e9\u30f3\u30c9\u8a9e +gd=\u30b9\u30b3\u30c3\u30c8\u30e9\u30f3\u30c9\u30fb\u30b2\u30fc\u30eb\u8a9e +gl=\u30ac\u30ea\u30b7\u30a2\u8a9e +gn=\u30b0\u30ef\u30e9\u30cb\u8a9e +gu=\u30b0\u30b8\u30e3\u30e9\u30fc\u30c8\u8a9e +gv=\u30de\u30f3\u5cf6\u8a9e +ha=\u30cf\u30a6\u30b5\u8a9e +he=\u30d8\u30d6\u30e9\u30a4\u8a9e +hi=\u30d2\u30f3\u30c7\u30a3\u30fc\u8a9e +ho=\u30d2\u30ea\u30fb\u30e2\u30c4\u8a9e +hr=\u30af\u30ed\u30a2\u30c1\u30a2\u8a9e +ht=\u30cf\u30a4\u30c1\u8a9e +hu=\u30cf\u30f3\u30ac\u30ea\u30fc\u8a9e +hy=\u30a2\u30eb\u30e1\u30cb\u30a2\u8a9e +hz=\u30d8\u30ec\u30ed\u8a9e +ia=\u56fd\u969b\u8a9e +id=\u30a4\u30f3\u30c9\u30cd\u30b7\u30a2\u8a9e +ie=\u56fd\u969b\u8a9e +ig=\u30a4\u30dc\u8a9e +ii=\u56db\u5ddd\u8a9e +ik=\u30a4\u30cc\u30d4\u30a2\u30c3\u30af\u8a9e +in=\u30a4\u30f3\u30c9\u30cd\u30b7\u30a2\u8a9e +io=\u30a4\u30c9\u8a9e +is=\u30a2\u30a4\u30b9\u30e9\u30f3\u30c9\u8a9e +it=\u30a4\u30bf\u30ea\u30a2\u8a9e +iu=\u30a4\u30cc\u30af\u30a6\u30c6\u30a3\u30c8\u30c3\u30c8\u8a9e +iw=\u30d8\u30d6\u30e9\u30a4\u8a9e +ja=\u65e5\u672c\u8a9e +ji=\u30a4\u30c7\u30a3\u30c3\u30b7\u30e5\u8a9e +jv=\u30b8\u30e3\u30ef\u8a9e +ka=\u30b0\u30eb\u30b8\u30a2\u8a9e +kg=\u30b3\u30f3\u30b4\u8a9e +ki=\u30ad\u30af\u30e6\u8a9e +kj=\u30af\u30a5\u30cb\u30e3\u30de\u8a9e +kk=\u30ab\u30b6\u30d5\u8a9e +kl=\u30b0\u30ea\u30fc\u30f3\u30e9\u30f3\u30c9\u8a9e +km=\u30ab\u30f3\u30dc\u30b8\u30a2\u8a9e +kn=\u30ab\u30f3\u30ca\u30c0\u8a9e +ko=\u97d3\u56fd\u8a9e +kr=\u30ab\u30cc\u30ea\u8a9e +ks=\u30ab\u30b7\u30df\u30fc\u30eb\u8a9e +ku=\u30af\u30eb\u30c9\u8a9e +kv=\u30b3\u30df\u8a9e +kw=\u30b3\u30fc\u30f3\u30a6\u30a9\u30fc\u30eb\u8a9e +ky=\u30ad\u30eb\u30ae\u30b9\u8a9e +la=\u30e9\u30c6\u30f3\u8a9e +lb=\u30eb\u30af\u30bb\u30f3\u30d6\u30eb\u30af\u8a9e +lg=\u30ac\u30f3\u30c0\u8a9e +li=\u30ea\u30f3\u30d6\u30eb\u30b0\u8a9e +ln=\u30ea\u30f3\u30ac\u30e9\u8a9e +lo=\u30e9\u30aa\u8a9e +lt=\u30ea\u30c8\u30a2\u30cb\u30a2\u8a9e +lu=\u30eb\u30d0\u8a9e +lv=\u30e9\u30c8\u30d3\u30a2\u8a9e (\u30ec\u30c3\u30c8\u8a9e) +mg=\u30de\u30e9\u30ac\u30b7\u30fc\u8a9e +mh=\u30de\u30fc\u30b7\u30e3\u30eb\u8a9e +mi=\u30de\u30aa\u30ea\u8a9e +mk=\u30de\u30b1\u30c9\u30cb\u30a2\u8a9e +ml=\u30de\u30e9\u30e4\u30fc\u30e9\u30e0\u8a9e +mn=\u30e2\u30f3\u30b4\u30eb\u8a9e +mo=\u30e2\u30eb\u30c0\u30d3\u30a2\u8a9e +mr=\u30de\u30e9\u30fc\u30c6\u30a3\u30fc\u8a9e +ms=\u30de\u30e9\u30a4\u8a9e +mt=\u30de\u30eb\u30bf\u8a9e +my=\u30d3\u30eb\u30de\u8a9e +na=\u30ca\u30a6\u30eb\u8a9e +nb=\u30ce\u30eb\u30a6\u30a7\u30fc\u8a9e (\u30dc\u30fc\u30af\u30e2\u30fc\u30eb) +nd=\u5317\u30f3\u30c7\u30d9\u30ec\u8a9e +ne=\u30cd\u30d1\u30fc\u30eb\u8a9e +ng=\u30f3\u30c9\u30f3\u30ac\u8a9e +nl=\u30aa\u30e9\u30f3\u30c0\u8a9e +nn=\u30ce\u30eb\u30a6\u30a7\u30fc\u8a9e (\u30cb\u30e5\u30fc\u30ce\u30eb\u30b9\u30af) +no=\u30ce\u30eb\u30a6\u30a7\u30fc\u8a9e +nr=\u5357\u30f3\u30c7\u30d9\u30ec\u8a9e +nv=\u30ca\u30d0\u30db\u8a9e +ny=\u30cb\u30e3\u30f3\u30b8\u30e3\u8a9e +oc=\u30d7\u30ed\u30d0\u30f3\u30b9\u8a9e +oj=\u30aa\u30b8\u30d6\u30ef\u8a9e +om=\u30ac\u30e9\u8a9e +or=\u30aa\u30ea\u30e4\u30fc\u8a9e +os=\u30aa\u30bb\u30c1\u30a2\u8a9e +pa=\u30d1\u30f3\u30b8\u30e3\u30d6\u8a9e +pi=\u30d1\u30fc\u30ea\u8a9e +pl=\u30dd\u30fc\u30e9\u30f3\u30c9\u8a9e +ps=\u30d1\u30b7\u30e5\u30c8\u30fc\u8a9e +pt=\u30dd\u30eb\u30c8\u30ac\u30eb\u8a9e +qu=\u30b1\u30c1\u30e5\u30a2\u8a9e +rm=\u30ec\u30c8\uff1d\u30ed\u30de\u30f3\u8a9e +rn=\u30eb\u30f3\u30b8\u8a9e +ro=\u30eb\u30fc\u30de\u30cb\u30a2\u8a9e +ru=\u30ed\u30b7\u30a2\u8a9e +rw=\u30eb\u30ef\u30f3\u30c0\u8a9e +sa=\u30b5\u30f3\u30b9\u30af\u30ea\u30c3\u30c8\u8a9e +sc=\u30b5\u30eb\u30c7\u30a3\u30cb\u30a2\u8a9e +sd=\u30b7\u30f3\u30c9\u8a9e +se=\u5317\u30b5\u30df\u8a9e +sg=\u30b5\u30f3\u30b4\u8a9e +si=\u30b7\u30f3\u30cf\u30e9\u8a9e +sk=\u30b9\u30ed\u30d0\u30ad\u30a2\u8a9e +sl=\u30b9\u30ed\u30d9\u30cb\u30a2\u8a9e +sm=\u30b5\u30e2\u30a2\u8a9e +sn=\u30b7\u30e7\u30ca\u8a9e +so=\u30bd\u30de\u30ea\u8a9e +sq=\u30a2\u30eb\u30d0\u30cb\u30a2\u8a9e +sr=\u30bb\u30eb\u30d3\u30a2\u8a9e +ss=\u30b7\u30b9\u30ef\u30c6\u30a3\u8a9e +st=\u30bb\u30bd\u30c8\u8a9e +su=\u30b9\u30f3\u30c0\u8a9e +sv=\u30b9\u30a6\u30a7\u30fc\u30c7\u30f3\u8a9e +sw=\u30b9\u30ef\u30d2\u30ea\u8a9e +ta=\u30bf\u30df\u30fc\u30eb\u8a9e +te=\u30c6\u30eb\u30b0\u8a9e +tg=\u30bf\u30b8\u30af\u8a9e +th=\u30bf\u30a4\u8a9e +ti=\u30c6\u30a3\u30b0\u30ea\u30cb\u30a2\u8a9e +tk=\u30c8\u30eb\u30af\u30e1\u30f3\u8a9e +tl=\u30bf\u30ac\u30ed\u30b0\u8a9e +tn=\u30c4\u30ef\u30ca\u8a9e +to=\u30c8\u30f3\u30ac\u8a9e +tr=\u30c8\u30eb\u30b3\u8a9e +ts=\u30c4\u30a9\u30f3\u30ac\u8a9e +tt=\u30bf\u30bf\u30fc\u30eb\u8a9e +tw=\u30c8\u30a5\u30a4\u8a9e +ty=\u30bf\u30d2\u30c1\u8a9e +ug=\u30a6\u30a4\u30b0\u30eb\u8a9e +uk=\u30a6\u30af\u30e9\u30a4\u30ca\u8a9e +ur=\u30a6\u30eb\u30c9\u30a5\u30fc\u8a9e +uz=\u30a6\u30ba\u30d9\u30af\u8a9e +ve=\u30d9\u30f3\u30c0\u8a9e +vi=\u30d9\u30c8\u30ca\u30e0\u8a9e +vo=\u30dc\u30e9\u30d4\u30e5\u30af\u8a9e +wa=\u30ef\u30ed\u30f3\u8a9e +wo=\u30a6\u30a9\u30ed\u30d5\u8a9e +xh=\u30b3\u30b5\u8a9e +yi=\u30a4\u30c7\u30a3\u30c3\u30b7\u30e5\u8a9e +yo=\u30e8\u30eb\u30d0\u8a9e +za=\u30c1\u30ef\u30f3\u8a9e +zh=\u4e2d\u56fd\u8a9e +zu=\u30ba\u30fc\u30eb\u30fc\u8a9e # key is ISO 639.2 language code aar=\u30A2\u30D5\u30A1\u30EB\u8A9E @@ -807,7 +806,7 @@ Narb=\u53E4\u4EE3\u5317\u30A2\u30E9\u30D3\u30A2\u8A9E Nbat=\u30CA\u30D0\u30C6\u30A2\u8A9E Nkgb=Nakhi Geba\u6587\u5B57 -Nkoo=\u30F3\u30B3\u8A9E +Nkoo=\u30F3\u30B3\u6587\u5B57 Ogam=\u30AA\u30AC\u30E0\u6587\u5B57 Olck=\u30AA\u30EB\u30C1\u30AD\u6587\u5B57 Orkh=\u30AA\u30EB\u30DB\u30F3\u6587\u5B57 @@ -856,7 +855,7 @@ Visp=\u8996\u8A71\u6CD5 Wara=\u30EF\u30E9\u30F3\u30B0\u30FB\u30AF\u30B7\u30C6\u30A3\u6587\u5B57 Xpeo=\u53E4\u4EE3\u30DA\u30EB\u30B7\u30A2\u6587\u5B57 -Xsux=\u30B7\u30E5\u30E1\u30FC\u30EB=\u30A2\u30C3\u30AB\u30C9\u8A9E\u6954\u5F62\u6587\u5B57 +Xsux=\u30B7\u30E5\u30E1\u30FC\u30EB\uFF1D\u30A2\u30C3\u30AB\u30C9\u8A9E\u6954\u5F62\u6587\u5B57 Yiii=\u30A4\u6587\u5B57 Zinh=\u7D99\u627F\u7528\u5B57 Zmth=\u6570\u5B66\u8A18\u53F7 @@ -868,256 +867,256 @@ # country names # key is ISO 3166 country code -AD=\u30A2\u30F3\u30C9\u30E9 -AE=\u30A2\u30E9\u30D6\u9996\u9577\u56FD\u9023\u90A6 -AF=\u30A2\u30D5\u30AC\u30CB\u30B9\u30BF\u30F3 -AG=\u30A2\u30F3\u30C1\u30B0\u30A2\u30D0\u30FC\u30D6\u30FC\u30C0 -AI=\u30A2\u30F3\u30AE\u30E9 -AL=\u30A2\u30EB\u30D0\u30CB\u30A2 -AM=\u30A2\u30EB\u30E1\u30CB\u30A2 -AN=\u30AA\u30E9\u30F3\u30C0\u9818\u30A2\u30F3\u30C6\u30A3\u30EB\u8AF8\u5CF6 -AO=\u30A2\u30F3\u30B4\u30E9 +AD=\u30a2\u30f3\u30c9\u30e9 +AE=\u30a2\u30e9\u30d6\u9996\u9577\u56fd\u9023\u90a6 +AF=\u30a2\u30d5\u30ac\u30cb\u30b9\u30bf\u30f3 +AG=\u30a2\u30f3\u30c1\u30b0\u30a2\u30d0\u30fc\u30d6\u30fc\u30c0 +AI=\u30a2\u30f3\u30ae\u30e9 +AL=\u30a2\u30eb\u30d0\u30cb\u30a2 +AM=\u30a2\u30eb\u30e1\u30cb\u30a2 +AN=\u30aa\u30e9\u30f3\u30c0\u9818\u30a2\u30f3\u30c6\u30a3\u30eb\u8af8\u5cf6 +AO=\u30a2\u30f3\u30b4\u30e9 AQ=\u5357\u6975 -AR=\u30A2\u30EB\u30BC\u30F3\u30C1\u30F3 -AS=\u30A2\u30E1\u30EA\u30AB\u30F3\u30B5\u30E2\u30A2 -AT=\u30AA\u30FC\u30B9\u30C8\u30EA\u30A2 -AU=\u30AA\u30FC\u30B9\u30C8\u30E9\u30EA\u30A2 -AW=\u30A2\u30EB\u30D0\u5CF6 -AX=\u30AA\u30FC\u30E9\u30F3\u30C9\u8AF8\u5CF6 -AZ=\u30A2\u30BC\u30EB\u30D0\u30A4\u30B8\u30E3\u30F3 -BA=\u30DC\u30B9\u30CB\u30A2\u30FB\u30D8\u30EB\u30C4\u30A7\u30B4\u30D3\u30CA -BB=\u30D0\u30EB\u30D0\u30C9\u30B9 -BD=\u30D0\u30F3\u30B0\u30E9\u30C7\u30B7\u30E5 -BE=\u30D9\u30EB\u30AE\u30FC -BF=\u30D6\u30EB\u30AD\u30CA\u30D5\u30A1\u30BD -BG=\u30D6\u30EB\u30AC\u30EA\u30A2 -BH=\u30D0\u30FC\u30EC\u30FC\u30F3 -BI=\u30D6\u30EB\u30F3\u30B8 -BJ=\u30D9\u30CB\u30F3 +AR=\u30a2\u30eb\u30bc\u30f3\u30c1\u30f3 +AS=\u30a2\u30e1\u30ea\u30ab\u30f3\u30b5\u30e2\u30a2 +AT=\u30aa\u30fc\u30b9\u30c8\u30ea\u30a2 +AU=\u30aa\u30fc\u30b9\u30c8\u30e9\u30ea\u30a2 +AW=\u30a2\u30eb\u30d0\u5cf6 +AX=\u30aa\u30fc\u30e9\u30f3\u30c9\u8af8\u5cf6 +AZ=\u30a2\u30bc\u30eb\u30d0\u30a4\u30b8\u30e3\u30f3 +BA=\u30dc\u30b9\u30cb\u30a2\u30fb\u30d8\u30eb\u30c4\u30a7\u30b4\u30d3\u30ca +BB=\u30d0\u30eb\u30d0\u30c9\u30b9 +BD=\u30d0\u30f3\u30b0\u30e9\u30c7\u30b7\u30e5 +BE=\u30d9\u30eb\u30ae\u30fc +BF=\u30d6\u30eb\u30ad\u30ca\u30d5\u30a1\u30bd +BG=\u30d6\u30eb\u30ac\u30ea\u30a2 +BH=\u30d0\u30fc\u30ec\u30fc\u30f3 +BI=\u30d6\u30eb\u30f3\u30b8 +BJ=\u30d9\u30cb\u30f3 BL=\u30B5\u30F3\u30FB\u30D0\u30EB\u30C6\u30EB\u30DF\u30FC -BM=\u30D0\u30FC\u30DF\u30E5\u30FC\u30C0\u8AF8\u5CF6 -BN=\u30D6\u30EB\u30CD\u30A4 -BO=\u30DC\u30EA\u30D3\u30A2 +BM=\u30d0\u30fc\u30df\u30e5\u30fc\u30c0\u8af8\u5cf6 +BN=\u30d6\u30eb\u30cd\u30a4 +BO=\u30dc\u30ea\u30d3\u30a2 BQ=\u30DC\u30CD\u30FC\u30EB\u3001\u30BB\u30F3\u30C8\u30FB\u30A8\u30A6\u30B9\u30BF\u30C6\u30A3\u30A6\u30B9\u304A\u3088\u3073\u30B5\u30D0 -BR=\u30D6\u30E9\u30B8\u30EB -BS=\u30D0\u30CF\u30DE -BT=\u30D6\u30FC\u30BF\u30F3 -BV=\u30D6\u30FC\u30D9\u5CF6 -BW=\u30DC\u30C4\u30EF\u30CA -BY=\u30D9\u30E9\u30EB\u30FC\u30B7 -BZ=\u30D9\u30EA\u30FC\u30BA -CA=\u30AB\u30CA\u30C0 -CC=\u30B3\u30B3\u30B9\u8AF8\u5CF6 -CD=\u30B3\u30F3\u30B4\u6C11\u4E3B\u5171\u548C\u56FD -CF=\u4E2D\u592E\u30A2\u30D5\u30EA\u30AB\u5171\u548C\u56FD -CG=\u30B3\u30F3\u30B4 -CH=\u30B9\u30A4\u30B9 -CI=\u30B3\u30FC\u30C8\u30B8\u30DC\u30A2\u30FC\u30EB -CK=\u30AF\u30C3\u30AF\u8AF8\u5CF6 -CL=\u30C1\u30EA -CM=\u30AB\u30E1\u30EB\u30FC\u30F3 -CN=\u4E2D\u83EF\u4EBA\u6C11\u5171\u548C\u56FD -CO=\u30B3\u30ED\u30F3\u30D3\u30A2 -CR=\u30B3\u30B9\u30BF\u30EA\u30AB -CS=\u30BB\u30EB\u30D3\u30A2\u30FB\u30E2\u30F3\u30C6\u30CD\u30B0\u30ED -CU=\u30AD\u30E5\u30FC\u30D0 -CV=\u30AB\u30FC\u30DC\u30D9\u30EB\u30C7 +BR=\u30d6\u30e9\u30b8\u30eb +BS=\u30d0\u30cf\u30de +BT=\u30d6\u30fc\u30bf\u30f3 +BV=\u30d6\u30fc\u30d9\u5cf6 +BW=\u30dc\u30c4\u30ef\u30ca +BY=\u30d9\u30e9\u30eb\u30fc\u30b7 +BZ=\u30d9\u30ea\u30fc\u30ba +CA=\u30ab\u30ca\u30c0 +CC=\u30b3\u30b3\u30b9\u8af8\u5cf6 +CD=\u30b3\u30f3\u30b4\u6c11\u4e3b\u5171\u548c\u56fd +CF=\u4e2d\u592e\u30a2\u30d5\u30ea\u30ab\u5171\u548c\u56fd +CG=\u30b3\u30f3\u30b4 +CH=\u30b9\u30a4\u30b9 +CI=\u30b3\u30fc\u30c8\u30b8\u30dc\u30a2\u30fc\u30eb +CK=\u30af\u30c3\u30af\u8af8\u5cf6 +CL=\u30c1\u30ea +CM=\u30ab\u30e1\u30eb\u30fc\u30f3 +CN=\u4e2d\u83ef\u4eba\u6c11\u5171\u548c\u56fd +CO=\u30b3\u30ed\u30f3\u30d3\u30a2 +CR=\u30b3\u30b9\u30bf\u30ea\u30ab +CS=\u30bb\u30eb\u30d3\u30a2\u30fb\u30e2\u30f3\u30c6\u30cd\u30b0\u30ed +CU=\u30ad\u30e5\u30fc\u30d0 +CV=\u30ab\u30fc\u30dc\u30d9\u30eb\u30c7 CW=\u30AD\u30E5\u30E9\u30BD\u30FC -CX=\u30AF\u30EA\u30B9\u30DE\u30B9\u5CF6 -CY=\u30AD\u30D7\u30ED\u30B9 -CZ=\u30C1\u30A7\u30B3 -DE=\u30C9\u30A4\u30C4 -DJ=\u30B8\u30D6\u30C1 -DK=\u30C7\u30F3\u30DE\u30FC\u30AF -DM=\u30C9\u30DF\u30CB\u30AB\u56FD -DO=\u30C9\u30DF\u30CB\u30AB\u5171\u548C\u56FD -DZ=\u30A2\u30EB\u30B8\u30A7\u30EA\u30A2 -EC=\u30A8\u30AF\u30A2\u30C9\u30EB -EE=\u30A8\u30B9\u30C8\u30CB\u30A2 -EG=\u30A8\u30B8\u30D7\u30C8 -EH=\u897F\u30B5\u30CF\u30E9 -ER=\u30A8\u30EA\u30C8\u30EA\u30A2 -ES=\u30B9\u30DA\u30A4\u30F3 -ET=\u30A8\u30C1\u30AA\u30D4\u30A2 -FI=\u30D5\u30A3\u30F3\u30E9\u30F3\u30C9 -FJ=\u30D5\u30A3\u30B8\u30FC -FK=\u30D5\u30A9\u30FC\u30AF\u30E9\u30F3\u30C9\u8AF8\u5CF6 -FM=\u30DF\u30AF\u30ED\u30CD\u30B7\u30A2 -FO=\u30D5\u30A7\u30ED\u30FC\u8AF8\u5CF6 -FR=\u30D5\u30E9\u30F3\u30B9 -GA=\u30AC\u30DC\u30F3 -GB=\u30A4\u30AE\u30EA\u30B9 -GD=\u30B0\u30EC\u30CA\u30C0 -GE=\u30B0\u30EB\u30B8\u30A2 -GF=\u4ECF\u9818\u30AE\u30A2\u30CA +CX=\u30af\u30ea\u30b9\u30de\u30b9\u5cf6 +CY=\u30ad\u30d7\u30ed\u30b9 +CZ=\u30c1\u30a7\u30b3 +DE=\u30c9\u30a4\u30c4 +DJ=\u30b8\u30d6\u30c1 +DK=\u30c7\u30f3\u30de\u30fc\u30af +DM=\u30c9\u30df\u30cb\u30ab\u56fd +DO=\u30c9\u30df\u30cb\u30ab\u5171\u548c\u56fd +DZ=\u30a2\u30eb\u30b8\u30a7\u30ea\u30a2 +EC=\u30a8\u30af\u30a2\u30c9\u30eb +EE=\u30a8\u30b9\u30c8\u30cb\u30a2 +EG=\u30a8\u30b8\u30d7\u30c8 +EH=\u897f\u30b5\u30cf\u30e9 +ER=\u30a8\u30ea\u30c8\u30ea\u30a2 +ES=\u30b9\u30da\u30a4\u30f3 +ET=\u30a8\u30c1\u30aa\u30d4\u30a2 +FI=\u30d5\u30a3\u30f3\u30e9\u30f3\u30c9 +FJ=\u30d5\u30a3\u30b8\u30fc +FK=\u30d5\u30a9\u30fc\u30af\u30e9\u30f3\u30c9\u8af8\u5cf6 +FM=\u30df\u30af\u30ed\u30cd\u30b7\u30a2 +FO=\u30d5\u30a7\u30ed\u30fc\u8af8\u5cf6 +FR=\u30d5\u30e9\u30f3\u30b9 +GA=\u30ac\u30dc\u30f3 +GB=\u30a4\u30ae\u30ea\u30b9 +GD=\u30b0\u30ec\u30ca\u30c0 +GE=\u30b0\u30eb\u30b8\u30a2 +GF=\u4ecf\u9818\u30ae\u30a2\u30ca GG=\u30AC\u30FC\u30F3\u30B8\u30FC -GH=\u30AC\u30FC\u30CA -GI=\u30B8\u30D6\u30E9\u30EB\u30BF\u30EB -GL=\u30B0\u30EA\u30FC\u30F3\u30E9\u30F3\u30C9 -GM=\u30AC\u30F3\u30D3\u30A2 -GN=\u30AE\u30CB\u30A2 -GP=\u30B0\u30A2\u30C9\u30EB\u30FC\u30D7 -GQ=\u8D64\u9053\u30AE\u30CB\u30A2 -GR=\u30AE\u30EA\u30B7\u30A2 -GS=\u30B5\u30A6\u30B9\u30B8\u30E7\u30FC\u30B8\u30A2\u5CF6\u30FB\u30B5\u30A6\u30B9\u30B5\u30F3\u30C9\u30A6\u30A3\u30C3\u30C1\u5CF6 -GT=\u30B0\u30A2\u30C6\u30DE\u30E9 -GU=\u30B0\u30A2\u30E0 -GW=\u30AE\u30CB\u30A2\u30D3\u30B5\u30A6 -GY=\u30AC\u30A4\u30A2\u30CA -HK=\u9999\u6E2F -HM=\u30CF\u30FC\u30C9\u30FB\u30DE\u30AF\u30C9\u30CA\u30EB\u30C9\u8AF8\u5CF6 -HN=\u30DB\u30F3\u30B8\u30E5\u30E9\u30B9 -HR=\u30AF\u30ED\u30A2\u30C1\u30A2 -HT=\u30CF\u30A4\u30C1 -HU=\u30CF\u30F3\u30AC\u30EA\u30FC -ID=\u30A4\u30F3\u30C9\u30CD\u30B7\u30A2 -IE=\u30A2\u30A4\u30EB\u30E9\u30F3\u30C9 -IL=\u30A4\u30B9\u30E9\u30A8\u30EB +GH=\u30ac\u30fc\u30ca +GI=\u30b8\u30d6\u30e9\u30eb\u30bf\u30eb +GL=\u30b0\u30ea\u30fc\u30f3\u30e9\u30f3\u30c9 +GM=\u30ac\u30f3\u30d3\u30a2 +GN=\u30ae\u30cb\u30a2 +GP=\u30b0\u30a2\u30c9\u30eb\u30fc\u30d7 +GQ=\u8d64\u9053\u30ae\u30cb\u30a2 +GR=\u30ae\u30ea\u30b7\u30a2 +GS=\u30b5\u30a6\u30b9\u30b8\u30e7\u30fc\u30b8\u30a2\u5cf6\u30fb\u30b5\u30a6\u30b9\u30b5\u30f3\u30c9\u30a6\u30a3\u30c3\u30c1\u5cf6 +GT=\u30b0\u30a2\u30c6\u30de\u30e9 +GU=\u30b0\u30a2\u30e0 +GW=\u30ae\u30cb\u30a2\u30d3\u30b5\u30a6 +GY=\u30ac\u30a4\u30a2\u30ca +HK=\u9999\u6e2f +HM=\u30cf\u30fc\u30c9\u30fb\u30de\u30af\u30c9\u30ca\u30eb\u30c9\u8af8\u5cf6 +HN=\u30db\u30f3\u30b8\u30e5\u30e9\u30b9 +HR=\u30af\u30ed\u30a2\u30c1\u30a2 +HT=\u30cf\u30a4\u30c1 +HU=\u30cf\u30f3\u30ac\u30ea\u30fc +ID=\u30a4\u30f3\u30c9\u30cd\u30b7\u30a2 +IE=\u30a2\u30a4\u30eb\u30e9\u30f3\u30c9 +IL=\u30a4\u30b9\u30e9\u30a8\u30eb IM=\u30DE\u30F3\u5CF6 -IN=\u30A4\u30F3\u30C9 -IO=\u82F1\u9818\u30A4\u30F3\u30C9\u6D0B\u5730\u57DF -IQ=\u30A4\u30E9\u30AF -IR=\u30A4\u30E9\u30F3 -IS=\u30A2\u30A4\u30B9\u30E9\u30F3\u30C9 -IT=\u30A4\u30BF\u30EA\u30A2 +IN=\u30a4\u30f3\u30c9 +IO=\u82f1\u9818\u30a4\u30f3\u30c9\u6d0b\u5730\u57df +IQ=\u30a4\u30e9\u30af +IR=\u30a4\u30e9\u30f3 +IS=\u30a2\u30a4\u30b9\u30e9\u30f3\u30c9 +IT=\u30a4\u30bf\u30ea\u30a2 JE=\u30B8\u30E3\u30FC\u30B8\u30FC -JM=\u30B8\u30E3\u30DE\u30A4\u30AB -JO=\u30E8\u30EB\u30C0\u30F3 -JP=\u65E5\u672C -KE=\u30B1\u30CB\u30A2 -KG=\u30AD\u30EB\u30AE\u30B9\u30BF\u30F3 -KH=\u30AB\u30F3\u30DC\u30B8\u30A2 -KI=\u30AD\u30EA\u30D0\u30B9 -KM=\u30B3\u30E2\u30ED -KN=\u30BB\u30F3\u30C8\u30AF\u30EA\u30B9\u30C8\u30D5\u30A1\u30FC\u30FB\u30CD\u30A4\u30D3\u30B9 -KP=\u671D\u9BAE\u6C11\u4E3B\u4E3B\u7FA9\u4EBA\u6C11\u5171\u548C\u56FD -KR=\u5927\u97D3\u6C11\u56FD -KW=\u30AF\u30A6\u30A7\u30FC\u30C8 -KY=\u30B1\u30A4\u30DE\u30F3\u8AF8\u5CF6 -KZ=\u30AB\u30B6\u30D5\u30B9\u30BF\u30F3 -LA=\u30E9\u30AA\u30B9 -LB=\u30EC\u30D0\u30CE\u30F3 -LC=\u30BB\u30F3\u30C8\u30EB\u30B7\u30A2 -LI=\u30EA\u30D2\u30C6\u30F3\u30B7\u30E5\u30BF\u30A4\u30F3 -LK=\u30B9\u30EA\u30E9\u30F3\u30AB -LR=\u30EA\u30D9\u30EA\u30A2 -LS=\u30EC\u30BD\u30C8 -LT=\u30EA\u30C8\u30A2\u30CB\u30A2 -LU=\u30EB\u30AF\u30BB\u30F3\u30D6\u30EB\u30AF -LV=\u30E9\u30C8\u30D3\u30A2 -LY=\u30EA\u30D3\u30A2 -MA=\u30E2\u30ED\u30C3\u30B3 -MC=\u30E2\u30CA\u30B3 -MD=\u30E2\u30EB\u30C9\u30D0 -ME=\u30E2\u30F3\u30C6\u30CD\u30B0\u30ED +JM=\u30b8\u30e3\u30de\u30a4\u30ab +JO=\u30e8\u30eb\u30c0\u30f3 +JP=\u65e5\u672c +KE=\u30b1\u30cb\u30a2 +KG=\u30ad\u30eb\u30ae\u30b9\u30bf\u30f3 +KH=\u30ab\u30f3\u30dc\u30b8\u30a2 +KI=\u30ad\u30ea\u30d0\u30b9 +KM=\u30b3\u30e2\u30ed +KN=\u30bb\u30f3\u30c8\u30af\u30ea\u30b9\u30c8\u30d5\u30a1\u30fc\u30fb\u30cd\u30a4\u30d3\u30b9 +KP=\u671d\u9bae\u6c11\u4e3b\u4e3b\u7fa9\u4eba\u6c11\u5171\u548c\u56fd +KR=\u5927\u97d3\u6c11\u56fd +KW=\u30af\u30a6\u30a7\u30fc\u30c8 +KY=\u30b1\u30a4\u30de\u30f3\u8af8\u5cf6 +KZ=\u30ab\u30b6\u30d5\u30b9\u30bf\u30f3 +LA=\u30e9\u30aa\u30b9 +LB=\u30ec\u30d0\u30ce\u30f3 +LC=\u30bb\u30f3\u30c8\u30eb\u30b7\u30a2 +LI=\u30ea\u30d2\u30c6\u30f3\u30b7\u30e5\u30bf\u30a4\u30f3 +LK=\u30b9\u30ea\u30e9\u30f3\u30ab +LR=\u30ea\u30d9\u30ea\u30a2 +LS=\u30ec\u30bd\u30c8 +LT=\u30ea\u30c8\u30a2\u30cb\u30a2 +LU=\u30eb\u30af\u30bb\u30f3\u30d6\u30eb\u30af +LV=\u30e9\u30c8\u30d3\u30a2 +LY=\u30ea\u30d3\u30a2 +MA=\u30e2\u30ed\u30c3\u30b3 +MC=\u30e2\u30ca\u30b3 +MD=\u30e2\u30eb\u30c9\u30d0 +ME=\u30e2\u30f3\u30c6\u30cd\u30b0\u30ed MF=\u30BB\u30F3\u30C8\u30FB\u30DE\u30FC\u30C1\u30F3 -MG=\u30DE\u30C0\u30AC\u30B9\u30AB\u30EB -MH=\u30DE\u30FC\u30B7\u30E3\u30EB\u8AF8\u5CF6 -MK=\u30DE\u30B1\u30C9\u30CB\u30A2 -ML=\u30DE\u30EA -MM=\u30DF\u30E3\u30F3\u30DE\u30FC -MN=\u30E2\u30F3\u30B4\u30EB -MO=\u30DE\u30AB\u30AA -MP=\u5317\u30DE\u30EA\u30A2\u30CA\u8AF8\u5CF6 -MQ=\u30DE\u30EB\u30C6\u30A3\u30CB\u30FC\u30AF\u5CF6 -MR=\u30E2\u30FC\u30EA\u30BF\u30CB\u30A2 -MS=\u30E2\u30F3\u30C8\u30BB\u30E9\u30C8\u5CF6 -MT=\u30DE\u30EB\u30BF -MU=\u30E2\u30FC\u30EA\u30B7\u30E3\u30B9 -MV=\u30E2\u30EB\u30C7\u30A3\u30D6 -MW=\u30DE\u30E9\u30A6\u30A4 -MX=\u30E1\u30AD\u30B7\u30B3 -MY=\u30DE\u30EC\u30FC\u30B7\u30A2 -MZ=\u30E2\u30B6\u30F3\u30D3\u30FC\u30AF -NA=\u30CA\u30DF\u30D3\u30A2 -NC=\u30CB\u30E5\u30FC\u30AB\u30EC\u30C9\u30CB\u30A2 -NE=\u30CB\u30B8\u30A7\u30FC\u30EB -NF=\u30CE\u30FC\u30D5\u30A9\u30FC\u30AF\u5CF6 -NG=\u30CA\u30A4\u30B8\u30A7\u30EA\u30A2 -NI=\u30CB\u30AB\u30E9\u30B0\u30A2 -NL=\u30AA\u30E9\u30F3\u30C0 -NO=\u30CE\u30EB\u30A6\u30A7\u30FC -NP=\u30CD\u30D1\u30FC\u30EB -NR=\u30CA\u30A6\u30EB -NU=\u30CB\u30A6\u30A8\u5CF6 -NZ=\u30CB\u30E5\u30FC\u30B8\u30FC\u30E9\u30F3\u30C9 -OM=\u30AA\u30DE\u30FC\u30F3 -PA=\u30D1\u30CA\u30DE -PE=\u30DA\u30EB\u30FC -PF=\u4ECF\u9818\u30DD\u30EA\u30CD\u30B7\u30A2 -PG=\u30D1\u30D7\u30A2\u30CB\u30E5\u30FC\u30AE\u30CB\u30A2 -PH=\u30D5\u30A3\u30EA\u30D4\u30F3 -PK=\u30D1\u30AD\u30B9\u30BF\u30F3 -PL=\u30DD\u30FC\u30E9\u30F3\u30C9 -PM=\u30B5\u30F3\u30D4\u30A8\u30FC\u30EB\u5CF6\u30FB\u30DF\u30AF\u30ED\u30F3\u5CF6 -PN=\u30D4\u30C8\u30B1\u30A2\u30F3\u5CF6 -PR=\u30D7\u30A8\u30EB\u30C8\u30EA\u30B3 -PS=\u30D1\u30EC\u30B9\u30C1\u30CA -PT=\u30DD\u30EB\u30C8\u30AC\u30EB -PW=\u30D1\u30E9\u30AA -PY=\u30D1\u30E9\u30B0\u30A2\u30A4 -QA=\u30AB\u30BF\u30FC\u30EB -RE=\u30EC\u30E6\u30CB\u30AA\u30F3 -RO=\u30EB\u30FC\u30DE\u30CB\u30A2 -RS=\u30BB\u30EB\u30D3\u30A2 -RU=\u30ED\u30B7\u30A2 -RW=\u30EB\u30EF\u30F3\u30C0 -SA=\u30B5\u30A6\u30B8\u30A2\u30E9\u30D3\u30A2 -SB=\u30BD\u30ED\u30E2\u30F3\u8AF8\u5CF6 -SC=\u30BB\u30A4\u30B7\u30A7\u30EB -SD=\u30B9\u30FC\u30C0\u30F3 -SE=\u30B9\u30A6\u30A7\u30FC\u30C7\u30F3 -SG=\u30B7\u30F3\u30AC\u30DD\u30FC\u30EB -SH=\u30BB\u30F3\u30C8\u30D8\u30EC\u30CA\u5CF6 -SI=\u30B9\u30ED\u30D9\u30CB\u30A2 -SJ=\u30B9\u30D0\u30FC\u30EB\u30D0\u30EB\u8AF8\u5CF6\u30FB\u30E4\u30F3\u30DE\u30A4\u30A8\u30F3\u5CF6 -SK=\u30B9\u30ED\u30D0\u30AD\u30A2 -SL=\u30B7\u30A8\u30E9\u30EC\u30AA\u30CD -SM=\u30B5\u30F3\u30DE\u30EA\u30CE -SN=\u30BB\u30CD\u30AC\u30EB -SO=\u30BD\u30DE\u30EA\u30A2 -SR=\u30B9\u30EA\u30CA\u30E0 -ST=\u30B5\u30F3\u30C8\u30E1\u30FB\u30D7\u30EA\u30F3\u30B7\u30DA -SV=\u30A8\u30EB\u30B5\u30EB\u30D0\u30C9\u30EB +MG=\u30de\u30c0\u30ac\u30b9\u30ab\u30eb +MH=\u30de\u30fc\u30b7\u30e3\u30eb\u8af8\u5cf6 +MK=\u30de\u30b1\u30c9\u30cb\u30a2 +ML=\u30de\u30ea +MM=\u30df\u30e3\u30f3\u30de\u30fc +MN=\u30e2\u30f3\u30b4\u30eb +MO=\u30de\u30ab\u30aa +MP=\u5317\u30de\u30ea\u30a2\u30ca\u8af8\u5cf6 +MQ=\u30de\u30eb\u30c6\u30a3\u30cb\u30fc\u30af\u5cf6 +MR=\u30e2\u30fc\u30ea\u30bf\u30cb\u30a2 +MS=\u30e2\u30f3\u30c8\u30bb\u30e9\u30c8\u5cf6 +MT=\u30de\u30eb\u30bf +MU=\u30e2\u30fc\u30ea\u30b7\u30e3\u30b9 +MV=\u30e2\u30eb\u30c7\u30a3\u30d6 +MW=\u30de\u30e9\u30a6\u30a4 +MX=\u30e1\u30ad\u30b7\u30b3 +MY=\u30de\u30ec\u30fc\u30b7\u30a2 +MZ=\u30e2\u30b6\u30f3\u30d3\u30fc\u30af +NA=\u30ca\u30df\u30d3\u30a2 +NC=\u30cb\u30e5\u30fc\u30ab\u30ec\u30c9\u30cb\u30a2 +NE=\u30cb\u30b8\u30a7\u30fc\u30eb +NF=\u30ce\u30fc\u30d5\u30a9\u30fc\u30af\u5cf6 +NG=\u30ca\u30a4\u30b8\u30a7\u30ea\u30a2 +NI=\u30cb\u30ab\u30e9\u30b0\u30a2 +NL=\u30aa\u30e9\u30f3\u30c0 +NO=\u30ce\u30eb\u30a6\u30a7\u30fc +NP=\u30cd\u30d1\u30fc\u30eb +NR=\u30ca\u30a6\u30eb +NU=\u30cb\u30a6\u30a8\u5cf6 +NZ=\u30cb\u30e5\u30fc\u30b8\u30fc\u30e9\u30f3\u30c9 +OM=\u30aa\u30de\u30fc\u30f3 +PA=\u30d1\u30ca\u30de +PE=\u30da\u30eb\u30fc +PF=\u4ecf\u9818\u30dd\u30ea\u30cd\u30b7\u30a2 +PG=\u30d1\u30d7\u30a2\u30cb\u30e5\u30fc\u30ae\u30cb\u30a2 +PH=\u30d5\u30a3\u30ea\u30d4\u30f3 +PK=\u30d1\u30ad\u30b9\u30bf\u30f3 +PL=\u30dd\u30fc\u30e9\u30f3\u30c9 +PM=\u30b5\u30f3\u30d4\u30a8\u30fc\u30eb\u5cf6\u30fb\u30df\u30af\u30ed\u30f3\u5cf6 +PN=\u30d4\u30c8\u30b1\u30a2\u30f3\u5cf6 +PR=\u30d7\u30a8\u30eb\u30c8\u30ea\u30b3 +PS=\u30d1\u30ec\u30b9\u30c1\u30ca +PT=\u30dd\u30eb\u30c8\u30ac\u30eb +PW=\u30d1\u30e9\u30aa +PY=\u30d1\u30e9\u30b0\u30a2\u30a4 +QA=\u30ab\u30bf\u30fc\u30eb +RE=\u30ec\u30e6\u30cb\u30aa\u30f3 +RO=\u30eb\u30fc\u30de\u30cb\u30a2 +RS=\u30bb\u30eb\u30d3\u30a2 +RU=\u30ed\u30b7\u30a2 +RW=\u30eb\u30ef\u30f3\u30c0 +SA=\u30b5\u30a6\u30b8\u30a2\u30e9\u30d3\u30a2 +SB=\u30bd\u30ed\u30e2\u30f3\u8af8\u5cf6 +SC=\u30bb\u30a4\u30b7\u30a7\u30eb +SD=\u30b9\u30fc\u30c0\u30f3 +SE=\u30b9\u30a6\u30a7\u30fc\u30c7\u30f3 +SG=\u30b7\u30f3\u30ac\u30dd\u30fc\u30eb +SH=\u30bb\u30f3\u30c8\u30d8\u30ec\u30ca\u5cf6 +SI=\u30b9\u30ed\u30d9\u30cb\u30a2 +SJ=\u30b9\u30d0\u30fc\u30eb\u30d0\u30eb\u8af8\u5cf6\u30fb\u30e4\u30f3\u30de\u30a4\u30a8\u30f3\u5cf6 +SK=\u30b9\u30ed\u30d0\u30ad\u30a2 +SL=\u30b7\u30a8\u30e9\u30ec\u30aa\u30cd +SM=\u30b5\u30f3\u30de\u30ea\u30ce +SN=\u30bb\u30cd\u30ac\u30eb +SO=\u30bd\u30de\u30ea\u30a2 +SR=\u30b9\u30ea\u30ca\u30e0 +ST=\u30b5\u30f3\u30c8\u30e1\u30fb\u30d7\u30ea\u30f3\u30b7\u30da +SV=\u30a8\u30eb\u30b5\u30eb\u30d0\u30c9\u30eb SX=\u30B5\u30F3\u30FB\u30DE\u30EB\u30BF\u30F3(\u30AA\u30E9\u30F3\u30C0\u9818) -SY=\u30B7\u30EA\u30A2 -SZ=\u30B9\u30EF\u30B8\u30E9\u30F3\u30C9 -TC=\u30BF\u30FC\u30AF\u30B9\u8AF8\u5CF6\u30FB\u30AB\u30A4\u30B3\u30B9\u8AF8\u5CF6 -TD=\u30C1\u30E3\u30C9 -TF=\u30D5\u30E9\u30F3\u30B9\u9818\u6975\u5357\u8AF8\u5CF6 -TG=\u30C8\u30FC\u30B4 -TH=\u30BF\u30A4 -TJ=\u30BF\u30B8\u30AD\u30B9\u30BF\u30F3 -TK=\u30C8\u30B1\u30E9\u30A6\u8AF8\u5CF6 -TL=\u6771\u30C6\u30A3\u30E2\u30FC\u30EB -TM=\u30C8\u30EB\u30AF\u30E1\u30CB\u30B9\u30BF\u30F3 -TN=\u30C1\u30E5\u30CB\u30B8\u30A2 -TO=\u30C8\u30F3\u30AC -TR=\u30C8\u30EB\u30B3 -TT=\u30C8\u30EA\u30CB\u30C0\u30FC\u30C9\u30FB\u30C8\u30D0\u30B4 -TV=\u30C4\u30D0\u30EB -TW=\u53F0\u6E7E -TZ=\u30BF\u30F3\u30B6\u30CB\u30A2 -UA=\u30A6\u30AF\u30E9\u30A4\u30CA -UG=\u30A6\u30AC\u30F3\u30C0 -UM=\u7C73\u9818\u592A\u5E73\u6D0B\u8AF8\u5CF6 -US=\u30A2\u30E1\u30EA\u30AB\u5408\u8846\u56FD -UY=\u30A6\u30EB\u30B0\u30A2\u30A4 -UZ=\u30A6\u30BA\u30D9\u30AD\u30B9\u30BF\u30F3 -VA=\u30D0\u30C1\u30AB\u30F3 -VC=\u30BB\u30F3\u30C8\u30D3\u30F3\u30BB\u30F3\u30C8\u304A\u3088\u3073\u30B0\u30EC\u30CA\u30C7\u30A3\u30FC\u30F3\u8AF8\u5CF6 -VE=\u30D9\u30CD\u30BA\u30A8\u30E9 -VG=\u82F1\u9818\u30D0\u30FC\u30B8\u30F3\u8AF8\u5CF6 -VI=\u7C73\u9818\u30D0\u30FC\u30B8\u30F3\u8AF8\u5CF6 -VN=\u30D9\u30C8\u30CA\u30E0 -VU=\u30D0\u30CC\u30A2\u30C4 -WF=\u30EF\u30EA\u30B9\u30FB\u30D5\u30C6\u30E5\u30CA\u8AF8\u5CF6 -WS=\u897F\u30B5\u30E2\u30A2 -YE=\u30A4\u30A8\u30E1\u30F3 -YT=\u30DE\u30E8\u30C3\u30C8\u5CF6 -ZA=\u5357\u30A2\u30D5\u30EA\u30AB -ZM=\u30B6\u30F3\u30D3\u30A2 -ZW=\u30B8\u30F3\u30D0\u30D6\u30A8 +SY=\u30b7\u30ea\u30a2 +SZ=\u30b9\u30ef\u30b8\u30e9\u30f3\u30c9 +TC=\u30bf\u30fc\u30af\u30b9\u8af8\u5cf6\u30fb\u30ab\u30a4\u30b3\u30b9\u8af8\u5cf6 +TD=\u30c1\u30e3\u30c9 +TF=\u30d5\u30e9\u30f3\u30b9\u9818\u6975\u5357\u8af8\u5cf6 +TG=\u30c8\u30fc\u30b4 +TH=\u30bf\u30a4 +TJ=\u30bf\u30b8\u30ad\u30b9\u30bf\u30f3 +TK=\u30c8\u30b1\u30e9\u30a6\u8af8\u5cf6 +TL=\u6771\u30c6\u30a3\u30e2\u30fc\u30eb +TM=\u30c8\u30eb\u30af\u30e1\u30cb\u30b9\u30bf\u30f3 +TN=\u30c1\u30e5\u30cb\u30b8\u30a2 +TO=\u30c8\u30f3\u30ac +TR=\u30c8\u30eb\u30b3 +TT=\u30c8\u30ea\u30cb\u30c0\u30fc\u30c9\u30fb\u30c8\u30d0\u30b4 +TV=\u30c4\u30d0\u30eb +TW=\u53f0\u6e7e +TZ=\u30bf\u30f3\u30b6\u30cb\u30a2 +UA=\u30a6\u30af\u30e9\u30a4\u30ca +UG=\u30a6\u30ac\u30f3\u30c0 +UM=\u7c73\u9818\u592a\u5e73\u6d0b\u8af8\u5cf6 +US=\u30a2\u30e1\u30ea\u30ab\u5408\u8846\u56fd +UY=\u30a6\u30eb\u30b0\u30a2\u30a4 +UZ=\u30a6\u30ba\u30d9\u30ad\u30b9\u30bf\u30f3 +VA=\u30d0\u30c1\u30ab\u30f3 +VC=\u30bb\u30f3\u30c8\u30d3\u30f3\u30bb\u30f3\u30c8\u304a\u3088\u3073\u30b0\u30ec\u30ca\u30c7\u30a3\u30fc\u30f3\u8af8\u5cf6 +VE=\u30d9\u30cd\u30ba\u30a8\u30e9 +VG=\u82f1\u9818\u30d0\u30fc\u30b8\u30f3\u8af8\u5cf6 +VI=\u7c73\u9818\u30d0\u30fc\u30b8\u30f3\u8af8\u5cf6 +VN=\u30d9\u30c8\u30ca\u30e0 +VU=\u30d0\u30cc\u30a2\u30c4 +WF=\u30ef\u30ea\u30b9\u30fb\u30d5\u30c6\u30e5\u30ca\u8af8\u5cf6 +WS=\u897f\u30b5\u30e2\u30a2 +YE=\u30a4\u30a8\u30e1\u30f3 +YT=\u30de\u30e8\u30c3\u30c8\u5cf6 +ZA=\u5357\u30a2\u30d5\u30ea\u30ab +ZM=\u30b6\u30f3\u30d3\u30a2 +ZW=\u30b8\u30f3\u30d0\u30d6\u30a8 # territory names # key is UN M.49 country and area code @@ -1152,19 +1151,3 @@ 154=\u5317\u30E8\u30FC\u30ED\u30C3\u30D1 155=\u897F\u30E8\u30FC\u30ED\u30C3\u30D1 419=\u30E9\u30C6\u30F3\u30A2\u30E1\u30EA\u30AB\u30FB\u30AB\u30EA\u30D6\u5730\u57DF - -# variant names -# key is %%variant -# rarely localized - -%%EURO=\u30E6\u30FC\u30ED -%%B=\u30D6\u30FC\u30AF\u30E2\u30FC\u30EB -%%NY=\u30CE\u30EB\u30A6\u30A7\u30FC\u8A9E(\u30CB\u30FC\u30CE\u30B7\u30AF) - - -# locale name patterns -# rarely localized - -DisplayNamePattern={0,choice,0#|1#{1}|2#{1} ({2})} -ListPattern={0,choice,0#|1#{1}|2#{1},{2}|3#{1},{2},{3}} -ListCompositionPattern={0},{1}
--- a/src/share/classes/sun/util/resources/LocaleNames_ko.properties Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/classes/sun/util/resources/LocaleNames_ko.properties Fri Jun 29 15:21:00 2012 +0100 @@ -1,4 +1,3 @@ -# # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # @@ -39,194 +38,194 @@ # language names # key is ISO 639 language code -aa=\uC544\uD30C\uB974\uC5B4 -ab=\uC555\uCE74\uC988\uC5B4 -ae=\uC544\uBCA0\uC2A4\uD0C0\uC5B4 -af=\uB0A8\uC544\uACF5 \uACF5\uC6A9\uC5B4 -ak=\uC544\uCE78\uC5B4 -am=\uC554\uD558\uB77C\uC5B4 -an=\uC544\uB77C\uACE4\uC5B4 -ar=\uC544\uB78D\uC5B4 -as=\uC544\uC0D8\uC5B4 -av=\uC544\uBC14\uB974\uC5B4 -ay=\uC544\uC774\uB9C8\uB77C\uC5B4 -az=\uC544\uC81C\uB974\uBC14\uC774\uC794\uC5B4 -ba=\uBC14\uC288\uD0A4\uB974\uC5B4 -be=\uBCA8\uB77C\uB8E8\uC2A4\uC5B4 -bg=\uBD88\uAC00\uB9AC\uC544\uC5B4 -bh=\uBE44\uD558\uB974\uC5B4 -bi=\uBE44\uC2AC\uB77C\uB9C8\uC5B4 -bm=\uBC24\uBC14\uB77C\uC5B4 -bn=\uBCB5\uACE8\uC5B4 -bo=\uD2F0\uBCA0\uD2B8\uC5B4 -br=\uBE0C\uB974\uD0C0\uB274\uC5B4 -bs=\uBCF4\uC2A4\uB2C8\uC544\uC5B4 -ca=\uCE74\uD0C8\uB85C\uB2C8\uC544\uC5B4 -ce=\uCCB4\uCCB8\uC5B4 -ch=\uCC28\uBAA8\uB85C\uC5B4 -co=\uCF54\uB974\uC2DC\uCE74\uC5B4 -cr=\uD06C\uB9AC\uC5B4 -cs=\uCCB4\uCF54\uC5B4 -cu=\uAD50\uD68C \uC2AC\uB77C\uBE0C\uC5B4 -cv=\uCD94\uBC14\uC26C\uC5B4 -cy=\uC6E8\uC77C\uC2A4\uC5B4 -da=\uB374\uB9C8\uD06C\uC5B4 -de=\uB3C5\uC77C\uC5B4 -dv=\uB514\uBCA0\uD788\uC5B4 -dz=\uBD80\uD0C4\uC5B4 -ee=\uC5D0\uC6E8\uC5B4 -el=\uADF8\uB9AC\uC2A4\uC5B4 -en=\uC601\uC5B4 -eo=\uC5D0\uC2A4\uD398\uB780\uD1A0\uC5B4 -es=\uC2A4\uD398\uC778\uC5B4 -et=\uC5D0\uC2A4\uD1A0\uB2C8\uC544\uC5B4 -eu=\uBC14\uC2A4\uD06C\uC5B4 -fa=\uC774\uB780\uC5B4 -ff=\uD480\uB77C\uB2C8\uC5B4 -fi=\uD540\uB780\uB4DC\uC5B4 -fj=\uD53C\uC9C0\uC5B4 -fo=\uD398\uB85C\uC2A4\uC5B4 -fr=\uD504\uB791\uC2A4\uC5B4 -fy=\uD504\uB9AC\uC2AC\uB780\uB4DC\uC5B4 -ga=\uC544\uC77C\uB79C\uB4DC\uC5B4 -gd=\uC2A4\uCF54\uAC24\uB9AD\uC5B4 -gl=\uAC08\uB9AC\uC2DC\uC544\uC5B4 -gn=\uAD6C\uC544\uB77C\uB2C8\uC5B4 -gu=\uAD6C\uC790\uB77C\uD2B8\uC5B4 -gv=\uB9F9\uD06C\uC2A4\uC5B4 -ha=\uD558\uC6B0\uC790\uC5B4 -he=\uD788\uBE0C\uB9AC \uBB38\uC790 -hi=\uD78C\uB514\uC5B4 -ho=\uD788\uB9AC\uBAA8\uD22C\uC5B4 -hr=\uD06C\uB85C\uC544\uD2F0\uC544\uC5B4 -ht=\uC544\uC774\uD2F0\uC5B4 -hu=\uD5DD\uAC00\uB9AC\uC5B4 -hy=\uC544\uB974\uBA54\uB2C8\uC544\uC5B4 -hz=\uD5E4\uB808\uB85C\uC5B4 -ia=\uC778\uD130\uB9C1\uAC70 -id=\uC778\uB3C4\uB124\uC2DC\uC544\uC5B4 -ie=\uC778\uD130\uB9C1\uAC8C\uC5B4 -ig=\uC774\uADF8\uBCF4\uC5B4 -ii=\uC4F0\uCD28 \uC774\uC5B4 -ik=\uC774\uB204\uD53C\uC544\uD06C\uC5B4 -in=\uC778\uB3C4\uB124\uC2DC\uC544\uC5B4 -io=\uC774\uB3C4\uC5B4 -is=\uC544\uC774\uC2AC\uB780\uB4DC\uC5B4 -it=\uC774\uD0C8\uB9AC\uC544\uC5B4 -iu=\uC774\uB205\uD2F0\uD22C\uD2B8\uC5B4 -iw=\uD788\uBE0C\uB9AC \uBB38\uC790 -ja=\uC77C\uBCF8\uC5B4 -ji=\uC774\uB514\uC2DC\uC5B4 -jv=\uC790\uBC14\uC5B4 -ka=\uADF8\uB8E8\uC9C0\uC57C\uC5B4 -kg=\uCF69\uACE0\uC5B4 -ki=\uD0A4\uCFE0\uC720\uC5B4 -kj=\uCF74\uC57C\uB9C8\uC5B4 -kk=\uCE74\uC790\uD750\uC5B4 -kl=\uADF8\uB9B0\uB79C\uB4DC\uC5B4 -km=\uD06C\uBA54\uB974 \uBB38\uC790 -kn=\uCE78\uB098\uB2E4 \uBB38\uC790 -ko=\uD55C\uAD6D\uC5B4 -kr=\uCE74\uB204\uB9AC\uC5B4 -ks=\uCE74\uC288\uBBF8\uB974\uC5B4 -ku=\uD06C\uB974\uB4DC\uC5B4 -kv=\uCF54\uBBF8\uC5B4 -kw=\uCF58\uC6D4\uC5B4 -ky=\uD0A4\uB974\uAE30\uC2A4\uC5B4 -la=\uB77C\uD2F4\uC5B4 -lb=\uB8E9\uC148\uBD80\uB974\uD06C\uC5B4 -lg=\uAC04\uB2E4\uC5B4 -li=\uB9BC\uBC84\uADF8\uC5B4 -ln=\uB9C1\uAC08\uB77C\uC5B4 -lo=\uB77C\uC624\uC5B4 -lt=\uB9AC\uD22C\uC544\uB2C8\uC544\uC5B4 -lu=\uB8E8\uBC14\uC5B4(\uCE74\uD0D5\uAC00) -lv=\uB77C\uD2B8\uBE44\uC544\uC5B4(\uB808\uD2B8\uC5B4) -mg=\uB9C8\uB2E4\uAC00\uC2A4\uCE74\uB974\uC5B4 -mh=\uB9C8\uC15C\uC81C\uB3C4\uC5B4 -mi=\uB9C8\uC624\uB9AC\uC5B4 -mk=\uB9C8\uCF00\uB3C4\uB2C8\uC544\uC5B4 -ml=\uB9D0\uB77C\uC584\uB78C\uC5B4 -mn=\uBABD\uACE8\uC5B4 -mo=\uBAB0\uB2E4\uBE44\uC544\uC5B4 -mr=\uB9C8\uB77C\uD2F0\uC5B4 -ms=\uB9D0\uB808\uC774\uC5B4 -mt=\uBAB0\uD0C0\uC5B4 -my=\uBC84\uB9C8\uC5B4 -na=\uB098\uC6B0\uB8E8\uC5B4 -nb=\uB178\uB974\uC6E8\uC774\uC5B4(\uBCF5\uB9D0) -nd=\uBD81\uBD80 \uC740\uB370\uBCA8\uB808 -ne=\uB124\uD314\uC5B4 -ng=\uC740\uB3D9\uAC00\uC5B4 -nl=\uB124\uB35C\uB780\uB4DC\uC5B4 -nn=\uB178\uB974\uC6E8\uC774\uC5B4(\uB2C8\uB178\uB974\uC2A4\uD06C) -no=\uB178\uB974\uC6E8\uC774\uC5B4 -nr=\uB0A8\uBD80 \uC740\uB370\uBCA8\uB808 -nv=\uB098\uBC14\uD638\uC5B4 -ny=\uB2C8\uC580\uC790\uC5B4 -oc=\uC625\uC2DC\uD2B8\uC5B4 -oj=\uC624\uC9C0\uBE0C\uC640\uC5B4 -om=\uC624\uB85C\uBAA8\uC5B4(\uC544\uD310) -or=\uC624\uB9AC\uC57C\uC5B4 -os=\uC624\uC138\uD2F0\uC548\uC5B4 -pa=\uD380\uC7A1\uC5B4 -pi=\uD314\uB9AC\uC5B4 -pl=\uD3F4\uB780\uB4DC\uC5B4 -ps=\uD30C\uC2DC\uD1A0\uC5B4(\uD478\uC2DC\uD1A0) -pt=\uD3EC\uB974\uD22C\uCE7C\uC5B4 -qu=\uCF00\uCD94\uC544\uC5B4 -rm=\uB808\uD1A0\uB85C\uB9CC\uC5B4 -rn=\uBC18\uD22C\uC5B4(\uBD80\uB8EC\uB514) -ro=\uB8E8\uB9C8\uB2C8\uC544\uC5B4 -ru=\uB7EC\uC2DC\uC544\uC5B4 -rw=\uBC18\uD22C\uC5B4(\uB8E8\uC644\uB2E4) -sa=\uC0B0\uC2A4\uD06C\uB9AC\uD2B8\uC5B4 -sc=\uC0AC\uB974\uB514\uB2C8\uC544\uC5B4 -sd=\uC2E0\uB514\uC5B4 -se=\uBD81\uBD80 \uC0AC\uBBF8\uC5B4 -sg=\uC0B0\uACE0\uC5B4 -si=\uC2E0\uD560\uB77C\uC5B4 -sk=\uC2AC\uB85C\uBC14\uD0A4\uC544\uC5B4 -sl=\uC2AC\uB85C\uBCA0\uB2C8\uC544\uC5B4 -sm=\uC0AC\uBAA8\uC544\uC5B4 -sn=\uC1FC\uB098\uC5B4 -so=\uC18C\uB9D0\uB9AC\uC544\uC5B4 -sq=\uC54C\uBC14\uB2C8\uC544\uC5B4 -sr=\uC138\uB974\uBE44\uC544\uC5B4 -ss=\uC2DC\uC2A4\uC640\uD2F0\uC5B4 -st=\uC138\uC18C\uD1A0\uC5B4 -su=\uC21C\uB2E8\uC5B4 -sv=\uC2A4\uC6E8\uB374\uC5B4 -sw=\uC2A4\uC640\uD790\uB9AC\uC5B4 -ta=\uD0C0\uBC00\uC5B4 -te=\uD154\uB8E8\uAD6C\uC5B4 -tg=\uD0C0\uC9C0\uD0A4\uC2A4\uD0C4\uC5B4 -th=\uD0DC\uAD6D\uC5B4 -ti=\uD2F0\uADF8\uB9AC\uB0D0\uC5B4 -tk=\uD22C\uB974\uD06C\uBA58\uC5B4 -tl=\uD0C0\uAC08\uB85C\uADF8\uC5B4 -tn=\uC138\uCE20\uC640\uB098\uC5B4 -to=\uD1B5\uAC00 -tr=\uD130\uD0A4\uC5B4 -ts=\uD1B5\uAC00\uC5B4 -tt=\uD0C0\uD0C0\uB974\uC5B4 -tw=\uD2B8\uC704\uC5B4 -ty=\uD0C0\uD788\uD2F0\uC548\uC5B4 -ug=\uC704\uAD6C\uB974\uC5B4 -uk=\uC6B0\uD06C\uB77C\uC774\uB098\uC5B4 -ur=\uC6B0\uB974\uB450\uC5B4 -uz=\uC6B0\uC988\uBCA0\uD06C\uC5B4 -ve=\uBCA4\uB2E4\uC5B4 -vi=\uBCA0\uD2B8\uB0A8\uC5B4 -vo=\uBCFC\uB77C\uD4CC\uD06C\uC5B4 -wa=\uC648\uB8EC\uC5B4 -wo=\uC62C\uB85C\uD504\uC5B4 -xh=\uBC18\uD22C\uC5B4(\uB0A8\uC544\uD504\uB9AC\uCE74) -yi=\uC774\uB514\uC2DC\uC5B4 -yo=\uC694\uB8E8\uBC14\uC5B4 -za=\uC8FC\uC559\uC5B4 -zh=\uC911\uAD6D\uC5B4 -zu=\uC904\uB8E8\uC5B4 +aa=\uc544\ud30c\ub974\uc5b4 +ab=\uc555\uce74\uc988\uc5b4 +ae=\uc544\ubca0\uc2a4\ud0c0\uc5b4 +af=\ub0a8\uc544\uacf5 \uacf5\uc6a9\uc5b4 +ak=\uc544\uce78\uc5b4 +am=\uc554\ud558\ub77c\uc5b4 +an=\uc544\ub77c\uace4\uc5b4 +ar=\uc544\ub78d\uc5b4 +as=\uc544\uc0d8\uc5b4 +av=\uc544\ubc14\ub974\uc5b4 +ay=\uc544\uc774\ub9c8\ub77c\uc5b4 +az=\uc544\uc81c\ub974\ubc14\uc774\uc794\uc5b4 +ba=\ubc14\uc288\ud0a4\ub974\uc5b4 +be=\ubca8\ub85c\ub8e8\uc2dc\uc5b4 +bg=\ubd88\uac00\ub9ac\uc544\uc5b4 +bh=\ube44\ud558\ub974\uc5b4 +bi=\ube44\uc2ac\ub77c\ub9c8\uc5b4 +bm=\ubc24\ubc14\ub77c\uc5b4 +bn=\ubcb5\uace8\uc5b4 +bo=\ud2f0\ubca0\ud2b8\uc5b4 +br=\ube0c\ub974\ud0c0\ub274\uc5b4 +bs=\ubcf4\uc2a4\ub2c8\uc544\uc5b4 +ca=\uce74\ud0c8\ub85c\ub2c8\uc544\uc5b4 +ce=\uccb4\uccb8\uc5b4 +ch=\ucc28\ubaa8\ub85c\uc5b4 +co=\ucf54\ub974\uc2dc\uce74\uc5b4 +cr=\ud06c\ub9ac\uc5b4 +cs=\uccb4\ucf54\uc5b4 +cu=\uad50\ud68c \uc2ac\ub77c\ube0c\uc5b4 +cv=\ucd94\ubc14\uc26c\uc5b4 +cy=\uc6e8\uc77c\uc2a4\uc5b4 +da=\ub374\ub9c8\ud06c\uc5b4 +de=\ub3c5\uc77c\uc5b4 +dv=\ub514\ubca0\ud788\uc5b4 +dz=\ubd80\ud0c4\uc5b4 +ee=\uc5d0\uc6e8\uc5b4 +el=\uadf8\ub9ac\uc2a4\uc5b4 +en=\uc601\uc5b4 +eo=\uc5d0\uc2a4\ud398\ub780\ud1a0\uc5b4 +es=\uc2a4\ud398\uc778\uc5b4 +et=\uc5d0\uc2a4\ud1a0\ub2c8\uc544\uc5b4 +eu=\ubc14\uc2a4\ud06c\uc5b4 +fa=\uc774\ub780\uc5b4 +ff=\ud480\ub77c\ub2c8\uc5b4 +fi=\ud540\ub780\ub4dc\uc5b4 +fj=\ud53c\uc9c0\uc5b4 +fo=\ud398\ub85c\uc2a4\uc5b4 +fr=\ud504\ub791\uc2a4\uc5b4 +fy=\ud504\ub9ac\uc9c0\uc544\uc5b4 +ga=\uc544\uc77c\ub79c\ub4dc\uc5b4 +gd=\uc2a4\ucf54\uac24\ub9ad\uc5b4 +gl=\uac08\ub9ac\uc2dc\uc544\uc5b4 +gn=\uad6c\uc544\ub77c\ub2c8\uc5b4 +gu=\uad6c\uc790\ub77c\ud2b8\uc5b4 +gv=\ub9f9\ud06c\uc2a4\uc5b4 +ha=\ud558\uc6b0\uc790\uc5b4 +he=\ud788\ube0c\ub9ac\uc5b4 +hi=\ud78c\ub514\uc5b4 +ho=\ud788\ub9ac\ubaa8\ud22c\uc5b4 +hr=\ud06c\ub85c\uc544\ud2f0\uc544\uc5b4 +ht=\uc544\uc774\ud2f0\uc5b4 +hu=\ud5dd\uac00\ub9ac\uc5b4 +hy=\uc544\ub974\uba54\ub2c8\uc544\uc5b4 +hz=\ud5e4\ub808\ub85c\uc5b4 +ia=\uc778\ud130\ub9c1\uac70 +id=\uc778\ub3c4\ub124\uc2dc\uc544\uc5b4 +ie=\uc778\ud130\ub9c1\uac8c\uc5b4 +ig=\uc774\uadf8\ubcf4\uc5b4 +ii=\uc4f0\ucd28 \uc774\uc5b4 +ik=\uc774\ub204\ud53c\uc544\ud06c\uc5b4 +in=\uc778\ub3c4\ub124\uc2dc\uc544\uc5b4 +io=\uc774\ub3c4\uc5b4 +is=\uc544\uc774\uc2ac\ub780\ub4dc\uc5b4 +it=\uc774\ud0c8\ub9ac\uc544\uc5b4 +iu=\uc774\ub205\ud2f0\ud22c\ud2b8\uc5b4 +iw=\ud788\ube0c\ub9ac\uc5b4 +ja=\uc77c\ubcf8\uc5b4 +ji=\uc774\ub514\uc2dc\uc5b4 +jv=\uc790\ubc14\uc5b4 +ka=\uadf8\ub8e8\uc9c0\uc57c\uc5b4 +kg=\ucf69\uace0\uc5b4 +ki=\ud0a4\ucfe0\uc720\uc5b4 +kj=\ucf74\uc57c\ub9c8\uc5b4 +kk=\uce74\uc790\ud750\uc5b4 +kl=\uadf8\ub9b0\ub79c\ub4dc\uc5b4 +km=\uce84\ubcf4\ub514\uc544\uc5b4 +kn=\uce74\ub098\ub2e4\uc5b4 +ko=\ud55c\uad6d\uc5b4 +kr=\uce74\ub204\ub9ac\uc5b4 +ks=\uce74\uc288\ubbf8\ub974\uc5b4 +ku=\ud06c\ub974\ub4dc\uc5b4 +kv=\ucf54\ubbf8\uc5b4 +kw=\ucf58\uc6d4\uc5b4 +ky=\ud0a4\ub974\uae30\uc2a4\uc5b4 +la=\ub77c\ud2f4\uc5b4 +lb=\ub8e9\uc148\ubd80\ub974\ud06c\uc5b4 +lg=\uac04\ub2e4\uc5b4 +li=\ub9bc\ubc84\uadf8\uc5b4 +ln=\ub9c1\uac08\ub77c\uc5b4 +lo=\ub77c\uc624\uc5b4 +lt=\ub9ac\ud22c\uc544\ub2c8\uc544\uc5b4 +lu=\ub8e8\ubc14\uc5b4(\uce74\ud0d5\uac00) +lv=\ub77c\ud2b8\ube44\uc544\uc5b4(\ub808\ud2b8\uc5b4) +mg=\ub9c8\ub2e4\uac00\uc2a4\uce74\ub974\uc5b4 +mh=\ub9c8\uc15c\uc81c\ub3c4\uc5b4 +mi=\ub9c8\uc624\ub9ac\uc5b4 +mk=\ub9c8\ucf00\ub3c4\ub2c8\uc544\uc5b4 +ml=\ub9d0\ub77c\uc584\ub78c\uc5b4 +mn=\ubabd\uace8\uc5b4 +mo=\ubab0\ub2e4\ube44\uc544\uc5b4 +mr=\ub9c8\ub77c\ud2f0\uc5b4 +ms=\ub9d0\ub808\uc774\uc5b4 +mt=\ubab0\ud0c0\uc5b4 +my=\ubc84\ub9c8\uc5b4 +na=\ub098\uc6b0\ub8e8\uc5b4 +nb=\ub178\ub974\uc6e8\uc774\uc5b4(\ubd81\ubab0) +nd=\ubd81\ubd80 \uc740\ub370\ubca8\ub808 +ne=\ub124\ud314\uc5b4 +ng=\uc740\ub3d9\uac00\uc5b4 +nl=\ub124\ub35c\ub780\ub4dc\uc5b4 +nn=\ub178\ub974\uc6e8\uc774\uc5b4(\ub2c8\ub178\ub974\uc2a4\ud06c) +no=\ub178\ub974\uc6e8\uc774\uc5b4 +nr=\ub0a8\ubd80 \uc740\ub370\ubca8\ub808 +nv=\ub098\ubc14\ud638\uc5b4 +ny=\ub2c8\uc580\uc790\uc5b4 +oc=\uc625\uc2dc\ud2b8\uc5b4 +oj=\uc624\uc9c0\ube0c\uc640\uc5b4 +om=\uc624\ub85c\ubaa8\uc5b4(\uc544\ud310) +or=\uc624\ub9ac\uc57c\uc5b4 +os=\uc624\uc138\ud2f0\uc548\uc5b4 +pa=\ud380\uc7a1\uc5b4 +pi=\ud314\ub9ac\uc5b4 +pl=\ud3f4\ub780\ub4dc\uc5b4 +ps=\ud30c\uc2dc\ud1a0\uc5b4(\ud478\uc2dc\ud1a0) +pt=\ud3ec\ub974\ud22c\uce7c\uc5b4 +qu=\ucf00\ucd94\uc544\uc5b4 +rm=\ub808\ud1a0\ub85c\ub9cc\uc5b4 +rn=\ubc18\ud22c\uc5b4(\ubd80\ub8ec\ub514) +ro=\ub8e8\ub9c8\ub2c8\uc544\uc5b4 +ru=\ub7ec\uc2dc\uc544\uc5b4 +rw=\ubc18\ud22c\uc5b4(\ub8e8\uc644\ub2e4) +sa=\uc0b0\uc2a4\ud06c\ub9ac\ud2b8\uc5b4 +sc=\uc0ac\ub974\ub514\ub2c8\uc544\uc5b4 +sd=\uc2e0\ub514\uc5b4 +se=\ubd81\ubd80 \uc0ac\ubbf8\uc5b4 +sg=\uc0b0\uace0\uc5b4 +si=\uc2a4\ub9ac\ub791\uce74\uc5b4 +sk=\uc2ac\ub85c\ubc14\ud0a4\uc544\uc5b4 +sl=\uc2ac\ub85c\ubca0\ub2c8\uc544\uc5b4 +sm=\uc0ac\ubaa8\uc544\uc5b4 +sn=\uc1fc\ub098\uc5b4 +so=\uc18c\ub9d0\ub9ac\uc544\uc5b4 +sq=\uc54c\ubc14\ub2c8\uc544\uc5b4 +sr=\uc138\ub974\ube44\uc544\uc5b4 +ss=\uc2dc\uc2a4\uc640\ud2f0\uc5b4 +st=\uc138\uc18c\ud1a0\uc5b4 +su=\uc21c\ub2e8\uc5b4 +sv=\uc2a4\uc6e8\ub374\uc5b4 +sw=\uc2a4\uc640\ud790\ub9ac\uc5b4 +ta=\ud0c0\ubc00\uc5b4 +te=\ud154\ub8e8\uad6c\uc5b4 +tg=\ud0c0\uc9c0\ud0a4\uc2a4\ud0c4\uc5b4 +th=\ud0dc\uad6d\uc5b4 +ti=\ud2f0\uadf8\ub9ac\ub0d0\uc5b4 +tk=\ud22c\ub974\ud06c\uba58\uc5b4 +tl=\ud0c0\uac08\ub85c\uadf8\uc5b4 +tn=\uc138\uce20\uc640\ub098\uc5b4 +to=\ud1b5\uac00\uc5b4 +tr=\ud130\ud0a4\uc5b4 +ts=\ud1b5\uac00\uc5b4 +tt=\ud0c0\ud0c0\ub974\uc5b4 +tw=\ud2b8\uc704\uc5b4 +ty=\ud0c0\ud788\ud2f0\uc548\uc5b4 +ug=\uc704\uad6c\ub974\uc5b4 +uk=\uc6b0\ud06c\ub77c\uc774\ub098\uc5b4 +ur=\uc6b0\ub974\ub450\uc5b4 +uz=\uc6b0\uc988\ubca0\ud06c\uc5b4 +ve=\ubca4\ub2e4\uc5b4 +vi=\ubca0\ud2b8\ub0a8\uc5b4 +vo=\ubcfc\ub77c\ud4cc\ud06c\uc5b4 +wa=\uc648\ub8ec\uc5b4 +wo=\uc62c\ub85c\ud504\uc5b4 +xh=\ubc18\ud22c\uc5b4(\ub0a8\uc544\ud504\ub9ac\uce74) +yi=\uc774\ub514\uc2dc\uc5b4 +yo=\uc694\ub8e8\ubc14\uc5b4 +za=\uc8fc\uc559\uc5b4 +zh=\uc911\uad6d\uc5b4 +zu=\uc904\ub8e8\uc5b4 # key is ISO 639.2 language code aar=\uC544\uD30C\uB974\uC5B4 @@ -541,7 +540,7 @@ nic=\uB2C8\uCE74\uB77C\uACFC \uCF54\uB974\uB3C4\uBC14 niu=\uB2C8\uC6E8\uC5B8\uC5B4 nno=\uB178\uB974\uC6E8\uC774\uC5B4(\uB2C8\uB178\uB974\uC2A4\uD06C) -nob=\uB178\uB974\uC6E8\uC774\uC5B4(\uBCF5\uB9D0) +nob=\uB178\uB974\uC6E8\uC774\uC5B4(\uBD81\uBAB0) nog=\uB178\uAC00\uC774\uC5B4 non=\uB178\uB974\uC6E8\uC774, \uACE0\uB300 nor=\uB178\uB974\uC6E8\uC774\uC5B4 @@ -868,256 +867,256 @@ # country names # key is ISO 3166 country code -AD=\uC548\uB3C4\uB77C -AE=\uC544\uB78D\uC5D0\uBBF8\uB9AC\uD2B8 -AF=\uC544\uD504\uAC00\uB2C8\uC2A4\uD0C4 -AG=\uC564\uD2F0\uAC00 \uBC14\uBD80\uB2E4 -AI=\uC548\uAE38\uB77C -AL=\uC54C\uBC14\uB2C8\uC544 -AM=\uC544\uB974\uBA54\uB2C8\uC544 -AN=\uB124\uB35C\uB780\uB4DC\uB839 \uC564\uD2F8\uB9AC\uC2A4 -AO=\uC559\uACE8\uB77C -AQ=\uB0A8\uADF9 -AR=\uC544\uB974\uD5E8\uD2F0\uB098 -AS=\uBBF8\uAD6D\uB839 \uC0AC\uBAA8\uC544 -AT=\uC624\uC2A4\uD2B8\uB9AC\uC544 -AU=\uC624\uC2A4\uD2B8\uB808\uC77C\uB9AC\uC544 -AW=\uC544\uB8E8\uBC14 -AX=\uC62C\uB780\uB4DC \uC81C\uB3C4 -AZ=\uC544\uC81C\uB974\uBC14\uC774\uC794 -BA=\uBCF4\uC2A4\uB2C8\uC544 \uD5E4\uB974\uCCB4\uACE0\uBE44\uB098 -BB=\uBC14\uBCA0\uC774\uB3C4\uC2A4 -BD=\uBC29\uAE00\uB77C\uB370\uC2DC -BE=\uBCA8\uAE30\uC5D0 -BF=\uBD80\uB974\uD0A4\uB098\uD30C\uC18C -BG=\uBD88\uAC00\uB9AC\uC544 -BH=\uBC14\uB808\uC778 -BI=\uBD80\uB8EC\uB514 -BJ=\uBCA0\uB139 +AD=\uc548\ub3c4\ub77c +AE=\uc544\ub78d\uc5d0\ubbf8\ub9ac\ud2b8 +AF=\uc544\ud504\uac00\ub2c8\uc2a4\ud0c4 +AG=\uc564\ud2f0\uac00 \ubc14\ubd80\ub2e4 +AI=\uc548\uae38\ub77c +AL=\uc54c\ubc14\ub2c8\uc544 +AM=\uc544\ub974\uba54\ub2c8\uc544 +AN=\ub124\ub35c\ub780\ub4dc\ub839 \uc548\ud2f8\ub808\uc2a4 +AO=\uc559\uace8\ub77c +AQ=\ub0a8\uadf9 +AR=\uc544\ub974\ud5e8\ud2f0\ub098 +AS=\ubbf8\uad6d\ub839 \uc0ac\ubaa8\uc544 +AT=\uc624\uc2a4\ud2b8\ub9ac\uc544 +AU=\uc624\uc2a4\ud2b8\ub808\uc77c\ub9ac\uc544 +AW=\uc544\ub8e8\ubc14 +AX=\uc62c\ub780\ub4dc \uc81c\ub3c4 +AZ=\uc544\uc81c\ub974\ubc14\uc774\uc794 +BA=\ubcf4\uc2a4\ub2c8\uc544 \ud5e4\ub974\uccb4\uace0\ube44\ub098 +BB=\ubc14\ubca0\uc774\ub3c4\uc2a4 +BD=\ubc29\uae00\ub77c\ub370\uc2dc +BE=\ubca8\uae30\uc5d0 +BF=\ubd80\ub974\ud0a4\ub098\ud30c\uc18c +BG=\ubd88\uac00\ub9ac\uc544 +BH=\ubc14\ub808\uc778 +BI=\ubd80\ub8ec\ub514 +BJ=\ubca0\ub139 BL=\uC0DD \uBC14\uB974\uD154\uB808\uBBF8 -BM=\uBC84\uBBA4\uB2E4 -BN=\uBE0C\uB8E8\uB098\uC774 -BO=\uBCFC\uB9AC\uBE44\uC544 +BM=\ubc84\ubba4\ub2e4 +BN=\ube0c\ub8e8\ub098\uc774 +BO=\ubcfc\ub9ac\ube44\uc544 BQ=\uBCF4\uB124\uB974, \uC2E0\uD2B8\uC720\uC2A4\uD0C0\uD2F0\uC6B0\uC2A4, \uC0AC\uBC14 \uC81C\uB3C4 -BR=\uBE0C\uB77C\uC9C8 -BS=\uBC14\uD558\uB9C8 -BT=\uBD80\uD0C4 -BV=\uBD80\uBCA0\uC774 \uC12C -BW=\uBCF4\uCE20\uC640\uB098 -BY=\uBCA8\uB77C\uB8E8\uC2A4 -BZ=\uBCA8\uB9AC\uC988 -CA=\uCE90\uB098\uB2E4 -CC=\uCF54\uCF54\uC2A4 \uAD70\uB3C4 -CD=\uCF69\uACE0 \uBBFC\uC8FC \uACF5\uD654\uAD6D -CF=\uC911\uC559 \uC544\uD504\uB9AC\uCE74 -CG=\uCF69\uACE0 -CH=\uC2A4\uC704\uC2A4 -CI=\uCF54\uD2B8\uB514\uBD80\uC544\uB974 -CK=\uCFE1 \uC81C\uB3C4 -CL=\uCE60\uB808 -CM=\uCE74\uBA54\uB8EC -CN=\uC911\uAD6D -CO=\uCF5C\uB86C\uBE44\uC544 -CR=\uCF54\uC2A4\uD0C0\uB9AC\uCE74 -CS=\uC138\uB974\uBE44\uC544 \uBAAC\uD14C\uB124\uADF8\uB85C(\uC720\uACE0\uC2AC\uB77C\uBE44\uC544) -CU=\uCFE0\uBC14 -CV=\uAE4C\uBF40\uBCA0\uB974\uB370 +BR=\ube0c\ub77c\uc9c8 +BS=\ubc14\ud558\ub9c8 +BT=\ubd80\ud0c4 +BV=\ubd80\ubca0\uc774 \uc12c +BW=\ubcf4\uce20\uc640\ub098 +BY=\ubca8\ub77c\ub8e8\uc2a4 +BZ=\ubca8\ub9ac\uc988 +CA=\uce90\ub098\ub2e4 +CC=\ucf54\ucf54\uc2a4 \uad70\ub3c4 +CD=\ucf69\uace0 \ubbfc\uc8fc \uacf5\ud654\uad6d +CF=\uc911\uc559 \uc544\ud504\ub9ac\uce74 +CG=\ucf69\uace0 +CH=\uc2a4\uc704\uc2a4 +CI=\ucf54\ud2b8\ub514\ubd80\uc640\ub974 +CK=\ucfe1 \uc81c\ub3c4 +CL=\uce60\ub808 +CM=\uce74\uba54\ub8ec +CN=\uc911\uad6d +CO=\ucf5c\ub86c\ube44\uc544 +CR=\ucf54\uc2a4\ud0c0\ub9ac\uce74 +CS=\uc138\ub974\ube44\uc544 \ubaac\ud14c\ub124\uadf8\ub85c(\uc720\uace0\uc2ac\ub77c\ube44\uc544) +CU=\ucfe0\ubc14 +CV=\uae4c\ubf40\ubca0\ub974\ub370 CW=\uD034\uB77C\uC18C -CX=\uD06C\uB9AC\uC2A4\uB9C8\uC2A4 \uC12C -CY=\uC0AC\uC774\uD504\uB7EC\uC2A4 -CZ=\uCCB4\uCF54 -DE=\uB3C5\uC77C -DJ=\uC9C0\uBD80\uD2F0 -DK=\uB374\uB9C8\uD06C -DM=\uB3C4\uBBF8\uB2C8\uCE74 -DO=\uB3C4\uBBF8\uB2C8\uCE74 \uACF5\uD654\uAD6D -DZ=\uC54C\uC81C\uB9AC -EC=\uC5D0\uCFE0\uC544\uB3C4\uB974 -EE=\uC5D0\uC2A4\uD1A0\uB2C8\uC544 -EG=\uC774\uC9D1\uD2B8 -EH=\uC11C\uC0AC\uD558\uB77C -ER=\uC5D0\uB9AC\uD2B8\uB9AC\uC544 -ES=\uC2A4\uD398\uC778 -ET=\uC774\uB514\uC624\uD53C\uC544 -FI=\uD540\uB780\uB4DC -FJ=\uD53C\uC9C0 -FK=\uD3EC\uD074\uB79C\uB4DC \uC81C\uB3C4 -FM=\uB9C8\uC774\uD06C\uB85C\uB124\uC2DC\uC544 -FO=\uD398\uB85C \uC81C\uB3C4 -FR=\uD504\uB791\uC2A4 -GA=\uAC00\uBD09 -GB=\uC601\uAD6D -GD=\uADF8\uB808\uB098\uB2E4 -GE=\uADF8\uB8E8\uC9C0\uC57C -GF=\uD504\uB791\uC2A4\uB839 \uAE30\uC544\uB098 +CX=\ud06c\ub9ac\uc2a4\ub9c8\uc2a4 \uc12c +CY=\uc0ac\uc774\ud504\ub7ec\uc2a4 +CZ=\uccb4\ucf54 +DE=\ub3c5\uc77c +DJ=\uc9c0\ubd80\ud2f0 +DK=\ub374\ub9c8\ud06c +DM=\ub3c4\ubbf8\ub2c8\uce74 +DO=\ub3c4\ubbf8\ub2c8\uce74 \uacf5\ud654\uad6d +DZ=\uc54c\uc81c\ub9ac +EC=\uc5d0\ucfe0\uc544\ub3c4\ub974 +EE=\uc5d0\uc2a4\ud1a0\ub2c8\uc544 +EG=\uc774\uc9d1\ud2b8 +EH=\uc11c\uc0ac\ud558\ub77c +ER=\uc5d0\ub9ac\ud2b8\ub9ac\uc544 +ES=\uc2a4\ud398\uc778 +ET=\uc774\ub514\uc624\ud53c\uc544 +FI=\ud540\ub780\ub4dc +FJ=\ud53c\uc9c0 +FK=\ud3ec\ud074\ub79c\ub4dc \uc81c\ub3c4 +FM=\ub9c8\uc774\ud06c\ub85c\ub124\uc2dc\uc544 +FO=\ud398\ub85c \uc81c\ub3c4 +FR=\ud504\ub791\uc2a4 +GA=\uac00\ubd09 +GB=\uc601\uad6d +GD=\uadf8\ub808\ub098\ub2e4 +GE=\uadf8\ub8e8\uc9c0\uc57c +GF=\ud504\ub791\uc2a4\ub839 \uae30\uc544\ub098 GG=\uAC74\uC9C0 -GH=\uAC00\uB098 -GI=\uC9C0\uBE0C\uB864\uD130 -GL=\uADF8\uB9B0\uB79C\uB4DC -GM=\uAC10\uBE44\uC544 -GN=\uAE30\uB2C8 -GP=\uACFC\uB2EC\uB85C\uD504 -GQ=\uC801\uB3C4 \uAE30\uB2C8 -GR=\uADF8\uB9AC\uC2A4 -GS=\uC0AC\uC6B0\uC2A4 \uC870\uC9C0\uC544 \uBC0F \uC0AC\uC6B0\uC2A4 \uC0CC\uB4DC\uC704\uCE58 \uC81C\uB3C4 -GT=\uACFC\uD14C\uB9D0\uB77C -GU=\uAD0C -GW=\uAE30\uB124\uBE44\uC3D8 -GY=\uAC00\uC774\uC544\uB098 -HK=\uD64D\uCF69 -HM=\uD5C8\uB4DC \uC12C \uBC0F \uB9E5\uB3C4\uB110\uB4DC \uC81C\uB3C4 -HN=\uC628\uB450\uB77C\uC2A4 -HR=\uD06C\uB85C\uC544\uD2F0\uC544 -HT=\uD558\uC774\uD2F0 -HU=\uD5DD\uAC00\uB9AC -ID=\uC778\uB3C4\uB124\uC2DC\uC544 -IE=\uC544\uC77C\uB79C\uB4DC -IL=\uC774\uC2A4\uB77C\uC5D8 +GH=\uac00\ub098 +GI=\uc9c0\ube0c\ub864\ud130 +GL=\uadf8\ub9b0\ub79c\ub4dc +GM=\uac10\ube44\uc544 +GN=\uae30\ub2c8 +GP=\uacfc\ub2ec\ub85c\ud504 +GQ=\uc801\ub3c4 \uae30\ub2c8 +GR=\uadf8\ub9ac\uc2a4 +GS=\uc0ac\uc6b0\uc2a4 \uc870\uc9c0\uc544 \ubc0f \uc0ac\uc6b0\uc2a4 \uc0cc\ub4dc\uc704\uce58 \uc81c\ub3c4 +GT=\uacfc\ud14c\ub9d0\ub77c +GU=\uad0c +GW=\uae30\ub124\ube44\uc3d8 +GY=\uac00\uc774\uc544\ub098 +HK=\ud64d\ucf69 +HM=\ud5c8\ub4dc \uc12c \ubc0f \ub9e5\ub3c4\ub110\ub4dc \uc81c\ub3c4 +HN=\uc628\ub450\ub77c\uc2a4 +HR=\ud06c\ub85c\uc544\ud2f0\uc544 +HT=\ud558\uc774\ud2f0 +HU=\ud5dd\uac00\ub9ac +ID=\uc778\ub3c4\ub124\uc2dc\uc544 +IE=\uc544\uc77c\ub79c\ub4dc +IL=\uc774\uc2a4\ub77c\uc5d8 IM=\uB9E8 \uC12C -IN=\uC778\uB3C4 -IO=\uC601\uC778\uB3C4 \uC81C\uB3C4 -IQ=\uC774\uB77C\uD06C -IR=\uC774\uB780 -IS=\uC544\uC774\uC2AC\uB780\uB4DC -IT=\uC774\uD0C8\uB9AC\uC544 +IN=\uc778\ub3c4 +IO=\uc601\uc778\ub3c4 \uc81c\ub3c4 +IQ=\uc774\ub77c\ud06c +IR=\uc774\ub780 +IS=\uc544\uc774\uc2ac\ub780\ub4dc +IT=\uc774\ud0c8\ub9ac\uc544 JE=\uC800\uC9C0 -JM=\uC790\uBA54\uC774\uCE74 -JO=\uC694\uB974\uB2E8 -JP=\uC77C\uBCF8 -KE=\uCF00\uB0D0 -KG=\uD0A4\uB974\uAE30\uC2A4\uC2A4\uD0C4 -KH=\uCE84\uBCF4\uB514\uC544 -KI=\uD0A4\uB9AC\uBC14\uC2DC -KM=\uCF54\uBAA8\uB974 -KN=\uC138\uC778\uD2B8 \uD06C\uB9AC\uC2A4\uD1A0\uD37C \uB2C8\uBE44\uC2A4 -KP=\uBD81\uD55C -KR=\uB300\uD55C\uBBFC\uAD6D -KW=\uCFE0\uC6E8\uC774\uD2B8 -KY=\uCF00\uC774\uB9E8 \uC81C\uB3C4 -KZ=\uCE74\uC790\uD750\uC2A4\uD0C4 -LA=\uB77C\uC624\uC2A4 -LB=\uB808\uBC14\uB17C -LC=\uC138\uC778\uD2B8 \uB8E8\uC2DC\uC544 -LI=\uB9AC\uD788\uD150\uC288\uD0C0\uC778 -LK=\uC2A4\uB9AC\uB791\uCE74 -LR=\uB77C\uC774\uBCA0\uB9AC\uC544 -LS=\uB808\uC18C\uD1A0 -LT=\uB9AC\uD22C\uC544\uB2C8\uC544 -LU=\uB8E9\uC148\uBD80\uB974\uD06C -LV=\uB77C\uD2B8\uBE44\uC544 -LY=\uB9AC\uBE44\uC544 -MA=\uBAA8\uB85C\uCF54 -MC=\uBAA8\uB098\uCF54 -MD=\uBAB0\uB3C4\uBC14 -ME=\uBAAC\uD14C\uB124\uADF8\uB85C +JM=\uc790\uba54\uc774\uce74 +JO=\uc694\ub974\ub2e8 +JP=\uc77c\ubcf8 +KE=\ucf00\ub0d0 +KG=\ud0a4\ub974\uae30\uc2a4\uc2a4\ud0c4 +KH=\uce84\ubcf4\ub514\uc544 +KI=\ud0a4\ub9ac\ubc14\uc2dc +KM=\ucf54\ubaa8\ub974 +KN=\uc138\uc778\ud2b8 \ud06c\ub9ac\uc2a4\ud1a0\ud37c \ub2c8\ube44\uc2a4 +KP=\ubd81\ud55c +KR=\ub300\ud55c\ubbfc\uad6d +KW=\ucfe0\uc6e8\uc774\ud2b8 +KY=\ucf00\uc774\ub9e8 \uc81c\ub3c4 +KZ=\uce74\uc790\ud750\uc2a4\ud0c4 +LA=\ub77c\uc624\uc2a4 +LB=\ub808\ubc14\ub17c +LC=\uc138\uc778\ud2b8 \ub8e8\uc2dc\uc544 +LI=\ub9ac\ud788\ud150\uc288\ud0c0\uc778 +LK=\uc2a4\ub9ac\ub791\uce74 +LR=\ub77c\uc774\ubca0\ub9ac\uc544 +LS=\ub808\uc18c\ud1a0 +LT=\ub9ac\ud22c\uc544\ub2c8\uc544 +LU=\ub8e9\uc148\ubd80\ub974\ud06c +LV=\ub77c\ud2b8\ube44\uc544 +LY=\ub9ac\ube44\uc544 +MA=\ubaa8\ub85c\ucf54 +MC=\ubaa8\ub098\ucf54 +MD=\ubab0\ub3c4\ubc14 +ME=\ubaac\ud14c\ub124\uadf8\ub85c MF=\uC0DD \uB9C8\uB974\uD0F1 -MG=\uB9C8\uB2E4\uAC00\uC2A4\uCE74\uB974 -MH=\uB9C8\uC15C \uC81C\uB3C4 -MK=\uB9C8\uCF00\uB3C4\uB2C8\uC544 -ML=\uB9D0\uB9AC -MM=\uBBF8\uC580\uB9C8 -MN=\uBABD\uACE8 -MO=\uB9C8\uCE74\uC624 -MP=\uBD81\uB9C8\uB9AC\uC544\uB098 \uC81C\uB3C4 -MQ=\uB9D0\uD2F0\uB2C8\uD06C -MR=\uBAA8\uB9AC\uD0C0\uB2C8 -MS=\uBAAC\uD2B8\uC138\uB77C\uD2B8 -MT=\uBAB0\uD0C0 -MU=\uBAA8\uB9AC\uC154\uC2A4 -MV=\uBAB0\uB514\uBE0C -MW=\uB9D0\uB77C\uC704 -MX=\uBA55\uC2DC\uCF54 -MY=\uB9D0\uB808\uC774\uC9C0\uC544 -MZ=\uBAA8\uC7A0\uBE44\uD06C -NA=\uB098\uBBF8\uBE44\uC544 -NC=\uB274 \uCE7C\uB808\uB3C4\uB2C8\uC544 -NE=\uB2C8\uC81C\uB974 -NF=\uB178\uD37D \uC12C -NG=\uB098\uC774\uC9C0\uB9AC\uC544 -NI=\uB2C8\uCE74\uB77C\uACFC -NL=\uB124\uB35C\uB780\uB4DC -NO=\uB178\uB974\uC6E8\uC774 -NP=\uB124\uD314 -NR=\uB098\uC6B0\uB8E8 -NU=\uB2C8\uC6B0\uC5D0 -NZ=\uB274\uC9C8\uB79C\uB4DC -OM=\uC624\uB9CC -PA=\uD30C\uB098\uB9C8 -PE=\uD398\uB8E8 -PF=\uD504\uB791\uC2A4\uB839 \uD3F4\uB9AC\uB124\uC2DC\uC544 -PG=\uD30C\uD478\uC544\uB274\uAE30\uB2C8 -PH=\uD544\uB9AC\uD540 -PK=\uD30C\uD0A4\uC2A4\uD0C4 -PL=\uD3F4\uB780\uB4DC -PM=\uC138\uC778\uD2B8 \uD53C\uC5D0\uB974 \uBBF8\uCF08\uB860 -PN=\uD54F\uCF00\uC5B8 \uC81C\uB3C4 -PR=\uD478\uC5D0\uB974\uD1A0\uB9AC\uCF54 -PS=\uD314\uB808\uC2A4\uD0C0\uC778 -PT=\uD3EC\uB974\uD22C\uCE7C -PW=\uD314\uB77C\uC6B0 -PY=\uD30C\uB77C\uACFC\uC774 -QA=\uCE74\uD0C0\uB974 -RE=\uB9AC\uC720\uB2C8\uC5B8 -RO=\uB8E8\uB9C8\uB2C8\uC544 -RS=\uC138\uB974\uBE44\uC544 -RU=\uB7EC\uC2DC\uC544 -RW=\uB974\uC644\uB2E4 -SA=\uC0AC\uC6B0\uB514\uC544\uB77C\uBE44\uC544 -SB=\uC194\uB85C\uBAAC \uC81C\uB3C4 -SC=\uC250\uC774\uC258 -SD=\uC218\uB2E8 -SE=\uC2A4\uC6E8\uB374 -SG=\uC2F1\uAC00\uD3EC\uB974 -SH=\uC138\uC778\uD2B8 \uD5EC\uB808\uB098 -SI=\uC2AC\uB85C\uBCA0\uB2C8\uC544 -SJ=\uC2A4\uBC1C\uBC14\uB974 \uBC0F \uC580\uB9C8\uC6EC -SK=\uC2AC\uB85C\uBC14\uD0A4\uC544 -SL=\uC2DC\uC5D0\uB77C\uB9AC\uC628 -SM=\uC0B0\uB9C8\uB9AC\uB178 -SN=\uC138\uB124\uAC08 -SO=\uC18C\uB9D0\uB9AC\uC544 -SR=\uC218\uB9AC\uB0A8 -ST=\uC0C1\uD22C\uBA54 \uD504\uB9B0\uC2DC\uD398 -SV=\uC5D8\uC0B4\uBC14\uB3C4\uB974 +MG=\ub9c8\ub2e4\uac00\uc2a4\uce74\ub974 +MH=\ub9c8\uc15c \uc81c\ub3c4 +MK=\ub9c8\ucf00\ub3c4\ub2c8\uc544\uc5b4 +ML=\ub9d0\ub9ac +MM=\ubbf8\uc580\ub9c8 +MN=\ubabd\uace8 +MO=\ub9c8\uce74\uc624 +MP=\ubd81\ub9c8\ub9ac\uc544\ub098 \uc81c\ub3c4 +MQ=\ub9d0\ud2f0\ub2c8\ud06c +MR=\ubaa8\ub9ac\ud0c0\ub2c8 +MS=\ubaac\ud2b8\uc138\ub77c\ud2b8 +MT=\ubab0\ud0c0 +MU=\ubaa8\ub9ac\uc154\uc2a4 +MV=\ubab0\ub514\ube0c +MW=\ub9d0\ub77c\uc704 +MX=\uba55\uc2dc\ucf54 +MY=\ub9d0\ub808\uc774\uc9c0\uc544 +MZ=\ubaa8\uc7a0\ube44\ud06c +NA=\ub098\ubbf8\ube44\uc544 +NC=\ub274 \uce7c\ub808\ub3c4\ub2c8\uc544 +NE=\ub2c8\uc81c\ub974 +NF=\ub178\ud37d \uc12c +NG=\ub098\uc774\uc9c0\ub9ac\uc544 +NI=\ub2c8\uce74\ub77c\uacfc +NL=\ub124\ub35c\ub780\ub4dc +NO=\ub178\ub974\uc6e8\uc774 +NP=\ub124\ud314 +NR=\ub098\uc6b0\ub8e8 +NU=\ub2c8\uc6b0\uc5d0 +NZ=\ub274\uc9c8\ub79c\ub4dc +OM=\uc624\ub9cc +PA=\ud30c\ub098\ub9c8 +PE=\ud398\ub8e8 +PF=\ud504\ub791\uc2a4\ub839 \ud3f4\ub9ac\ub124\uc2dc\uc544 +PG=\ud30c\ud478\uc544\ub274\uae30\ub2c8 +PH=\ud544\ub9ac\ud540 +PK=\ud30c\ud0a4\uc2a4\ud0c4 +PL=\ud3f4\ub780\ub4dc +PM=\uc138\uc778\ud2b8 \ud53c\uc5d0\ub974 \ubbf8\ucf08\ub860 +PN=\ud54f\ucf00\uc5b8 \uc81c\ub3c4 +PR=\ud478\uc5d0\ub974\ud1a0\ub9ac\ucf54 +PS=\ud314\ub808\uc2a4\ud0c0\uc778 +PT=\ud3ec\ub974\ud2b8\uce7c +PW=\ud314\ub77c\uc6b0 +PY=\ud30c\ub77c\uacfc\uc774 +QA=\uce74\ud0c0\ub974 +RE=\ub9ac\uc720\ub2c8\uc5b8 +RO=\ub8e8\ub9c8\ub2c8\uc544 +RS=\uc138\ub974\ube44\uc544 +RU=\ub7ec\uc2dc\uc544 +RW=\ub974\uc644\ub2e4 +SA=\uc0ac\uc6b0\ub514\uc544\ub77c\ube44\uc544 +SB=\uc194\ub85c\ubaac \uc81c\ub3c4 +SC=\uc250\uc774\uc258 +SD=\uc218\ub2e8 +SE=\uc2a4\uc6e8\ub374 +SG=\uc2f1\uac00\ud3ec\ub974 +SH=\uc138\uc778\ud2b8 \ud5ec\ub808\ub098 +SI=\uc2ac\ub85c\ubca0\ub2c8\uc544 +SJ=\uc2a4\ubc1c\ubc14\ub974 \ubc0f \uc580\ub9c8\uc6ec +SK=\uc2ac\ub85c\ubc14\ud0a4\uc544 +SL=\uc2dc\uc5d0\ub77c\ub9ac\uc628 +SM=\uc0b0\ub9c8\ub9ac\ub178 +SN=\uc138\ub124\uac08 +SO=\uc18c\ub9d0\ub9ac\uc544 +SR=\uc218\ub9ac\ub0a8 +ST=\uc0c1\ud22c\uba54 \ud504\ub9b0\uc2dc\ud398 +SV=\uc5d8\uc0b4\ubc14\ub3c4\ub974 SX=\uC2E0\uD2B8\uB9C8\uB974\uD150(\uB124\uB35C\uB780\uB4DC\uB839) -SY=\uC2DC\uB9AC\uC544 -SZ=\uC2A4\uC640\uC9C8\uB79C\uB4DC -TC=\uD130\uD06C\uC2A4 \uCF00\uC774\uCEE4\uC2A4 \uC81C\uB3C4 -TD=\uCC28\uB4DC -TF=\uD504\uB791\uC2A4 \uB0A8\uBD80 \uC9C0\uBC29 -TG=\uD1A0\uACE0 -TH=\uD0DC\uAD6D -TJ=\uD0C0\uC9C0\uD0A4\uC2A4\uD0C4 -TK=\uD1A0\uCF08\uB77C\uC6B0\uC81C\uB3C4 -TL=\uB3D9\uD2F0\uBAA8\uB974 -TM=\uD22C\uB974\uD06C\uBA54\uB2C8\uC2A4\uD0C4 -TN=\uD280\uB2C8\uC9C0 -TO=\uD1B5\uAC00 -TR=\uD130\uD0A4 -TT=\uD2B8\uB9AC\uB2C8\uB2E4\uB4DC \uD1A0\uBC14\uACE0 -TV=\uD22C\uBC1C\uB8E8 -TW=\uB300\uB9CC -TZ=\uD0C4\uC790\uB2C8\uC544 -UA=\uC6B0\uD06C\uB77C\uC774\uB098 -UG=\uC6B0\uAC04\uB2E4 -UM=\uBBF8\uAD6D\uB839 \uAD70\uB3C4 -US=\uBBF8\uAD6D -UY=\uC6B0\uB8E8\uACFC\uC774 -UZ=\uC6B0\uC988\uBCA0\uD0A4\uC2A4\uD0C4 -VA=\uBC14\uD2F0\uCE78 -VC=\uC138\uC778\uD2B8 \uBE48\uC13C\uD2B8 \uADF8\uB808\uB098\uB518\uC2A4 -VE=\uBCA0\uB124\uC218\uC5D8\uB77C -VG=\uC601\uAD6D\uB839 \uBC84\uC9C4 \uC544\uC77C\uB79C\uB4DC -VI=\uBBF8\uAD6D\uB839 \uBC84\uC9C4 \uC544\uC77C\uB79C\uB4DC -VN=\uBCA0\uD2B8\uB0A8 -VU=\uBC14\uB204\uC544\uD22C -WF=\uC70C\uB9AC\uC2A4 \uD478\uD22C\uB098 -WS=\uC0AC\uBAA8\uC544 -YE=\uC608\uBA58 -YT=\uB9C8\uC694\uD2F0 -ZA=\uB0A8\uC544\uD504\uB9AC\uCE74 -ZM=\uC7A0\uBE44\uC544 -ZW=\uC9D0\uBC14\uBE0C\uC6E8 +SY=\uc2dc\ub9ac\uc544 +SZ=\uc2a4\uc640\uc9c8\ub79c\ub4dc +TC=\ud130\ud06c\uc2a4 \ucf00\uc774\ucee4\uc2a4 \uc81c\ub3c4 +TD=\ucc28\ub4dc +TF=\ud504\ub791\uc2a4 \ub0a8\ubd80 \uc9c0\ubc29 +TG=\ud1a0\uace0 +TH=\ud0dc\uad6d +TJ=\ud0c0\uc9c0\ud0a4\uc2a4\ud0c4 +TK=\ud1a0\ucf08\ub77c\uc6b0 +TL=\ub3d9\ud2f0\ubaa8\ub974 +TM=\ud22c\ub974\ud06c\uba54\ub2c8\uc2a4\ud0c4 +TN=\ud280\ub2c8\uc9c0 +TO=\ud1b5\uac00 +TR=\ud130\ud0a4 +TT=\ud2b8\ub9ac\ub2c8\ub2e4\ub4dc \ud1a0\ubc14\uace0 +TV=\ud22c\ubc1c\ub8e8 +TW=\ub300\ub9cc +TZ=\ud0c4\uc790\ub2c8\uc544 +UA=\uc6b0\ud06c\ub77c\uc774\ub098 +UG=\uc6b0\uac04\ub2e4 +UM=\ubbf8\uad6d\ub839 \uad70\ub3c4 +US=\ubbf8\uad6d +UY=\uc6b0\ub8e8\uacfc\uc774 +UZ=\uc6b0\uc988\ubca0\ud0a4\uc2a4\ud0c4 +VA=\ubc14\ud2f0\uce78 +VC=\uc138\uc778\ud2b8 \ube48\uc13c\ud2b8 \uadf8\ub808\ub098\ub518\uc2a4 +VE=\ubca0\ub124\uc218\uc5d8\ub77c +VG=\uc601\uad6d\ub839 \ubc84\uc9c4 \uc544\uc77c\ub79c\ub4dc +VI=\ubbf8\uad6d\ub839 \ubc84\uc9c4 \uc544\uc77c\ub79c\ub4dc +VN=\ubca0\ud2b8\ub0a8 +VU=\ubc14\ub204\uc544\ud22c +WF=\uc70c\ub9ac\uc2a4 \ud478\ud22c\ub098 +WS=\uc0ac\ubaa8\uc544 +YE=\uc608\uba58 +YT=\ub9c8\uc694\ud2f0 +ZA=\ub0a8\uc544\ud504\ub9ac\uce74 +ZM=\uc7a0\ube44\uc544 +ZW=\uc9d0\ubc14\ube0c\uc6e8 # territory names # key is UN M.49 country and area code @@ -1152,19 +1151,3 @@ 154=\uBD81\uC720\uB7FD 155=\uC11C\uC720\uB7FD 419=\uB77C\uD2F4 \uC544\uBA54\uB9AC\uCE74 \uBC0F \uCE74\uB9AC\uBE0C \uD574 \uC81C\uB3C4 - -# variant names -# key is %%variant -# rarely localized - -%%EURO=\uC720\uB85C -%%B=\uBCF5\uB9D0 -%%NY=\uB2C8\uB178\uB974\uC2A4\uD06C - - -# locale name patterns -# rarely localized - -DisplayNamePattern={0,choice,0#|1#{1}|2#{1} ({2})} -ListPattern={0,choice,0#|1#{1}|2#{1},{2}|3#{1},{2},{3}} -ListCompositionPattern={0},{1}
--- a/src/share/classes/sun/util/resources/LocaleNames_pt_BR.properties Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/classes/sun/util/resources/LocaleNames_pt_BR.properties Fri Jun 29 15:21:00 2012 +0100 @@ -1,1170 +1,54 @@ # -# Copyright (c) 2005, 2011, 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. +# Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved. # -# (C) Copyright Taligent, Inc. 1996, 1997 - All Rights Reserved -# (C) Copyright IBM Corp. 1996 - 1999 - All Rights Reserved +# +# COPYRIGHT AND PERMISSION NOTICE # -# The original version of this source code and documentation -# is copyrighted and owned by Taligent, Inc., a wholly-owned -# subsidiary of IBM. These materials are provided under terms -# of a License Agreement between Taligent and Sun. This technology -# is protected by multiple US and International patents. +# Copyright (C) 1991-2007 Unicode, Inc. All rights reserved. +# Distributed under the Terms of Use in http://www.unicode.org/copyright.html. # -# This notice and attribution to Taligent may not be removed. -# Taligent is a registered trademark of Taligent, Inc. - - -# language names -# key is ISO 639 language code - -aa=Afar -ab=Abcaziano -ae=Av\u00E9stico -af=Afric\u00E2ner -ak=Akan -am=Am\u00E1rico -an=Aragon\u00EAs -ar=\u00C1rabe -as=Assam\u00EAs -av=Av\u00E1rico -ay=Aimara -az=Azerbaijano -ba=Bashkir -be=Bielorrusso -bg=B\u00FAlgaro -bh=Biari -bi=Bislam\u00E1 -bm=Bambara -bn=Bengali -bo=Tibetano -br=Bret\u00E3o -bs=B\u00F3snio -ca=Catal\u00E3o -ce=Checheno -ch=Chamorro -co=C\u00F3rsico -cr=Cree -cs=Tcheco -cu=Eslavo Eclesi\u00E1stico -cv=Chuvash -cy=Gal\u00EAs -da=Dinamarqu\u00EAs -de=Alem\u00E3o -dv=Divehi -dz=Dzonga -ee=Eve -el=Grego -en=Ingl\u00EAs -eo=Esperanto -es=Espanhol -et=Estoniano -eu=Basco -fa=Persa -ff=Fula -fi=Finland\u00EAs -fj=Fijiano -fo=Fero\u00EAs -fr=Franc\u00EAs -fy=Fr\u00EDsio -ga=Irland\u00EAs -gd=Ga\u00E9lico Escoc\u00EAs -gl=Galego -gn=Guarani -gu=Guzerate -gv=Manx -ha=Hau\u00E7\u00E1 -he=Hebraico -hi=H\u00EDndi -ho=Hiri Motu -hr=Croata -ht=Haitiano -hu=H\u00FAngaro -hy=Arm\u00EAnio -hz=Herero -ia=Interl\u00EDngua -id=Indon\u00E9sio -ie=Interlingue -ig=Ibo -ii=Sichuan Yi -ik=Inupiaque -in=Indon\u00E9sio -io=Ido -is=Island\u00EAs -it=Italiano -iu=Inuktitut -iw=Hebraico -ja=Japon\u00EAs -ji=\u00CDdiche -jv=Javan\u00EAs -ka=Georgiano -kg=Congol\u00EAs -ki=Quicuio -kj=Kuanyama -kk=Cazaque -kl=Groenland\u00EAs -km=Khmer -kn=Kannada -ko=Coreano -kr=Can\u00FAri -ks=Caxemir -ku=Curdo -kv=Komi -kw=C\u00F3rnico -ky=Quirguiz -la=Latim -lb=Luxemburgu\u00EAs -lg=Ganda -li=Limburgish -ln=Lingala -lo=Laosiano -lt=Lituano -lu=Luba-Catanga -lv=Let\u00E3o -mg=Malgaxe -mh=Marshall\u00EAs -mi=Maori -mk=Maced\u00F4nio -ml=Malaiala -mn=Mongol -mo=Mold\u00E1vio -mr=Marata -ms=Malaio -mt=Malt\u00EAs -my=Birman\u00EAs -na=Nauruano -nb=Bokm\u00E5l Noruegu\u00EAs -nd=Ndebele do Norte -ne=Nepali -ng=Dongo -nl=Holand\u00EAs -nn=Nynorsk Noruegu\u00EAs -no=Noruegu\u00EAs -nr=Ndebele do Sul -nv=Navajo -ny=Nianja; Chicheua; Cheua -oc=occit\u00E2nico -oj=Ojibwa -om=Oromo -or=Oriya -os=Osseta -pa=Panjabi -pi=Pali -pl=Polon\u00EAs -ps=Pashto (Pushto) -pt=Portugu\u00EAs -qu=Qu\u00EDchua -rm=Reto-Romano -rn=Rundi -ro=Romeno -ru=Russo -rw=Kinyarwanda -sa=S\u00E2nscrito -sc=Sardo -sd=Sindi -se=Sami do Norte -sg=Sango -si=Cingal\u00EAs -sk=Eslovaco -sl=Eslov\u00EAnio -sm=Samoano -sn=Shona -so=Somali -sq=Alban\u00EAs -sr=S\u00E9rvio -ss=Swati -st=Soto do Sul -su=Sundan\u00EAs -sv=Sueco -sw=Sua\u00EDli -ta=T\u00E2mil -te=Telugu -tg=Tadjique -th=Tailand\u00EAs -ti=Tigr\u00EDnia -tk=Turcomano -tl=Tagalo -tn=Tswana -to=Reino de Tonga -tr=Turco -ts=Tsonga -tt=Tatar -tw=Twi -ty=Taitiano -ug=Uighur -uk=Ucraniano -ur=Urdu -uz=Usbeque -ve=Venda -vi=Vietnamita -vo=Volap\u00FCk -wa=Walloon -wo=Uolofe -xh=Xosa -yi=\u00CDdiche -yo=Ioruba -za=Zhuang -zh=Chin\u00EAs -zu=Zulu +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of the Unicode data files and any associated documentation (the "Data +# Files") or Unicode software and any associated documentation (the +# "Software") to deal in the Data Files or Software without restriction, +# including without limitation the rights to use, copy, modify, merge, +# publish, distribute, and/or sell copies of the Data Files or Software, and +# to permit persons to whom the Data Files or Software are furnished to do +# so, provided that (a) the above copyright notice(s) and this permission +# notice appear with all copies of the Data Files or Software, (b) both the +# above copyright notice(s) and this permission notice appear in associated +# documentation, and (c) there is clear notice in each modified Data File or +# in the Software as well as in the documentation associated with the Data +# File(s) or Software that the data or software has been modified. +# +# THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +# THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS +# INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR +# CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF +# USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THE DATA FILES OR SOFTWARE. +# +# Except as contained in this notice, the name of a copyright holder shall not +# be used in advertising or otherwise to promote the sale, use or other +# dealings in these Data Files or Software without prior written +# authorization of the copyright holder. +# + +# Generated automatically from the Common Locale Data Repository. DO NOT EDIT! -# key is ISO 639.2 language code -aar=Afar -abk=Abcaziano -ace=Ach\u00E9m -ach=Acoli -ada=Adangme -ady=Adigue -afa=Afro-Asi\u00E1tico -afh=Afrihili -afr=Afric\u00E2ner -ain=Ainu -aka=Akan -akk=Acadiano -alb=Alban\u00EAs -ale=Ale\u00FAte -alg=Idioma Algonquiano -alt=Altai do Sul -amh=Am\u00E1rico -ang=Ingl\u00EAs Antigo (aprox.450-1100) -anp=Angika -apa=Idioma Apache -ara=\u00C1rabe -arc=Aramaico Oficial (700-300 BCE) -arg=Aragon\u00EAs -arm=Arm\u00EAnio -arn=Mapudungun -arp=Arapaho -art=Idioma Artificial -arw=Arauaqui -asm=Assam\u00EAs -ast=Asturiano -ath=Idioma Atabascano -aus=Idioma Australiano -ava=Av\u00E1rico -ave=Av\u00E9stico -awa=Awadhi -aym=Aimara -aze=Azerbaijano -bad=Banda -bai=Idioma Bamileke -bak=Bashkir -bal=Bal\u00FAchi -bam=Bambara -ban=Balin\u00EAs -baq=Basco -bas=Basa -bat=Idioma B\u00E1ltico -bej=Beja -bel=Bielorrusso -bem=Bemba -ben=Bengali -ber=Berbere -bho=Bhojpuri -bih=Biari -bik=Bikol -bin=Bini -bis=Bislam\u00E1 -bla=Siksika -bnt=Banto -bos=B\u00F3snio -bra=Braj -bre=Bret\u00E3o -btk=Bataque -bua=Buriata -bug=Buguin\u00EAs -bul=B\u00FAlgaro -bur=Birman\u00EAs -byn=Blin -cad=Caddo -cai=Idioma Ind\u00EDgena Centro-Americano -car=Galibi Carib -cat=Catal\u00E3o -cau=Idioma Cauc\u00E1sico -ceb=Cebuano -cel=Idioma Celta -cha=Chamorro -chb=Chibcha -che=Checheno -chg=Chagatai -chi=Chin\u00EAs -chk=Chuukese -chm=Mari -chn=Jarg\u00E3o Chinuke -cho=Choctaw -chp=Chipewyan -chr=Cherokee -chu=Eslavo Eclesi\u00E1stico -chv=Chuvash -chy=Cheiene -cmc=Idioma Chamic -cop=C\u00F3ptico -cor=C\u00F3rnico -cos=C\u00F3rsico -cpe=Crioulo ou Pidgin Baseado no Ingl\u00EAs -cpf=Crioulo ou Pidgin Baseado no Franc\u00EAs -cpp=Crioulo ou Pidgin Baseado no Portugu\u00EAs -cre=Cree -crh=Turco da Crimeia -crp=Crioulo ou Pidgin -csb=Kashubian -cus=Idioma Cuch\u00EDtico -cze=Tcheco -dak=Dacota -dan=Dinamarqu\u00EAs -dar=Dargwa -day=Dayak -del=Delaware -den=Slavey (Athapascano) -dgr=Dogrib -din=Dinka -div=Divehi -doi=Dogri -dra=Idioma Dravidiano -dsb=S\u00E9rvio Baixo -dua=Duala -dum=Holand\u00EAs M\u00E9dio (aprox. 1050-1350) -dut=Holand\u00EAs -dyu=Di\u00FAla -dzo=Dzonga -efi=Efique -egy=Eg\u00EDpcio Arcaico -eka=Ekajuk -elx=Elamita -eng=Ingl\u00EAs -enm=Ingl\u00EAs M\u00E9dio (1100-1500) -epo=Esperanto -est=Estoniano -ewe=Eve -ewo=Ewondo -fan=Fangue -fao=Fero\u00EAs -fat=Fanti -fij=Fijiano -fil=Filipino -fin=Finland\u00EAs -fiu=Idioma Fino-\u00DAgrico -fon=Fom -fre=Franc\u00EAs -frm=Franc\u00EAs M\u00E9dio (aprox. 1400-1600) -fro=Franc\u00EAs Arcaico (842- aprox.1400) -frr=Fr\u00EDsio Setentrional -frs=Fr\u00EDsio Oriental -fry=Fr\u00EDsio Ocidental -ful=Fula -fur=Friuliano -gaa=Ga -gay=Gayo -gba=Gbaia -gem=Idioma Germ\u00E2nico -geo=Georgiano -ger=Alem\u00E3o -gez=Geez -gil=Gilbert\u00EAs -gla=Ga\u00E9lico -gle=Irland\u00EAs -glg=Gal\u00EDcio -glv=Manx -gmh=Alem\u00E3o M\u00E9dio-Alto (aprox. 1050-1500) -goh=Alem\u00E3o Arcaico Alto (aprox. 750-1050) -gon=Gondi -gor=Gorontalo -got=G\u00F3tico -grb=Grebo -grc=Grego Arcaico (at\u00E9 1453) -gre=Grego Moderno (1453-) -grn=Guarani -gsw=Alem\u00E3o Su\u00ED\u00E7o -guj=Guzerate -gwi=Gwich'in -hai=Haida -hat=Haitiano -hau=Hau\u00E7\u00E1 -haw=Havaiano -heb=Hebraico -her=Herero -hil=Hiligaynon -him=Himachali -hin=H\u00EDndi -hit=Hitita -hmn=Hmong -hmo=Hiri Motu -hrv=Croata -hsb=Sor\u00E1bio Superior -hun=H\u00FAngaro -hup=Hupa -iba=Iban -ibo=Ibo -ice=Island\u00EAs -ido=Ido -iii=Sichuan Yi -ijo=Ijo -iku=Inuktitut -ile=Interlingue -ilo=Ilocano -ina=Interlingua (Associa\u00E7\u00E3o Internacional de Idiomas Auxiliares) -inc=Idioma \u00CDndico -ind=Indon\u00E9sio -ine=Idioma Indo-Europeu -inh=Inguche -ipk=Inupiaque -ira=Iraniano -iro=Idioma Iroqu\u00EAs -ita=Italiano -jav=Javan\u00EAs -jbo=Lojban -jpn=Japon\u00EAs -jpr=Judaico-Persa -jrb=Judaico-Ar\u00E1bico -kaa=Kara-Kalpak -kab=Kabyle -kac=Kachin -kal=Kalaallisut -kam=Kamba -kan=Kannada -kar=Karen -kas=Caxemir -kau=Can\u00FAri -kaw=Kawi -kaz=Cazaque -kbd=Kabardiano -kha=Khasi -khi=Idioma Cois\u00E3 -khm=Khmer Central -kho=Khotan\u00EAs -kik=Quicuio -kin=Kinyarwanda -kir=Quirguiz -kmb=Quimbundo -kok=Concani -kom=Komi -kon=Congol\u00EAs -kor=Coreano -kos=Kosraeano -kpe=Kpelle -krc=Karachay-Balkar -krl=Idioma Car\u00E9lio -kro=Kru -kru=Kurukh -kua=Cuanhama -kum=Kumyk -kur=Curdo -kut=Kutenai -lad=Ladino -lah=Lahnda -lam=Lamba -lao=Laosiano -lat=Latim -lav=Let\u00E3o -lez=Lezgui -lim=Limburgu\u00EAs -lin=Lingala -lit=Lituano -lol=Mongo -loz=Lozi -ltz=Luxemburgu\u00EAs -lua=Luba-Lulua -lub=Luba-Catanga -lug=Ganda -lui=Luiseno -lun=Lunda -luo=Luo (Qu\u00EAnia e Tanz\u00E2nia) -lus=lushai -mac=Maced\u00F4nio -mad=Madur\u00EAs -mag=Magahi -mah=Marshall\u00EAs -mai=Maithili -mak=Makasar -mal=Malaiala -man=Mandinga -mao=Maori -map=Austron\u00E9sio -mar=Marata -mas=Massai -may=Malaio -mdf=Mocsa -mdr=Mandar -men=Mende -mga=Irland\u00EAs M\u00E9dio (900-1200) -mic=Miquemaque -min=Minangkabau -mis=Idiomas Diversos -mkh=Idioma Mon-Khmer -mlg=Malgaxe -mlt=Malt\u00EAs -mnc=Manchu -mni=Manipuri -mno=Idioma Manobo -moh=Mohawk -mon=Mongol -mos=Mossi -mul=Idiomas M\u00FAltiplos -mun=Idiomas Munda -mus=Creek -mwl=Mirand\u00EAs -mwr=Marwari -myn=Maia -myv=Erzya -nah=N\u00E1uatle -nai=Idioma Ind\u00EDgena Norte-Americano -nap=Napolitano -nau=Nauruano -nav=Navajo -nbl=Ndebele, Sul -nde=Ndebele, Norte -ndo=Dongo -nds=Baixo-Alem\u00E3o -nep=Nepali -new=Nepal Bhasa -nia=Nias -nic=Niger-Cordof\u00E2nio -niu=Niueano -nno=Nynorsk Noruegu\u00EAs -nob=Bokm\u00E5l, Noruega -nog=Nogai -non=N\u00F3rdico Arcaico -nor=Noruegu\u00EAs -nqo=N'Ko -nso=Pedi -nub=Idioma N\u00FAbio -nwc=Newari Cl\u00E1ssico -nya=Chichewa -nym=Nyamwezi -nyn=Nyankole -nyo=Nyoro -nzi=Nzima -oci=Occit\u00E2nico (ap\u00F3s 1500) -oji=Ojibwa -ori=Oriya -orm=Oromo -osa=Osage -oss=Osseta -ota=Turco Otomano (1500-1928) -oto=Idioma Otomano -paa=Idioma Papuano -pag=Pangasin\u00E3 -pal=P\u00E1lavi -pam=Pampanga -pan=Panjabi -pap=Papiamento -pau=Palauano -peo=Persa Arcaico (aprox.600-400 a.C.) -per=Persa -phi=Idioma Filipino -phn=Fen\u00EDcio -pli=Pali -pol=Polon\u00EAs -pon=Pompeiano -por=Portugu\u00EAs -pra=Idioma Pr\u00E1crito -pro=Proven\u00E7al, Antigo (at\u00E9 1500) -pus=Pushto; Pashto -que=Qu\u00EDchua -raj=Rajastani -rap=Rapanui -rar=Rarotongano -roa=Idioma Rom\u00E2nico -roh=Raetho-Romance -rom=Romani -rum=Romeno -run=Rundi -rup=Aromeno -rus=Russo -sad=Sandawe -sag=Sango -sah=Iacuto -sai=Idioma Ind\u00EDgena Sul-Americano -sal=Idioma Salisano -sam=Aramaico Samaritano -san=S\u00E2nscrito -sas=Sasak -sat=Santali -scn=Siciliano -sco=Escoc\u00EAs -sel=Selkup -sem=Idioma Sem\u00EDtico -sga=Irland\u00EAs Arcaico (at\u00E9 900) -sgn=Linguagem de Sinais -shn=Shan -sid=Sidamo -sin=Cingal\u00EAs -sio=Idioma Sioux -sit=Sino-Tibetano -sla=Idioma Eslavo -slo=Eslovaco -slv=Eslov\u00EAnio -sma=Sami do Sul -sme=Sami do Norte -smi=Idioma Sami -smj=Lule Sami -smn=Inari Sami -smo=Samoano -sms=Skolt Sami -sna=Shona -snd=Sindi -snk=Soninqu\u00EA -sog=Sogdiano -som=Somali -son=Songai -sot=Soto do Sul -spa=Espanhol -srd=Sardo -srn=Idioma Surinam\u00EAs -srp=S\u00E9rvio -srr=Serere -ssa=Idioma Nilo-Saariano -ssw=Swati -suk=Sukuma -sun=Sundan\u00EAs -sus=Sosso -sux=Sum\u00E9rio -swa=Sua\u00EDli -swe=Sueco -syc=Sir\u00EDaco Cl\u00E1ssico -syr=Sir\u00EDaco -tah=Taitiano -tai=Idioma Tailand\u00EAs -tam=T\u00E2mil -tat=Tatar -tel=Telugu -tem=Timne -ter=Tereno -tet=T\u00E9tum -tgk=Tadjique -tgl=Tagalo -tha=Tailand\u00EAs -tib=Tibetano -tig=Tigre -tir=Tigr\u00EDnia -tiv=Tiv -tkl=Toquelauano -tlh=Klingon -tli=Tlinguite -tmh=Tamaxeque -tog=Tongan\u00EAs de Nyasa -ton=Tongan\u00EAs (das Ilhas Tonga) -tpi=Tok Pisin -tsi=Tsimshian -tsn=Tswana -tso=Tsonga -tuk=Turcomano -tum=Tumbuka -tup=Idioma Tupi -tur=Turco -tut=Idioma Altaico -tvl=Tuvaluano -twi=Twi -tyv=Tuviniano -udm=Udmurt -uga=Ugar\u00EDtico -uig=Uighur -ukr=Ucraniano -umb=Umbundu -und=Idioma Inv\u00E1lido ou Desconhecido -urd=Urdu -uzb=Usbeque -vai=Vai -ven=Venda -vie=Vietnamita -vol=Volap\u00FCk -vot=Votico -wak=Idioma Wakashan -wal=Walamo -war=Waray -was=Washo -wel=Gal\u00EAs -wen=Idioma Sor\u00E1bio -wln=Walloon -wol=Uolofe -xal=Kalmyk -xho=Xosa -yao=Yao -yap=Yapese -yid=\u00CDdiche -yor=Ioruba -ypk=Idioma I\u00FApique -zap=Zapoteca -zbl=S\u00EDmbolos Blis -zen=Zenaga -zha=Zhuang -znd=Zande -zul=Zulu -zun=Zunhi -zxx=Sem conte\u00FAdo lingu\u00EDstico -zza=Zaza - -# script names -# key is ISO 15924 script code - -Arab=\u00C1rabe -Armi=Aramaico Imperial -Armn=Arm\u00EAnio -Avst=Av\u00E9stico -Bali=Balin\u00EAs -Bamu=Bamum -Bass=Bassa Vah -Batk=Bataque -Beng=Bengali -Blis=S\u00EDmbolos Blis -Bopo=Bopomofo -Brah=Brahmi -Brai=Braille -Bugi=Buguin\u00EAs -Buhd=Buhid -Cakm=Chakma -Cans=Escrita Sil\u00E1bica Unificada dos Abor\u00EDgenes Canadenses -Cari=Cariano -Cham=Cham -Cher=Cherokee -Cirt=Cirth -Copt=C\u00F3ptico -Cprt=Cipriota -Cyrl=Cir\u00EDlico -Cyrs=Alfabeto Cir\u00EDlico do Eslavo "Old Church" -Deva=Devan\u00E1gari -Dsrt=Deseret -Dupl=Estenografia Duploiana -Egyd=Dem\u00F3tico Eg\u00EDpcio -Egyh=Hier\u00E1tico Eg\u00EDpcio -Egyp=Hier\u00F3glifos eg\u00EDpcios -Elba=Elbasan -Ethi=Eti\u00F3pico -Geok=Khutsuri -Geor=Georgiano -Glag=Glagol\u00EDtico -Goth=G\u00F3tico -Gran=Grantha -Grek=Grego -Gujr=Guzerate -Guru=Gurmuqui -Hang=Hangul -Hani=Han -Hano=Hanunoo -Hans=Han Simplificado -Hant=Han Tradicional -Hebr=Hebraico -Hira=Hiragana -Hmng=Pahawh Hmong -Hrkt=Katakana ou Hiragana -Hung=H\u00FAngaro Antigo -Inds=Indus -Ital=It\u00E1lico Antigo -Java=Javan\u00EAs -Jpan=Japon\u00EAs -Kali=Kayah Li -Kana=Katakana -Khar=Kharoshthi -Khmr=Khmer -Knda=Kannada -Kore=Coreano -Kpel=Kpelle -Kthi=Kaithi -Lana=Tai Tham -Laoo=Laosiano -Latf=Tipo Fraktur Latino -Latg=Latim Ga\u00E9lico -Latn=Latim -Lepc=Lepcha -Limb=Limbu -Lina=A Linear -Linb=B Linear -Lisu=Lisu -Loma=Loma -Lyci=L\u00EDcio -Lydi=L\u00EDdio -Mand=Mandaico -Mani=Maniqueano -Maya=Hier\u00F3glifos maias -Mend=Mende -Merc=Mero\u00EDtico Cursivo -Mero=Mero\u00EDtico -Mlym=Malaiala -Mong=Mongol -Moon=Moon -Mtei=Meitei Mayek -Mymr=Mianmar -Narb=\u00C1rabe Antigo do Norte -Nbat=Nabataeano -Nkgb=Nakhi Geba -Nkoo=N'Ko -Ogam=Og\u00E2mico -Olck=Ol Chiki -Orkh=Orkhon -Orya=Oriya -Osma=Osmanya -Palm=Palmyrene -Perm=P\u00E9rmico Antigo -Phag=Phags-pa -Phli=Pahlavi de Inscri\u00E7\u00E3o -Phlp=Psalter Pahlavi -Phlv=Book Pahlavi -Phnx=Fen\u00EDcio -Plrd=Miao -Prti=Parthian de Inscri\u00E7\u00E3o -Rjng=Rejang -Roro=Rongorongo -Runr=R\u00FAnico -Samr=Samaritano -Sara=Sarati -Sarb=\u00C1rabe Antigo do Sul -Saur=Saurashtra -Sgnw=SignWriting -Shaw=Shaviano -Sind=Sindi -Sinh=Cingal\u00EAs -Sund=Sundan\u00EAs -Sylo=Syloti Nagri -Syrc=Sir\u00EDaco -Syre=Sir\u00EDaco Estrangelo -Syrj=Sir\u00EDaco Ocidental -Syrn=Sir\u00EDaco Oriental -Tagb=Tagbanwa -Tale=Tai Le -Talu=New Tai Lue -Taml=T\u00E2mil -Tavt=Tai Viet -Telu=Telugu -Teng=Tengwar -Tfng=Tifinagh -Tglg=Tagalo -Thaa=Thaana -Thai=Tailand\u00EAs -Tibt=Tibetano -Ugar=Ugar\u00EDtico -Vaii=Vai -Visp=Visible Speech -Wara=Warang Citi -Xpeo=Persa Antigo -Xsux=Sum\u00E9rio-Acadiano Cuneiforme -Yiii=Yi -Zinh=Herdado -Zmth=Nota\u00E7\u00E3o Matem\u00E1tica -Zsym=S\u00EDmbolos -Zxxx=\u00C1grafo -Zyyy=Escrita indeterminada -Zzzz=Escrita Desconhecida ou Inv\u00E1lida - -# country names -# key is ISO 3166 country code - -AD=Andorra -AE=Emirados \u00C1rabes Unidos -AF=Afeganist\u00E3o -AG=Ant\u00EDgua e Barbuda -AI=Anguila -AL=Alb\u00E2nia -AM=Arm\u00EAnia -AN=Antilhas Holandesas -AO=Angola -AQ=Ant\u00E1rtida -AR=Argentina -AS=Samoa Americana -AT=\u00C1ustria -AU=Austr\u00E1lia -AW=Aruba -AX=Ilhas \u00C5land -AZ=Azerbaij\u00E3o -BA=B\u00F3snia-Herzegovina -BB=Barbados -BD=Bangladesh -BE=B\u00E9lgica -BF=Burkina Faso -BG=Bulg\u00E1ria +ce=checheno +ik=inupiaque +jv=javan\u00eas +nd=ndebele do norte +nr=ndebele do sul +st=soto do sul +AX=Ilhas Aland +BA=B\u00f3snia-Herzegovina BH=Bahrain -BI=Burundi -BJ=Benin -BL=Saint Barth\u00E9lemy -BM=Bermudas -BN=Brunei -BO=Bol\u00EDvia -BQ=Territ\u00F3rio Insular de Bonaire, Ilha de Santo Eust\u00E1quio e Saba -BR=Brasil -BS=Bahamas -BT=But\u00E3o -BV=Ilha Bouvet -BW=Botsuana -BY=Bielorr\u00FAssia -BZ=Belize -CA=Canad\u00E1 -CC=Ilhas Cocos (Keeling) -CD=Congo, Rep\u00FAblica Democr\u00E1tica do -CF=Rep\u00FAblica Centro-Africana -CG=Congo - Brazzaville -CH=Su\u00ED\u00E7a -CI=Costa do Marfim -CK=Ilhas Cook -CL=Chile -CM=Rep\u00FAblica dos Camar\u00F5es -CN=China -CO=Col\u00F4mbia -CR=Costa Rica -CS=S\u00E9rvia e Montenegro -CU=Cuba -CV=Cabo Verde -CW=Cura\u00E7ao -CX=Ilha Christmas -CY=Chipre -CZ=Rep\u00FAblica Tcheca -DE=Alemanha -DJ=Djibuti -DK=Dinamarca -DM=Dominica -DO=Rep\u00FAblica Dominicana -DZ=Arg\u00E9lia -EC=Equador -EE=Est\u00F4nia -EG=Egito -EH=Saara Ocidental -ER=Eritreia -ES=Espanha -ET=Eti\u00F3pia -FI=Finl\u00E2ndia -FJ=Fiji -FK=Ilhas Falkland -FM=Micron\u00E9sia, Estados Federados da -FO=Ilhas Faroe -FR=Fran\u00E7a -GA=Gab\u00E3o -GB=Reino Unido -GD=Granada -GE=Ge\u00F3rgia -GF=Guiana Francesa -GG=Guernsey -GH=Gana -GI=Gibraltar -GL=Groenl\u00E2ndia -GM=G\u00E2mbia -GN=Guin\u00E9 -GP=Guadalupe -GQ=Guin\u00E9 Equatorial -GR=Gr\u00E9cia -GS=Ge\u00F3rgia do Sul e Ilhas Sandwich do Sul -GT=Guatemala -GU=Guam -GW=Guin\u00E9 Bissau -GY=Guiana -HK=Hong Kong, Regi\u00E3o Admin. Especial da China -HM=Ilha Heard e Ilhas McDonald -HN=Honduras -HR=Cro\u00E1cia -HT=Haiti -HU=Hungria -ID=Indon\u00E9sia -IE=Irlanda -IL=Israel -IM=Ilha de Man -IN=\u00CDndia -IO=Territ\u00F3rio Brit\u00E2nico do Oceano \u00CDndico -IQ=Iraque -IR=Ir\u00E3 -IS=Isl\u00E2ndia -IT=It\u00E1lia -JE=Jersey -JM=Jamaica -JO=Jord\u00E2nia -JP=Jap\u00E3o -KE=Qu\u00EAnia -KG=Quirguist\u00E3o -KH=Camboja -KI=Quiribati -KM=Comores -KN=S\u00E3o Crist\u00F3v\u00E3o e Nevis -KP=Coreia do Norte -KR=Coreia do Sul -KW=Kuwait -KY=Ilhas Caiman -KZ=Cazaquist\u00E3o -LA=Rep\u00FAblica Democr\u00E1tica Popular de Laos -LB=L\u00EDbano -LC=Santa L\u00FAcia -LI=Liechtenstein -LK=Sri Lanka -LR=Lib\u00E9ria -LS=Lesoto -LT=Litu\u00E2nia -LU=Luxemburgo -LV=Let\u00F4nia -LY=L\u00EDbia -MA=Marrocos -MC=M\u00F4naco -MD=Moldova, Rep\u00FAblica de -ME=Montenegro -MF=Saint Martin -MG=Madag\u00E1scar -MH=Ilhas Marshall -MK=Maced\u00F4nia -ML=Mali -MM=Mianmar -MN=Mong\u00F3lia -MO=Macau, Regi\u00E3o Admin. Especial da China -MP=Ilhas Marianas do Norte -MQ=Martinica -MR=Maurit\u00E2nia -MS=Montserrat -MT=Malta -MU=Maur\u00EDcio -MV=Maldivas -MW=Malau\u00ED -MX=M\u00E9xico -MY=Mal\u00E1sia -MZ=Mo\u00E7ambique -NA=Nam\u00EDbia -NC=Nova Caled\u00F4nia -NE=N\u00EDger -NF=Ilha Norfolk -NG=Nig\u00E9ria -NI=Nicar\u00E1gua -NL=Pa\u00EDses Baixos -NO=Noruega -NP=Nepal -NR=Nauruano -NU=Niue -NZ=Nova Zel\u00E2ndia -OM=Om\u00E3 -PA=Panam\u00E1 -PE=Peru -PF=Polin\u00E9sia Francesa -PG=Papua-Nova Guin\u00E9 -PH=Filipinas -PK=Paquist\u00E3o -PL=Pol\u00F4nia -PM=Saint Pierre e Miquelon -PN=Pitcairn -PR=Porto Rico -PS=Territ\u00F3rio da Palestina -PT=Portugal -PW=Palau -PY=Paraguai -QA=Catar -RE=Reuni\u00E3o -RO=Rom\u00EAnia -RS=S\u00E9rvia -RU=R\u00FAssia -RW=Ruanda -SA=Ar\u00E1bia Saudita -SB=Ilhas Salom\u00E3o -SC=Ilhas Seychelles -SD=Sud\u00E3o -SE=Su\u00E9cia -SG=Cingapura -SH=Santa Helena -SI=Eslov\u00EAnia -SJ=Svalbard e Jan Mayen -SK=Eslov\u00E1quia -SL=Serra Leoa -SM=San Marino -SN=Senegal -SO=Som\u00E1lia -SR=Suriname -ST=S\u00E3o Tom\u00E9 e Pr\u00EDncipe -SV=El Salvador -SX=Saint Maarten (parte holandesa) -SY=S\u00EDria -SZ=Suazil\u00E2ndia -TC=Ilhas Turks e Caicos -TD=Chade -TF=Territ\u00F3rios Franceses do Sul -TG=Togo -TH=Tail\u00E2ndia -TJ=Tadjiquist\u00E3o -TK=Toquelauano -TL=Timor Leste -TM=Turcomenist\u00E3o -TN=Tun\u00EDsia -TO=Reino de Tonga -TR=Turquia -TT=Trinidad e Tobago -TV=Tuvaluano -TW=Taiwan -TZ=Tanz\u00E2nia -UA=Ucr\u00E2nia -UG=Uganda -UM=Ilhas Menores Distantes dos Estados Unidos -US=Estados Unidos -UY=Uruguai -UZ=Uzbequist\u00E3o -VA=Vaticano -VC=S\u00E3o Vicente e Granadinas -VE=Venezuela -VG=Ilhas Virgens Brit\u00E2nicas -VI=Ilhas Virgens dos EUA -VN=Vietn\u00E3 -VU=Vanuatu -WF=Wallis e Futuna -WS=Samoa -YE=I\u00EAmen -YT=Maiote -ZA=\u00C1frica do Sul -ZM=Z\u00E2mbia -ZW=Zimb\u00E1bue - -# territory names -# key is UN M.49 country and area code - -001=Mundo -002=\u00C1frica -003=Am\u00E9rica do Norte -005=Am\u00E9rica do Sul -009=Oceania -011=\u00C1frica Ocidental -013=Am\u00E9rica Central -014=\u00C1frica Oriental -015=\u00C1frica Setentrional -017=\u00C1frica Central -018=\u00C1frica Austral -019=Am\u00E9ricas -021=Am\u00E9rica Setentrional -029=Caribe -030=\u00C1sia Oriental -034=\u00C1sia Meridional -035=\u00C1sia Centro-Oriental -039=Europa Meridional -053=Austr\u00E1lia e Nova Zel\u00E2ndia -054=Melan\u00E9sia -057=Regi\u00E3o da Micron\u00E9sia -061=Polin\u00E9sia -142=\u00C1sia -143=\u00C1sia Central -145=\u00C1sia Ocidental -150=Europa -151=Europa Oriental -154=Europa Setentrional -155=Europa Ocidental -419=Am\u00E9rica Latina e Caribe - -# variant names -# key is %%variant -# rarely localized - -%%EURO=Euro -%%B=Bokm\u00E5l -%%NY=Noruegu\u00EAs (Nynorsk) - - -# locale name patterns -# rarely localized - -DisplayNamePattern={0,choice,0#|1#{1}|2#{1} ({2})} -ListPattern={0,choice,0#|1#{1}|2#{1},{2}|3#{1},{2},{3}} -ListCompositionPattern={0},{1} +KP=Cor\u00e9ia do Norte +MK=Maced\u00f4nia +ZW=Zimb\u00e1bue
--- a/src/share/classes/sun/util/resources/LocaleNames_sv.properties Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/classes/sun/util/resources/LocaleNames_sv.properties Fri Jun 29 15:21:00 2012 +0100 @@ -1,4 +1,3 @@ -# # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # @@ -39,194 +38,194 @@ # language names # key is ISO 639 language code -aa=Afar -ab=Abchasiska +aa=afar +ab=abchasiska ae=Avestiska -af=Afrikaans +af=afrikaans ak=Akan -am=Amhariska -an=Aragonsk spanska -ar=Arabiska -as=Assamesiska -av=Avariskt spr\u00E5k -ay=Aymara -az=Azerbajdzjanska -ba=Basjkiriska -be=Vitryska -bg=Bulgariska -bh=Bihari -bi=Bislama +am=amhariska +an=Aragoniska +ar=arabiska +as=assamesiska +av=Avariska +ay=aymara +az=azerbadjanska +ba=bashkir +be=vitryska +bg=bulgariska +bh=bihari +bi=bislama bm=Bambara -bn=Bengali -bo=Tibetanska -br=Bretonska +bn=bengaliska +bo=tibetanska +br=bretagnska bs=Bosniska -ca=Katalanska +ca=katalan ce=Tjetjenska ch=Chamorro -co=Korsikanska +co=korsikanksa cr=Cree -cs=Tjeckiska +cs=tjeckiska cu=Kyrkoslaviska cv=Tjuvasjiska -cy=Kymriska -da=Danska -de=Tyska +cy=walesiska +da=danska +de=tyska dv=Divehi -dz=Bhutanesiska (Dzongkha) +dz=bhutanska ee=Ewe -el=Grekiska -en=Engelska -eo=Esperanto -es=Spanska -et=Estniska -eu=Baskiska -fa=Persiska +el=grekiska +en=engelska +eo=esperanto +es=spanska +et=estniska +eu=baskiska +fa=persiska ff=Fulani -fi=Finska -fj=Fidjianska -fo=F\u00E4r\u00F6iska -fr=Franska -fy=Frisiska -ga=Iriska -gd=Skotsk gaeliska -gl=Galiciska -gn=Guarani -gu=Gujarati +fi=finska +fj=fiji +fo=f\u00e4r\u00f6iska +fr=franska +fy=frisiska +ga=irl\u00e4ndska +gd=skotsk gaeliska +gl=galiciska +gn=guarani +gu=gujarati gv=Manx -ha=Haussa -he=Hebreiska -hi=Hindi +ha=hausa +he=hebreiska +hi=hindi ho=Hirimotu -hr=Kroatiska +hr=kroatiska ht=Haitiska -hu=Ungerska -hy=Armeniska +hu=ungerska +hy=armeniska hz=Herero -ia=Interlingua -id=Indonesiska -ie=Interlingue -ig=Ibo (Igbo) +ia=interlingua +id=indonesiska +ie=interlingue +ig=Igbo ii=Sichuan Yi -ik=Inupiaq -in=Indonesiska +ik=inupiak +in=indonesiska io=Ido -is=Isl\u00E4ndska -it=Italienska -iu=Inuktitut -iw=Hebreiska -ja=Japanska -ji=Jiddisch +is=isl\u00e4ndska +it=italienska +iu=inuktitut +iw=hebreiska +ja=japanska +ji=jiddish jv=Javanesiska -ka=Georgiska +ka=georgiska kg=Kikongo ki=Kikuyu kj=Kwanyama -kk=Kazakiska -kl=Gr\u00F6nl\u00E4ndska -km=Kambodjanska (Khmer) -kn=Kannada -ko=Koreanska +kk=kazakstanska +kl=gr\u00f6nl\u00e4ndska +km=kambodjanska +kn=kannada +ko=koreanska kr=Kanuri -ks=Kashmiri -ku=Kurdiska +ks=kashmiriska +ku=kurdiska kv=Komi kw=Korniska -ky=Kirgisiska -la=Latin +ky=kirgisiska +la=latin lb=Luxemburgiska lg=Luganda li=Limburgiska -ln=Lingala -lo=Laotiska -lt=Litauiska +ln=lingala +lo=laotiska +lt=litauiska lu=Luba-Katanga -lv=Lettiska -mg=Malagassiska +lv=lettiska +mg=malagas mh=Marshallesiska -mi=Maori -mk=Makedonska -ml=Malayalam -mn=Mongoliska -mo=Moldaviska -mr=Marathi -ms=Malajiska -mt=Maltesiska -my=Burmesiska -na=Nauru -nb=Norska, bokm\u00E5l -nd=Nordndebele -ne=Nepali +mi=maori +mk=makedoniska +ml=malayalam +mn=mongoliska +mo=moldaviska +mr=marathi +ms=malajiska +mt=maltesiska +my=burmesiska +na=nauru +nb=Norska (bokm\u00e5l) +nd=Ndebele (nord) +ne=nepaliska ng=Ndonga -nl=Nederl\u00E4ndska -nn=Norska (Nynorska) -no=Norska -nr=Sydndebele -nv=Navajo +nl=nederl\u00e4ndska +nn=Nynorska +no=norska +nr=Ndebele (syd) +nv=Navaho ny=Nyanja -oc=Occitanska -oj=Odjibwa (Chippewa) -om=Oromo -or=Oriya +oc=occitan +oj=Odjibwa +om=oromo (afan) +or=oriya os=Ossetiska -pa=Panjabi +pa=punjabiska pi=Pali -pl=Polska -ps=Pashto -pt=Portugisiska -qu=Quechua -rm=R\u00E4toromanska -rn=Rundi -ro=Rum\u00E4nska -ru=Ryska -rw=Rwanda -sa=Sanskrit +pl=polska +ps=pashto (pushto) +pt=portugisiska +qu=quechua +rm=r\u00e4tromanska +rn=kirundi +ro=rum\u00e4nska +ru=ryska +rw=kinyarwanda +sa=sanskrit sc=Sardiska -sd=Sindhi +sd=sindhi se=Nordsamiska -sg=Sango -si=Singalesiska -sk=Slovakiska -sl=Slovenska -sm=Samoanska -sn=Shona -so=Somaliska -sq=Albanska -sr=Serbiska -ss=Swazi -st=Sesotho -su=Sundanesiska -sv=Svenska -sw=Swahili -ta=Tamil -te=Telugo -tg=Tadzjikiska -th=Thail\u00E4ndska -ti=Tigrinja -tk=Turkmeniska -tl=Tagalog -tn=Tswana -to=Tonga -tr=Turkiska -ts=Tsonga -tt=Tatariska -tw=Twi +sg=sangho +si=singalese +sk=slovakiska +sl=slovenska +sm=samoa +sn=shona +so=somaliska +sq=albanska +sr=serbiska +ss=siswati +st=sesotho +su=sundanesiska +sv=svenska +sw=swahili +ta=tamil +te=telugu +tg=tadjekiska +th=thail\u00e4ndska +ti=tigrinya +tk=turkmeniska +tl=tagalog +tn=setswana +to=tonga +tr=turkiska +ts=tsonga +tt=tatariska +tw=twi ty=Tahitiska -ug=Uiguriska -uk=Ukrainska -ur=Urdu -uz=Uzbekiska +ug=uighur +uk=ukrainska +ur=urdu +uz=uzbekiska ve=Venda -vi=Vietnamesiska -vo=Volap\u00FCk +vi=vietnamesiska +vo=volapuk wa=Vallonska -wo=Wolof -xh=Xhosa -yi=Jiddisch -yo=Yoruba -za=Zhuang -zh=Kinesiska -zu=Zulu +wo=wolof +xh=xhosa +yi=jiddish +yo=yoruba +za=zhuang +zh=kinesiska +zu=zulu # key is ISO 639.2 language code aar=Afar @@ -578,7 +577,7 @@ pon=Pohnpeiska por=Portugisiska pra=Prakrit -pro=Provensalska, gammal (till 1500) +pro=Fornprovensalska (-1500) pus=Pashto que=Quechua raj=Rajasthani @@ -807,7 +806,7 @@ Narb=Nordlig fornarabiska Nbat=Nabataeiska Nkgb=Nakhi geba -Nkoo=N\u2019Ko +Nkoo=N'Ko Ogam=Ogham Olck=Ol chiki Orkh=Orkhon @@ -869,23 +868,23 @@ # key is ISO 3166 country code AD=Andorra -AE=F\u00F6renade Arabemiraten +AE=F\u00f6renade Arabemiraten AF=Afghanistan AG=Antigua och Barbuda AI=Anguilla AL=Albanien AM=Armenien -AN=Nederl\u00E4ndska Antillerna +AN=Nederl\u00e4ndska Antillerna AO=Angola AQ=Antarktis AR=Argentina -AS=Amerikanska Samoa\u00F6arna -AT=\u00D6sterrike +AS=Amerikanska Samoa +AT=\u00d6sterrike AU=Australien AW=Aruba -AX=\u00C5land -AZ=Azerbajdzjan -BA=Bosnien och Hercegovina +AX=\u00c5land +AZ=Azerbadjan +BA=Bosnien och Herzegovina BB=Barbados BD=Bangladesh BE=Belgien @@ -902,18 +901,18 @@ BR=Brasilien BS=Bahamas BT=Bhutan -BV=Bouvet\u00F6n +BV=Bouvet\u00f6n BW=Botswana BY=Vitryssland BZ=Belize CA=Kanada -CC=Kokos\u00F6arna +CC=Cocos\u00f6arna CD=Demokratiska republiken Kongo CF=Centralafrikanska republiken -CG=Kongo-Brazzaville +CG=Kongo CH=Schweiz CI=Elfenbenskusten -CK=Cook\u00F6arna +CK=Cook\u00f6arna CL=Chile CM=Kamerun CN=Kina @@ -923,9 +922,9 @@ CU=Kuba CV=Kap Verde CW=Cura\u00E7ao -CX=Jul\u00F6n +CX=Jul\u00f6n CY=Cypern -CZ=Tjeckien +CZ=Tjeckiska republiken DE=Tyskland DJ=Djibouti DK=Danmark @@ -935,15 +934,15 @@ EC=Ecuador EE=Estland EG=Egypten -EH=V\u00E4stsahara +EH=V\u00e4stra Sahara ER=Eritrea ES=Spanien ET=Etiopien FI=Finland FJ=Fiji -FK=Falklands\u00F6arna +FK=Falklands\u00f6arna FM=Mikronesien -FO=F\u00E4r\u00F6arna +FO=F\u00e4r\u00f6arna FR=Frankrike GA=Gabon GB=Storbritannien @@ -953,19 +952,19 @@ GG=Guernsey GH=Ghana GI=Gibraltar -GL=Gr\u00F6nland +GL=Gr\u00f6nland GM=Gambia GN=Guinea GP=Guadeloupe GQ=Ekvatorialguinea GR=Grekland -GS=Sydgeorgien och Sydsandwich\u00F6arna +GS=Sydgeorgien och Sydsandwich\u00f6arna GT=Guatemala GU=Guam GW=Guinea-Bissau GY=Guyana HK=Hongkong -HM=Heard-\u00F6n och McDonald-\u00F6arna +HM=Heard\u00f6ch McDonald\u00f6arna HN=Honduras HR=Kroatien HT=Haiti @@ -975,7 +974,7 @@ IL=Israel IM=Isle of Man IN=Indien -IO=Brittiska Indiska Ocean\u00F6arna +IO=Brittiska territoriet i Indiska Oceanen IQ=Irak IR=Iran IS=Island @@ -985,7 +984,7 @@ JO=Jordanien JP=Japan KE=Kenya -KG=Kirgizistan +KG=Kirgisistan KH=Kambodja KI=Kiribati KM=Komorerna @@ -993,11 +992,11 @@ KP=Nordkorea KR=Sydkorea KW=Kuwait -KY=Cayman\u00F6arna +KY=Cayman\u00f6arna KZ=Kazakstan LA=Laos LB=Libanon -LC=St Lucia +LC=Saint Lucia LI=Liechtenstein LK=Sri Lanka LR=Liberia @@ -1012,13 +1011,13 @@ ME=Montenegro MF=Saint-Martin MG=Madagaskar -MH=Marshall\u00F6arna +MH=Marshall\u00f6arna MK=Makedonien ML=Mali MM=Myanmar MN=Mongoliet MO=Macao -MP=Norra Marianer\u00F6arna +MP=Nordmarianerna MQ=Martinique MR=Mauretanien MS=Montserrat @@ -1028,14 +1027,14 @@ MW=Malawi MX=Mexiko MY=Malaysia -MZ=Mo\u00E7ambique +MZ=Mo\u00e7ambique NA=Namibia NC=Nya Kaledonien NE=Niger -NF=Norfolk\u00F6n +NF=Norfolk\u00f6n NG=Nigeria NI=Nicaragua -NL=Nederl\u00E4nderna +NL=Nederl\u00e4nderna NO=Norge NP=Nepal NR=Nauru @@ -1057,18 +1056,18 @@ PW=Palau PY=Paraguay QA=Qatar -RE=R\u00E9union -RO=Rum\u00E4nien +RE=R\u00e9union +RO=Rum\u00e4nien RS=Serbien RU=Ryssland RW=Rwanda SA=Saudiarabien -SB=Salomon\u00F6arna +SB=Salomon\u00f6arna SC=Seychellerna SD=Sudan SE=Sverige SG=Singapore -SH=St Helena +SH=Saint Helena SI=Slovenien SJ=Svalbard och Jan Mayen SK=Slovakien @@ -1077,19 +1076,19 @@ SN=Senegal SO=Somalia SR=Surinam -ST=Sao Tom\u00E9 och Pr\u00EDncipe +ST=S\u00e3o Tom\u00e9 och Pr\u00edncipe SV=El Salvador SX=Sint Maarten (nederl\u00E4ndska delen) SY=Syrien SZ=Swaziland -TC=Turks- och Caicos\u00F6arna +TC=Turks- och Caicos\u00f6arna TD=Tchad -TF=Franska Sydterritorierna +TF=Franska s\u00f6dra territorierna TG=Togo TH=Thailand TJ=Tadzjikistan -TK=Tokelau\u00F6arna -TL=\u00D6sttimor +TK=Tokelau +TL=Timor-Leste TM=Turkmenistan TN=Tunisien TO=Tonga @@ -1100,22 +1099,22 @@ TZ=Tanzania UA=Ukraina UG=Uganda -UM=F\u00F6renta staternas mindre \u00F6ar i Oceanien och V\u00E4stindien -US=USA +UM=F\u00f6renta staternas mindre \u00f6ar i Oceanien och V\u00e4stindien +US=Amerikas F\u00f6renta Stater UY=Uruguay UZ=Uzbekistan -VA=Vatikanstaten -VC=St Vincent och Grenadinerna +VA=Vatikanen +VC=Saint Vincent och Grenadinerna VE=Venezuela -VG=Brittiska Jungfru\u00F6arna -VI=Amerikanska Jungfru\u00F6arna +VG=Brittiska Virgin Islands +VI=Amerikanska Virgin Islands VN=Vietnam VU=Vanuatu -WF=Wallis- och Futuna\u00F6arna +WF=Wallis och Futuna WS=Samoa YE=Jemen YT=Mayotte -ZA=Sydafrika +ZA=Sydafrika ZM=Zambia ZW=Zimbabwe @@ -1152,19 +1151,3 @@ 154=Norra Europa 155=V\u00E4stra Europa 419=Latinamerika och Karibien - -# variant names -# key is %%variant -# rarely localized - -%%EURO=Euro -%%B=Bokm\u00E5l -%%NY=Nynorsk - - -# locale name patterns -# rarely localized - -DisplayNamePattern={0,choice,0#|1#{1}|2#{1} ({2})} -ListPattern={0,choice,0#|1#{1}|2#{1},{2}|3#{1},{2},{3}} -ListCompositionPattern={0},{1}
--- a/src/share/classes/sun/util/resources/LocaleNames_zh.properties Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/classes/sun/util/resources/LocaleNames_zh.properties Fri Jun 29 15:21:00 2012 +0100 @@ -1,4 +1,3 @@ -# # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # @@ -39,194 +38,194 @@ # language names # key is ISO 639 language code -aa=\u963F\u6CD5\u5C14\u6587 -ab=\u963F\u5E03\u54C8\u897F\u4E9A\u6587 -ae=\u963F\u7EF4\u65AF\u9640\u6587 -af=\u5357\u975E\u8377\u5170\u6587 -ak=\u5E93\u963F\u6587 -am=\u963F\u59C6\u54C8\u62C9\u6587 -an=\u963F\u62C9\u8D21\u6587 -ar=\u963F\u62C9\u4F2F\u6587 -as=\u963F\u8428\u59C6\u6587 -av=\u963F\u74E6\u5C14\u6587 -ay=\u827E\u9A6C\u62C9\u6587 -az=\u963F\u585E\u62DC\u7586\u6587 -ba=\u5DF4\u4EC0\u5BA2\u5C14\u6587 -be=\u767D\u4FC4\u7F57\u65AF\u6587 -bg=\u4FDD\u52A0\u5229\u4E9A\u6587 -bh=\u6BD4\u54C8\u5C14\u6587 -bi=\u6BD4\u65AF\u62C9\u9A6C\u6587 -bm=\u73ED\u5DF4\u62C9\u6587 -bn=\u5B5F\u52A0\u62C9\u6587 -bo=\u897F\u85CF\u6587 -br=\u5E03\u91CC\u591A\u5C3C\u6587 -bs=\u6CE2\u65AF\u5C3C\u4E9A\u6587 -ca=\u52A0\u6CF0\u7F57\u5C3C\u4E9A\u6587 -ce=\u8F66\u81E3\u6587 -ch=\u67E5\u83AB\u7F57\u6587 -co=\u79D1\u897F\u5609\u6587 -cr=\u514B\u91CC\u6587 -cs=\u6377\u514B\u6587 -cu=\u6559\u4F1A\u65AF\u62C9\u592B\u6587 -cv=\u695A\u74E6\u4EC0\u6587 -cy=\u5A01\u5C14\u58EB\u6587 -da=\u4E39\u9EA6\u6587 -de=\u5FB7\u6587 -dv=\u8FEA\u7EF4\u5E0C\u6587 -dz=\u4E0D\u4E39\u6587 -ee=\u57C3\u7EF4\u6587 -el=\u5E0C\u814A\u6587 -en=\u82F1\u6587 -eo=\u4E16\u754C\u6587 -es=\u897F\u73ED\u7259\u6587 -et=\u7231\u6C99\u5C3C\u4E9A\u6587 -eu=\u5DF4\u65AF\u514B\u6587 -fa=\u6CE2\u65AF\u6587 -ff=\u5BCC\u62C9\u6587 -fi=\u82AC\u5170\u6587 -fj=\u6590\u6D4E\u6587 -fo=\u6CD5\u7F57\u6587 -fr=\u6CD5\u6587 -fy=\u5F17\u91CC\u65AF\u5170\u6587 -ga=\u7231\u5C14\u5170\u6587 -gd=\u82CF\u683C\u5170-\u76D6\u5C14\u6587 -gl=\u52A0\u5229\u897F\u4E9A\u6587 -gn=\u74DC\u62C9\u5C3C\u6587 -gu=\u53E4\u52A0\u62C9\u63D0\u6587 -gv=\u9A6C\u6069\u6587 -ha=\u8C6A\u6492\u6587 -he=\u5E0C\u4F2F\u6765\u6587 +aa=\u963f\u6cd5\u6587 +ab=\u963f\u5e03\u54c8\u897f\u4e9a\u6587 +ae=\u963f\u7ef4\u65af\u9640\u6587 +af=\u5357\u975e\u8377\u5170\u6587 +ak=\u5e93\u963f\u6587 +am=\u963f\u59c6\u54c8\u62c9\u6587 +an=\u963f\u62c9\u8d21\u6587 +ar=\u963f\u62c9\u4f2f\u6587 +as=\u963f\u8428\u59c6\u6587 +av=\u963f\u74e6\u5c14\u6587 +ay=\u827e\u9a6c\u62c9\u6587 +az=\u963f\u585e\u62dc\u7586\u6587 +ba=\u5df4\u4ec0\u5ba2\u5c14\u6587 +be=\u767d\u4fc4\u7f57\u65af\u6587 +bg=\u4fdd\u52a0\u5229\u4e9a\u6587 +bh=\u6bd4\u54c8\u5c14\u6587 +bi=\u6bd4\u65af\u62c9\u9a6c\u6587 +bm=\u73ed\u5df4\u62c9\u6587 +bn=\u5b5f\u52a0\u62c9\u6587 +bo=\u897f\u85cf\u6587 +br=\u5e03\u91cc\u591a\u5c3c\u6587 +bs=\u6ce2\u65af\u5c3c\u4e9a\u6587 +ca=\u52a0\u6cf0\u7f57\u5c3c\u4e9a\u6587 +ce=\u8f66\u81e3\u6587 +ch=\u67e5\u83ab\u7f57\u6587 +co=\u79d1\u897f\u5609\u6587 +cr=\u514b\u91cc\u6587 +cs=\u6377\u514b\u6587 +cu=\u6559\u4f1a\u65af\u62c9\u592b\u6587 +cv=\u695a\u74e6\u4ec0\u6587 +cy=\u5a01\u5c14\u58eb\u6587 +da=\u4e39\u9ea6\u6587 +de=\u5fb7\u6587 +dv=\u8fea\u7ef4\u5e0c\u6587 +dz=\u4e0d\u4e39\u6587 +ee=\u57c3\u7ef4\u6587 +el=\u5e0c\u814a\u6587 +en=\u82f1\u6587 +eo=\u4e16\u754c\u6587 +es=\u897f\u73ed\u7259\u6587 +et=\u7231\u6c99\u5c3c\u4e9a\u6587 +eu=\u5df4\u65af\u514b\u6587 +fa=\u6ce2\u65af\u6587 +ff=\u5bcc\u62c9\u6587 +fi=\u82ac\u5170\u6587 +fj=\u6590\u6d4e\u6587 +fo=\u6cd5\u7f57\u6587 +fr=\u6cd5\u6587 +fy=\u5f17\u91cc\u65af\u5170\u6587 +ga=\u7231\u5c14\u5170\u6587 +gd=\u82cf\u683c\u5170- \u76d6\u5c14\u6587 +gl=\u52a0\u5229\u897f\u4e9a\u6587 +gn=\u74dc\u62c9\u5c3c\u6587 +gu=\u53e4\u52a0\u62c9\u63d0\u6587 +gv=\u9a6c\u6069\u6587 +ha=\u8c6a\u6492\u6587 +he=\u5e0c\u4f2f\u6765\u6587 hi=\u5370\u5730\u6587 -ho=\u65B0\u91CC\u6728\u6258\u6587 -hr=\u514B\u7F57\u5730\u4E9A\u6587 -ht=\u6D77\u5730\u6587 +ho=\u65b0\u91cc\u6728\u6258\u6587 +hr=\u514b\u7f57\u5730\u4e9a\u6587 +ht=\u6d77\u5730\u6587 hu=\u5308\u7259\u5229\u6587 -hy=\u4E9A\u7F8E\u5C3C\u4E9A\u6587 -hz=\u8D6B\u96F7\u7F57\u6587 -ia=\u62C9\u4E01\u56FD\u9645\u6587 -id=\u5370\u5EA6\u5C3C\u897F\u4E9A\u6587 -ie=\u62C9\u4E01\u56FD\u9645\u6587 -ig=\u4F0A\u535A\u6587 -ii=\u56DB\u5DDD\u5F5D\u6587 -ik=\u4F9D\u5974\u76AE\u7EF4\u514B\u6587 -in=\u5370\u5EA6\u5C3C\u897F\u4E9A\u6587 -io=\u4F0A\u591A\u6587 -is=\u51B0\u5C9B\u6587 -it=\u610F\u5927\u5229\u6587 -iu=\u7231\u65AF\u57FA\u6469\u6587 -iw=\u5E0C\u4F2F\u6765\u6587 -ja=\u65E5\u6587 -ji=\u4F9D\u5730\u6587 -jv=\u722A\u54C7\u6587 -ka=\u683C\u9C81\u5409\u4E9A\u6587 -kg=\u521A\u679C\u6587 -ki=\u5409\u5E93\u5C24\u6587 -kj=\u5361\u6E7E\u4E9A\u9A6C\u6587 -kk=\u54C8\u8428\u514B\u6587 -kl=\u683C\u9675\u5170\u6587 -km=\u67EC\u57D4\u5BE8\u6587 -kn=\u57C3\u7EB3\u5FB7\u6587 -ko=\u671D\u9C9C\u6587 -kr=\u5361\u52AA\u91CC\u6587 -ks=\u514B\u4EC0\u7C73\u5C14\u6587 -ku=\u5E93\u5C14\u5FB7\u6587 -kv=\u79D1\u7C73\u6587 -kw=\u5EB7\u6C83\u5C14\u6587 -ky=\u5409\u5C14\u5409\u65AF\u6587 -la=\u62C9\u4E01\u6587 -lb=\u5362\u68EE\u5821\u6587 -lg=\u5E72\u8FBE\u6587 +hy=\u4e9a\u7f8e\u5c3c\u4e9a\u6587 +hz=\u8d6b\u96f7\u7f57\u6587 +ia=\u62c9\u4e01\u56fd\u9645\u6587 +id=\u5370\u5ea6\u5c3c\u897f\u4e9a\u6587 +ie=\u62c9\u4e01\u56fd\u9645\u6587 +ig=\u4f0a\u535a\u6587 +ii=\u56db\u5ddd\u5f5d\u6587 +ik=\u4f9d\u5974\u76ae\u7ef4\u514b\u6587 +in=\u5370\u5ea6\u5c3c\u897f\u4e9a\u6587 +io=\u4f0a\u591a\u6587 +is=\u51b0\u5c9b\u6587 +it=\u610f\u5927\u5229\u6587 +iu=\u7231\u65af\u57fa\u6469\u6587 +iw=\u5e0c\u4f2f\u6765\u6587 +ja=\u65e5\u6587 +ji=\u4f9d\u5730\u6587 +jv=\u722a\u54c7\u6587 +ka=\u683c\u9c81\u5409\u4e9a\u6587 +kg=\u521a\u679c\u6587 +ki=\u5409\u5e93\u5c24\u6587 +kj=\u5361\u6e7e\u4e9a\u9a6c\u6587 +kk=\u54c8\u8428\u514b\u6587 +kl=\u683c\u9675\u5170\u6587 +km=\u67ec\u57d4\u5be8\u6587 +kn=\u57c3\u7eb3\u5fb7\u6587 +ko=\u671d\u9c9c\u6587 +kr=\u5361\u52aa\u91cc\u6587 +ks=\u514b\u4ec0\u7c73\u5c14\u6587 +ku=\u5e93\u5c14\u5fb7\u6587 +kv=\u79d1\u7c73\u6587 +kw=\u5eb7\u6c83\u5c14\u6587 +ky=\u5409\u5c14\u5409\u65af\u6587 +la=\u62c9\u4e01\u6587 +lb=\u5362\u68ee\u5821\u6587 +lg=\u5e72\u8fbe\u6587 li=\u6797\u5821\u6587 -ln=\u6797\u52A0\u62C9\u6587 -lo=\u8001\u631D\u6587 -lt=\u7ACB\u9676\u5B9B\u6587 -lu=\u5362\u5DF4-\u52A0\u4E39\u52A0\u6587 -lv=\u62C9\u6258\u7EF4\u4E9A\u6587 (\u5217\u6258) -mg=\u9A6C\u5C14\u52A0\u4EC0\u6587 -mh=\u9A6C\u7ECD\u5C14\u6587 -mi=\u6BDB\u5229\u6587 -mk=\u9A6C\u5176\u987F\u6587 -ml=\u9A6C\u6765\u4E9A\u62C9\u59C6\u6587 -mn=\u8499\u53E4\u6587 -mo=\u6469\u5C14\u591A\u74E6\u6587 -mr=\u9A6C\u62C9\u5730\u6587 -ms=\u9A6C\u6765\u6587 -mt=\u9A6C\u8033\u4ED6\u6587 -my=\u7F05\u7538\u6587 -na=\u7459\u9C81\u6587 -nb=\u632A\u5A01\u535A\u514B\u9A6C\u5C14\u6587 -nd=\u5317\u6069\u5FB7\u6BD4\u5229\u6587 -ne=\u5C3C\u6CCA\u5C14\u6587 -ng=\u6069\u4E1C\u52A0\u6587 +ln=\u6797\u52a0\u62c9\u6587 +lo=\u8001\u631d\u6587 +lt=\u7acb\u9676\u5b9b\u6587 +lu=\u5362\u5df4-\u52a0\u4e39\u52a0 +lv=\u62c9\u6258\u7ef4\u4e9a\u6587(\u5217\u6258) +mg=\u9a6c\u5c14\u52a0\u4ec0\u6587 +mh=\u9a6c\u7ecd\u5c14\u6587 +mi=\u6bdb\u5229\u6587 +mk=\u9a6c\u5176\u987f\u6587 +ml=\u9a6c\u6765\u4e9a\u62c9\u59c6\u6587 +mn=\u8499\u53e4\u6587 +mo=\u6469\u5c14\u591a\u74e6\u6587 +mr=\u9a6c\u62c9\u5730\u6587 +ms=\u9a6c\u6765\u6587 +mt=\u9a6c\u8033\u4ed6\u6587 +my=\u7f05\u7538\u6587 +na=\u7459\u9c81\u6587 +nb=\u632a\u5a01\u535a\u514b\u9a6c\u5c14\u6587 +nd=\u5317\u6069\u5fb7\u6bd4\u5229\u6587 +ne=\u5c3c\u6cca\u5c14\u6587 +ng=\u6069\u4e1c\u52a0\u6587 nl=\u8377\u5170\u6587 -nn=\u632A\u5A01\u5C3C\u8BFA\u65AF\u514B\u6587 -no=\u632A\u5A01\u6587 -nr=\u5357\u6069\u5FB7\u6BD4\u5229\u6587 -nv=\u7EB3\u74E6\u970D\u6587 -ny=\u5C3C\u626C\u624E\u6587 -oc=\u5965\u897F\u5766\u6587 -oj=\u5965\u5409\u5E03\u74E6\u6587 -om=\u963F\u66FC\u6587 -or=\u6B27\u91CC\u4E9A\u6587 -os=\u5965\u585E\u68AF\u6587 -pa=\u65C1\u906E\u666E\u6587 -pi=\u5DF4\u5229\u6587 -pl=\u6CE2\u5170\u6587 -ps=\u666E\u4EC0\u56FE\u6587 +nn=\u632a\u5a01\u5c3c\u8bfa\u65af\u514b\u6587 +no=\u632a\u5a01\u6587 +nr=\u5357\u6069\u5fb7\u6bd4\u5229\u6587 +nv=\u7eb3\u74e6\u970d\u6587 +ny=\u5c3c\u626c\u624e\u6587 +oc=\u5965\u897f\u5766\u6587 +oj=\u5965\u5409\u5e03\u74e6\u6587 +om=\u963f\u66fc\u6587 +or=\u6b27\u91cc\u4e9a\u6587 +os=\u5965\u585e\u68af\u6587 +pa=\u65c1\u906e\u666e\u6587 +pi=\u5df4\u5229\u6587 +pl=\u6ce2\u5170\u6587 +ps=\u666e\u4ec0\u56fe\u6587 pt=\u8461\u8404\u7259\u6587 -qu=\u76D6\u4E18\u4E9A\u6587 -rm=\u91CC\u6258\u7F57\u66FC\u65AF\u6587 -rn=\u57FA\u9686\u8FEA\u6587 -ro=\u7F57\u9A6C\u5C3C\u4E9A\u6587 -ru=\u4FC4\u6587 -rw=\u5362\u65FA\u8FBE\u6587 -sa=\u68B5\u6587 -sc=\u6492\u4E01\u6587 -sd=\u4FE1\u5FB7\u6587 -se=\u5317\u6C99\u5BC6\u6587 +qu=\u76d6\u4e18\u4e9a\u6587 +rm=\u91cc\u6258\u7f57\u66fc\u65af\u6587 +rn=\u57fa\u9686\u8fea\u6587 +ro=\u7f57\u9a6c\u5c3c\u4e9a\u6587 +ru=\u4fc4\u6587 +rw=\u5362\u65fa\u8fbe\u6587 +sa=\u68b5\u6587 +sc=\u6492\u4e01\u6587 +sd=\u82cf\u4e39\u6587 +se=\u5317\u6c99\u5bc6\u6587 sg=\u6851\u6208\u6587 -si=\u50E7\u4F3D\u7F57\u6587 -sk=\u65AF\u6D1B\u4F10\u514B\u6587 -sl=\u65AF\u6D1B\u6587\u5C3C\u4E9A\u6587 -sm=\u8428\u6469\u4E9A\u6587 -sn=\u4FEE\u7EB3\u6587 -so=\u7D22\u9A6C\u91CC\u6587 -sq=\u963F\u5C14\u5DF4\u5C3C\u4E9A\u6587 -sr=\u585E\u5C14\u7EF4\u4E9A\u6587 -ss=\u65AF\u74E6\u7279\u6587 -st=\u585E\u7D22\u6258\u6587 -su=\u5DFD\u4ED6\u6587 -sv=\u745E\u5178\u6587 -sw=\u65AF\u74E6\u5E0C\u91CC\u6587 -ta=\u6CF0\u7C73\u5C14\u6587 -te=\u6CF0\u5362\u56FA\u6587 -tg=\u5854\u5409\u514B\u6587 -th=\u6CF0\u6587 -ti=\u63D0\u683C\u91CC\u5C3C\u4E9A\u6587 -tk=\u571F\u5E93\u66FC\u6587 -tl=\u5854\u52A0\u8DEF\u65CF\u6587 -tn=\u7A81\u5C3C\u65AF\u6587 -to=\u6C64\u52A0\u6587 -tr=\u571F\u8033\u5176\u6587 -ts=\u7279\u677E\u52A0\u6587 -tt=\u9791\u977C\u6587 -tw=\u5951\u7EF4\u6587 -ty=\u5854\u5E0C\u63D0\u6587 -ug=\u7EF4\u543E\u5C14\u6587 -uk=\u4E4C\u514B\u5170\u6587 -ur=\u4E4C\u5C14\u90FD\u6587 -uz=\u4E4C\u5179\u522B\u514B\u6587 -ve=\u6587\u8FBE\u6587 -vi=\u8D8A\u5357\u6587 -vo=\u6C83\u62C9\u666E\u514B\u6587 -wa=\u74E6\u9F99\u6587 -wo=\u6C83\u5C14\u592B\u6587 -xh=\u73ED\u56FE\u6587 -yi=\u4F9D\u5730\u6587 -yo=\u7EA6\u9C81\u5DF4\u6587 -za=\u58EE\u6587 -zh=\u4E2D\u6587 -zu=\u7956\u9C81\u6587 +si=\u50e7\u4f3d\u7f57\u6587 +sk=\u65af\u6d1b\u4f10\u514b\u6587 +sl=\u65af\u6d1b\u6587\u5c3c\u4e9a\u6587 +sm=\u8428\u6469\u4e9a\u6587 +sn=\u585e\u5185\u52a0\u5c14\u6587 +so=\u7d22\u9a6c\u91cc\u6587 +sq=\u963f\u5c14\u5df4\u5c3c\u4e9a\u6587 +sr=\u585e\u5c14\u7ef4\u4e9a\u6587 +ss=\u8f9b\u8f9b\u90a3\u63d0\u6587 +st=\u585e\u7d22\u6258\u6587 +su=\u82cf\u4e39\u6587 +sv=\u745e\u5178\u6587 +sw=\u65af\u74e6\u5e0c\u91cc\u6587 +ta=\u6cf0\u7c73\u5c14\u6587 +te=\u6cf0\u5362\u56fa\u6587 +tg=\u5854\u5409\u514b\u6587 +th=\u6cf0\u6587 +ti=\u63d0\u683c\u91cc\u5c3c\u4e9a\u6587 +tk=\u571f\u5e93\u66fc\u6587 +tl=\u5854\u52a0\u8def\u65cf\u6587 +tn=\u7a81\u5c3c\u65af\u6587 +to=\u6c64\u52a0\u6587 +tr=\u571f\u8033\u5176\u6587 +ts=\u7279\u677e\u52a0\u6587 +tt=\u9791\u977c\u6587 +tw=\u5951\u7ef4\u6587 +ty=\u5854\u5e0c\u63d0\u6587 +ug=\u7ef4\u543e\u5c14\u6587 +uk=\u4e4c\u514b\u5170\u6587 +ur=\u4e4c\u5c14\u90fd\u6587 +uz=\u4e4c\u5179\u522b\u514b\u6587 +ve=\u6587\u8fbe\u6587 +vi=\u8d8a\u5357\u6587 +vo=\u6c83\u62c9\u666e\u514b\u6587 +wa=\u74e6\u9f99\u6587 +wo=\u6c83\u5c14\u592b\u6587 +xh=\u73ed\u56fe\u6587 +yi=\u4f9d\u5730\u6587 +yo=\u7ea6\u9c81\u5df4\u6587 +za=\u85cf\u6587 +zh=\u4e2d\u6587 +zu=\u7956\u9c81\u6587 # key is ISO 639.2 language code aar=\u963F\u6CD5\u5C14\u6587 @@ -247,7 +246,7 @@ alt=\u5357\u963F\u5C14\u6CF0\u6587 amh=\u963F\u59C6\u54C8\u62C9\u6587 ang=\u53E4\u82F1\u6587 -anp=\u6602\u52A0\u6587 +anp=\u6602\u52A0\u8BED apa=\u963F\u5E15\u5207\u6587 ara=\u963F\u62C9\u4F2F\u6587 arc=\u963F\u62C9\u7C73\u6587 @@ -271,7 +270,7 @@ bak=\u5DF4\u4EC0\u5BA2\u5C14\u6587 bal=\u4FFE\u8DEF\u652F\u6587 bam=\u73ED\u5DF4\u62C9\u6587 -ban=\u5DF4\u91CC\u6587 +ban=\u5DF4\u5398\u8BED baq=\u5DF4\u65AF\u514B\u6587 bas=\u5DF4\u8428\u6587 bat=\u5176\u4ED6\u6CE2\u7F57\u7684\u8BED\u7CFB @@ -290,9 +289,9 @@ bos=\u6CE2\u65AF\u5C3C\u4E9A\u6587 bra=\u5E03\u62C9\u6770\u6587 bre=\u5E03\u91CC\u591A\u5C3C\u6587 -btk=\u5DF4\u5854\u514B\u6587 +btk=\u5DF4\u5854\u514B\u8BED bua=\u5E03\u91CC\u4E9A\u7279\u6587 -bug=\u5E03\u5409\u6587 +bug=\u5E03\u5409\u8BED bul=\u4FDD\u52A0\u5229\u4E9A\u6587 bur=\u7F05\u7538\u6587 byn=\u5E03\u6797\u6587 @@ -318,7 +317,7 @@ chv=\u695A\u74E6\u4EC0\u6587 chy=\u590F\u5EF6\u6587 cmc=\u67E5\u7C73\u514B\u6587 -cop=\u514B\u666E\u7279\u6587 +cop=\u79D1\u666E\u7279\u6587 cor=\u5EB7\u6C83\u5C14\u6587 cos=\u79D1\u897F\u5609\u6587 cpe=\u5176\u4ED6\u4EE5\u82F1\u6587\u4E3A\u57FA\u7840\u7684\u514B\u91CC\u5965\u5C14\u6DF7\u5408\u8BED\u7CFB @@ -368,9 +367,9 @@ fre=\u6CD5\u6587 frm=\u4E2D\u53E4\u6CD5\u6587 fro=\u53E4\u6CD5\u6587 -frr=\u5317\u5F17\u91CC\u897F\u4E9A\u6587 +frr=\u5317\u5F17\u91CC\u897F\u4E9A\u8BED frs=\u4E1C\u5F17\u91CC\u897F\u4E9A\u6587 -fry=\u897F\u5F17\u91CC\u65AF\u5170\u6587 +fry=\u897F\u5F17\u91CC\u65AF\u5170\u8BED ful=\u5BCC\u62C9\u6587 fur=\u5F17\u7559\u5229\u6587 gaa=\u52A0\u6587 @@ -381,7 +380,7 @@ ger=\u5FB7\u6587 gez=\u5409\u5179\u6587 gil=\u5409\u5C14\u4F2F\u7279\u65AF\u6587 -gla=\u76D6\u5C14\u6587 +gla=\u76D6\u5C14\u8BED gle=\u7231\u5C14\u5170\u6587 glg=\u52A0\u5229\u897F\u4E9A\u6587 glv=\u9A6C\u6069\u6587 @@ -392,7 +391,7 @@ got=\u54E5\u7279\u6587 grb=\u683C\u5217\u535A\u6587 grc=\u53E4\u5E0C\u814A\u6587 -gre=\u73B0\u4EE3\u5E0C\u814A\u6587 +gre=\u5E0C\u814A\u8BED, \u73B0\u4EE3 (1453-) grn=\u74DC\u62C9\u5C3C\u6587 gsw=\u745E\u58EB\u5FB7\u6587 guj=\u53E4\u52A0\u62C9\u63D0\u6587 @@ -422,7 +421,7 @@ iku=\u7231\u65AF\u57FA\u6469\u6587 ile=\u62C9\u4E01\u56FD\u9645\u6587 ilo=\u4F0A\u6D1B\u5E72\u8BFA\u6587 -ina=\u62C9\u4E01\u56FD\u9645\u6587 (\u56FD\u9645\u8F85\u52A9\u8BED\u8054\u76DF) +ina=\u62C9\u4E01\u56FD\u9645\u8BED (\u56FD\u9645\u8F85\u52A9\u8BED\u8054\u76DF) inc=\u5176\u4ED6\u5370\u5EA6\u8BED\u7CFB ind=\u5370\u5EA6\u5C3C\u897F\u4E9A\u6587 ine=\u5176\u4ED6\u5370\u6B27\u8BED\u7CFB @@ -441,7 +440,7 @@ kac=\u5361\u7434\u6587 kal=\u683C\u9675\u5170\u6587 kam=\u5361\u59C6\u5DF4\u6587 -kan=\u57C3\u7EB3\u5FB7\u6587 +kan=\u5361\u7EB3\u5854\u514B\u8BED kar=\u5580\u4F26\u6587 kas=\u514B\u4EC0\u7C73\u5C14\u6587 kau=\u5361\u52AA\u91CC\u6587 @@ -450,7 +449,7 @@ kbd=\u5361\u5DF4\u5C14\u8FBE\u6587 kha=\u5361\u897F\u6587 khi=\u5176\u4ED6\u79D1\u4F0A\u6851\u8BED\u7CFB -khm=\u4E2D\u9AD8\u68C9\u6587 +khm=\u4E2D\u9AD8\u68C9\u8BED kho=\u548C\u7530\u6587 kik=\u5409\u5E93\u5C24\u6587 kin=\u5362\u65FA\u8FBE\u6587 @@ -459,14 +458,14 @@ kok=\u521A\u5361\u5C3C\u6587 kom=\u79D1\u7C73\u6587 kon=\u521A\u679C\u6587 -kor=\u97E9\u6587 +kor=\u671D\u9C9C\u6587 kos=\u79D1\u65AF\u62C9\u4F0A\u6587 -kpe=\u514B\u4F69\u5217\u6587 +kpe=\u514B\u4F69\u52D2\u8BED krc=\u5361\u62C9\u6070\u4F0A\u5DF4\u5C14\u5361\u5C14\u6587 krl=\u5361\u7D2F\u5229\u963F\u6587 kro=\u514B\u9C81\u6587 kru=\u5E93\u9C81\u514B\u6587 -kua=\u5BBD\u4E9A\u739B\u6587 +kua=\u5BBD\u4E9A\u739B\u8BED kum=\u5E93\u6885\u514B\u6587 kur=\u5E93\u5C14\u5FB7\u6587 kut=\u5E93\u7279\u5185\u6587 @@ -501,10 +500,10 @@ mao=\u6BDB\u5229\u6587 map=\u6FB3\u65AF\u7279\u7F57\u5C3C\u897F\u4E9A\u8BED\u7CFB mar=\u9A6C\u62C9\u5730\u6587 -mas=\u8428\u4F0A\u6587 +mas=\u8428\u4F0A\u8BED may=\u9A6C\u6765\u6587 mdf=\u83AB\u514B\u6C99\u6587 -mdr=\u66FC\u8FBE\u6587 +mdr=\u66FC\u8FBE\u5C14 men=\u95E8\u8FEA\u6587 mga=\u4E2D\u53E4\u7231\u5C14\u5170\u6587 mic=\u7C73\u514B\u9A6C\u514B\u6587 @@ -531,8 +530,8 @@ nap=\u62FF\u6CE2\u91CC\u6587 nau=\u7459\u9C81\u6587 nav=\u7EB3\u74E6\u970D\u6587 -nbl=\u5357\u6069\u5FB7\u6BD4\u5229\u6587 -nde=\u5317\u6069\u5FB7\u6BD4\u5229\u6587 +nbl=\u6069\u5FB7\u8D1D\u52D2\u8BED, \u5357\u90E8 +nde=\u6069\u5FB7\u8D1D\u52D2\u8BED, \u5317\u90E8 ndo=\u6069\u4E1C\u52A0\u6587 nds=\u4F4E\u5730\u5FB7\u6587; \u4F4E\u5730\u6492\u514B\u900A\u6587 nep=\u5C3C\u6CCA\u5C14\u6587 @@ -541,15 +540,15 @@ nic=\u5C3C\u52A0\u62C9\u74DC\u79D1\u591A\u5DF4 niu=\u7EBD\u57C3\u6587 nno=\u632A\u5A01\u5C3C\u8BFA\u65AF\u514B\u6587 -nob=\u632A\u5A01\u535A\u514B\u9A6C\u5C14\u6587 +nob=\u632A\u5A01\u535A\u514B\u9A6C\u5C14\u8BED nog=\u8BFA\u76D6\u6587 non=\u53E4\u8BFA\u5C14\u65AF\u6587 nor=\u632A\u5A01\u6587 -nqo=N'Ko (\u897F\u975E\u4E66\u9762\u8BED\u8A00) +nqo=N\u2019Ko (\u897F\u975E\u4E66\u9762\u8BED\u8A00) nso=\u5317\u7D22\u6258\u6587 nub=\u52AA\u6BD4\u4E9A\u8BED\u7CFB nwc=\u5C3C\u74E6\u5C14\u6587 -nya=\u9F50\u5207\u74E6\u6587 +nya=\u9F50\u5207\u74E6\u8BED nym=\u5C3C\u4E9A\u59C6\u97E6\u9F50\u6587 nyn=\u5C3C\u6602\u79D1\u52D2\u6587 nyo=\u5C3C\u7EA6\u7F57\u6587 @@ -558,18 +557,18 @@ oji=\u5965\u5409\u5E03\u74E6\u6587 ori=\u6B27\u91CC\u4E9A\u6587 orm=\u963F\u66FC\u6587 -osa=\u5965\u8428\u683C\u6587 +osa=\u5965\u8428\u683C\u8BED oss=\u5965\u585E\u68AF\u6587 ota=\u5965\u6258\u66FC\u571F\u8033\u5176\u6587 oto=\u5965\u6258\u7C73\u8BED\u7CFB paa=\u5176\u4ED6\u5DF4\u5E03\u4E9A\u6587 -pag=\u90A6\u963F\u897F\u6960\u6587 +pag=\u90A6\u963F\u897F\u6960\u8BED pal=\u5E15\u62C9\u7EF4\u6587 pam=\u90A6\u677F\u7259\u6587 pan=\u65C1\u906E\u666E\u6587 pap=\u5E15\u76AE\u4E9A\u95E8\u6258\u6587 pau=\u5E15\u52B3\u6587 -peo=\u53E4\u8001\u6CE2\u65AF\u6587 +peo=\u53E4\u8001\u6CE2\u65AF\u8BED per=\u6CE2\u65AF\u6587 phi=\u5176\u4ED6\u83F2\u5F8B\u5BBE\u8BED\u7CFB phn=\u8153\u5C3C\u57FA\u6587 @@ -578,14 +577,14 @@ pon=\u6CE2\u7EB3\u4F69\u6587 por=\u8461\u8404\u7259\u6587 pra=\u666E\u62C9\u514B\u91CC\u7279\u8BF8\u8BED\u8A00 -pro=\u53E4\u666E\u7F57\u65FA\u65AF\u6587 (\u81F3 1500 \u5E74) +pro=\u666E\u7F57\u6587\u65AF\u6587 pus=\u666E\u4EC0\u56FE\u6587 que=\u76D6\u4E18\u4E9A\u6587 raj=\u62C9\u8D3E\u65AF\u5766\u6587 rap=\u62C9\u5E15\u52AA\u4F0A\u6587 rar=\u62C9\u7F57\u6C64\u52A0\u6587 roa=\u5176\u4ED6\u62C9\u4E01\u8BED\u7CFB -roh=\u7F57\u66FC\u4EC0\u6587 +roh=\u7F57\u66FC\u4EC0\u8BED rom=\u5409\u666E\u8D5B\u6587 rum=\u7F57\u9A6C\u5C3C\u4E9A\u6587 run=\u57FA\u9686\u8FEA\u6587 @@ -608,7 +607,7 @@ sgn=\u624B\u8BED shn=\u63B8\u6587 sid=\u6089\u8FBE\u6469\u6587 -sin=\u8F9B\u54C8\u62C9\u6587 +sin=\u8F9B\u54C8\u62C9\u8BED sio=\u82CF\u8BED\u8BF8\u8BED\u8A00 sit=\u6C49\u85CF\u8BF8\u8BED\u8A00 sla=\u5176\u4ED6\u65AF\u62C9\u592B\u8BED\u7CFB @@ -617,20 +616,20 @@ sma=\u5357\u8428\u7C73\u6587 sme=\u5317\u6C99\u5BC6\u6587 smi=\u5176\u4ED6\u8428\u7C73\u6587 -smj=\u5F8B\u52D2\u6B27\u8428\u83AB\u65AF\u6587 -smn=\u4F0A\u7EB3\u91CC\u8428\u7C73\u6587 +smj=\u5F8B\u52D2\u6B27\u8428\u83AB\u65AF\u8BED +smn=\u4F0A\u7EB3\u91CC\u8428\u7C73\u8BED smo=\u8428\u6469\u4E9A\u6587 sms=\u65AF\u79D1\u7279\u8428\u7C73\u6587 sna=\u4FEE\u7EB3\u6587 snd=\u4FE1\u5FB7\u6587 snk=\u7D22\u5C3C\u57FA\u6587 -sog=\u53E4\u7C9F\u7279\u6587 +sog=\u53E4\u7C9F\u7279\u8BED som=\u7D22\u9A6C\u91CC\u6587 son=\u6851\u6D77\u6587 -sot=\u585E\u7D22\u6258\u6587 +sot=\u7D22\u6258\u8BED, \u5357\u90E8 spa=\u897F\u73ED\u7259\u6587 srd=\u6492\u4E01\u6587 -srn=\u82CF\u91CC\u5357\u6C64\u52A0\u6587 +srn=Sranan Tongo (\u6E90\u4E8E\u514B\u91CC\u5965\u5C14\u8BED) srp=\u585E\u5C14\u7EF4\u4E9A\u6587 srr=\u8C22\u5217\u5C14\u6587 ssa=\u975E\u6D32\u6492\u54C8\u62C9\u6C99\u6F20\u8FB9\u7F18\u5730\u5E26\u8BED\u8A00 @@ -641,14 +640,14 @@ sux=\u82CF\u9A6C\u6587 swa=\u65AF\u74E6\u5E0C\u91CC\u6587 swe=\u745E\u5178\u6587 -syc=\u53E4\u5178\u53D9\u5229\u4E9A\u6587 -syr=\u53D9\u5229\u4E9A\u6587 +syc=\u53E4\u5178\u53D9\u5229\u4E9A\u8BED +syr=\u53D9\u5229\u4E9A\u8BED tah=\u5854\u5E0C\u63D0\u6587 tai=\u50A3\u8BED\u8BF8\u8BED\u8A00 (\u5176\u4ED6) tam=\u6CF0\u7C73\u5C14\u6587 tat=\u9791\u977C\u6587 tel=\u6CF0\u5362\u56FA\u6587 -tem=\u6ED5\u5185\u6587 +tem=\u6ED5\u5185\u8BED ter=\u7279\u5217\u7EB3\u6587 tet=\u7279\u5854\u59C6\u6587 tgk=\u5854\u5409\u514B\u6587 @@ -663,7 +662,7 @@ tli=\u7279\u6797\u5409\u7279\u6587 tmh=\u5854\u9A6C\u5947\u514B\u6587 tog=\u6C64\u52A0\u6587 (\u5C3C\u4E9A\u8428\u5730\u533A) -ton=\u6C64\u52A0\u6587 (\u6C64\u52A0\u5C9B) +ton=\u6C64\u52A0\u8BED (\u6C64\u52A0\u5C9B) tpi=\u6258\u514B\u76AE\u8F9B\u6587 tsi=\u8482\u59C6\u897F\u4E9A\u6587 tsn=\u7A81\u5C3C\u65AF\u6587 @@ -710,20 +709,20 @@ zha=\u58EE\u6587 znd=\u8D5E\u5FB7\u6587 zul=\u7956\u9C81\u6587 -zun=\u7956\u5C3C\u6587 +zun=\u7956\u5C3C\u8BED zxx=\u65E0\u8BED\u8A00\u5185\u5BB9 -zza=\u624E\u624E\u6587 +zza=\u624E\u624E\u8BED # script names # key is ISO 15924 script code Arab=\u963F\u62C9\u4F2F\u6587 -Armi=\u7687\u5BB6\u4E9A\u62C9\u59C6\u6587 +Armi=\u7687\u5BB6\u4E9A\u62C9\u59C6\u8BED Armn=\u4E9A\u7F8E\u5C3C\u4E9A\u6587 -Avst=\u963F\u7EF4\u65AF\u9640\u6587 +Avst=\u963F\u7EF4\u65AF\u9640\u8BED Bali=\u5DF4\u91CC\u6587 -Bamu=\u5DF4\u59C6\u7A46\u6587 -Bass=\u5DF4\u8428\u74E6\u8D6B\u6587 +Bamu=\u5DF4\u59C6\u7A46\u8BED +Bass=\u5DF4\u8428\u74E6\u8D6B\u8BED Batk=\u5DF4\u5854\u514B\u6587 Beng=\u5B5F\u52A0\u62C9\u6587 Blis=\u5E03\u5217\u65AF\u7B26\u53F7 @@ -731,133 +730,133 @@ Brah=\u5A46\u7F57\u7C73\u6587\u5B57 Brai=\u5E03\u83B1\u53F6\u76F2\u6587 Bugi=\u5E03\u5409\u6587 -Buhd=\u5E03\u5E0C\u5FB7\u6587 -Cakm=\u67E5\u514B\u9A6C\u6587 +Buhd=\u5E03\u5E0C\u5FB7\u8BED +Cakm=\u67E5\u514B\u9A6C\u8BED Cans=\u52A0\u62FF\u5927\u571F\u8457\u7EDF\u4E00\u7B26\u53F7\u8BED -Cari=\u5361\u91CC\u4E9A\u6587 -Cham=\u5360\u6587 +Cari=\u5361\u91CC\u4E9A\u8BED +Cham=\u5360\u8BED Cher=\u5F7B\u7F57\u57FA\u6587 Cirt=\u8272\u65AF\u6587 -Copt=\u514B\u666E\u7279\u6587 -Cprt=\u585E\u6D66\u8DEF\u65AF\u6587 -Cyrl=\u897F\u91CC\u5C14\u6587 +Copt=\u514B\u666E\u7279\u8BED +Cprt=\u585E\u6D66\u8DEF\u65AF\u8BED +Cyrl=\u897F\u91CC\u5C14\u8BED Cyrs=\u897F\u91CC\u5C14\u6587\u5B57 (\u53E4\u6559\u4F1A\u65AF\u62C9\u592B\u8BED\u7684\u53D8\u4F53) Deva=\u68B5\u6587 Dsrt=\u5FB7\u585E\u83B1\u7279\u6587 Dupl=Duployan \u901F\u8BB0 -Egyd=\u540E\u671F\u57C3\u53CA\u6587 +Egyd=\u540E\u671F\u57C3\u53CA\u8BED Egyh=\u53E4\u57C3\u53CA\u50E7\u4FA3\u4E66\u5199\u4F53 Egyp=\u53E4\u57C3\u53CA\u8C61\u5F62\u6587 Elba=\u7231\u5C14\u5DF4\u6851 -Ethi=\u57C3\u585E\u4FC4\u6BD4\u4E9A\u6587 +Ethi=\u57C3\u585E\u4FC4\u6BD4\u4E9A\u8BED Geok=\u52AA\u65AF\u514B\u80E1\u91CC\u6587 Geor=\u683C\u9C81\u5409\u4E9A\u6587 -Glag=\u683C\u62C9\u54E5\u91CC\u6587 +Glag=\u683C\u62C9\u54E5\u91CC\u8BED Goth=\u54E5\u7279\u6587 Gran=\u5404\u5170\u7279\u54C8\u6587\u5B57 Grek=\u5E0C\u814A\u6587 Gujr=\u53E4\u52A0\u62C9\u63D0\u6587 -Guru=\u679C\u9C81\u7A46\u5947\u6587 +Guru=\u679C\u9C81\u7A46\u5947\u8BED Hang=\u97E9\u6587 -Hani=\u6C49\u6587 -Hano=\u6C49\u5974\u7F57\u6587 +Hani=\u6C49\u8BED +Hano=\u6C49\u5974\u7F57\u8BED Hans=\u7B80\u4F53\u4E2D\u6587 Hant=\u7E41\u4F53\u4E2D\u6587 Hebr=\u5E0C\u4F2F\u6765\u6587 Hira=\u5E73\u5047\u540D Hmng=\u6768\u677E\u5F55\u82D7\u6587 Hrkt=\u7247\u5047\u540D\u6216\u5E73\u5047\u540D -Hung=\u53E4\u5308\u7259\u5229\u6587 +Hung=\u53E4\u5308\u7259\u5229\u8BED Inds=\u5370\u5EA6\u6CB3\u6587\u5B57 -Ital=\u53E4\u610F\u5927\u5229\u6587 +Ital=\u53E4\u610F\u5927\u5229\u8BED Java=\u722A\u54C7\u6587 Jpan=\u65E5\u6587 Kali=\u514B\u8036\u674E\u6587\u5B57 Kana=\u7247\u5047\u540D Khar=\u5361\u7F57\u987B\u63D0\u6587 Khmr=\u67EC\u57D4\u5BE8\u6587 -Knda=\u5361\u7EB3\u5854\u514B\u6587 +Knda=\u57C3\u7EB3\u5FB7\u6587 Kore=\u97E9\u6587 Kpel=\u514B\u4F69\u5217\u6587 -Kthi=\u5361\u7F57\u987B\u63D0\u6587 -Lana=\u5170\u62FF\u6587 -Laoo=\u8001\u631D\u6587 +Kthi=\u5361\u7F57\u987B\u63D0\u8BED +Lana=\u5170\u62FF\u8BED +Laoo=\u8001\u631D\u8BED Latf=\u62C9\u4E01\u6587 (\u54E5\u7279\u5F0F\u5B57\u4F53\u53D8\u4F53) Latg=\u62C9\u4E01\u6587 (\u76D6\u5C14\u8BED\u53D8\u4F53) Latn=\u62C9\u4E01\u6587 -Lepc=\u96F7\u5E03\u67E5\u6587 -Limb=\u6797\u5E03\u6587 +Lepc=\u96F7\u5E03\u67E5\u8BED +Limb=\u6797\u5E03\u8BED Lina=\u7EBF\u5F62\u6587\u5B57 A Linb=\u7EBF\u5F62\u6587\u5B57 B -Lisu=\u5088\u50F3\u6587 -Loma=\u6D1B\u9A6C\u6587 -Lyci=\u5229\u897F\u4E9A\u6587 -Lydi=\u5415\u5E95\u4E9A\u6587 +Lisu=\u5088\u50F3\u8BED +Loma=\u6D1B\u9A6C\u8BED +Lyci=\u5229\u897F\u4E9A\u8BED +Lydi=\u5415\u5E95\u4E9A\u8BED Mand=\u66FC\u8FBE\u6587 Mani=\u6469\u5C3C\u6559\u6587 Maya=\u739B\u96C5\u5723\u7B26\u6587 Mend=\u95E8\u8FEA\u6587 Merc=\u9EA6\u82E5\u63D0\u514B\u6587\u8349\u4F53 Mero=\u9EA6\u82E5\u63D0\u514B\u6587 -Mlym=\u9A6C\u62C9\u4E9A\u62C9\u59C6\u6587 +Mlym=\u9A6C\u6765\u4E9A\u62C9\u59C6\u6587 Mong=\u8499\u53E4\u6587 Moon=\u6708\u4EAE\u4F53 -Mtei=\u66FC\u5C3C\u666E\u5C14\u6587 +Mtei=\u66FC\u5C3C\u666E\u5C14\u8BED Mymr=\u7F05\u7538 -Narb=\u53E4\u5317\u963F\u62C9\u4F2F\u6587 -Nbat=\u7EB3\u5DF4\u6CF0\u6587 -Nkgb=\u7EB3\u897F\u54E5\u5DF4\u6587 -Nkoo=N'Ko (\u897F\u975E\u4E66\u9762\u8BED\u8A00) -Ogam=\u6B27\u7518\u6587 +Narb=\u53E4\u5317\u963F\u62C9\u4F2F\u8BED +Nbat=\u7EB3\u5DF4\u6CF0\u8BED +Nkgb=\u7EB3\u897F\u54E5\u5DF4\u8BED +Nkoo=N\u2019Ko (\u897F\u975E\u4E66\u9762\u8BED\u8A00) +Ogam=\u6B27\u7518\u8BED Olck=\u6851\u5854\u5229\u6587 Orkh=\u9102\u5C14\u6D51\u6587 -Orya=\u5965\u91CC\u4E9A\u6587 -Osma=\u5965\u65AF\u66FC\u4E9A\u6587 -Palm=\u5E15\u5C14\u8FC8\u62C9\u6587 +Orya=\u5965\u8428\u683C\u6587 +Osma=\u5965\u65AF\u66FC\u4E9A\u8BED +Palm=\u5E15\u5C14\u8FC8\u62C9\u8BED Perm=\u53E4\u5F7C\u5C14\u59C6\u8BF8\u8BED Phag=\u516B\u601D\u5DF4\u6587 -Phli=\u7891\u94ED\u4F53\u5DF4\u5217\u7EF4\u6587 -Phlp=\u8BD7\u4F53\u5DF4\u5217\u7EF4\u6587 -Phlv=\u4E66\u4F53\u5DF4\u5217\u7EF4\u6587 +Phli=\u7891\u94ED\u4F53\u5DF4\u5217\u7EF4\u8BED +Phlp=\u8BD7\u4F53\u5DF4\u5217\u7EF4\u8BED +Phlv=\u4E66\u4F53\u5DF4\u5217\u7EF4\u8BED Phnx=\u8153\u5C3C\u57FA\u6587 Plrd=\u82D7\u6587 -Prti=\u7891\u94ED\u4F53\u5E15\u63D0\u4E9A\u6587 -Rjng=\u62C9\u8BA9\u6587 +Prti=\u7891\u94ED\u4F53\u5E15\u63D0\u4E9A\u8BED +Rjng=\u62C9\u8BA9\u8BED Roro=\u6717\u683C\u6717\u683C\u6587 Runr=\u53E4\u4EE3\u5317\u6B27\u6587 -Samr=\u6492\u739B\u5229\u4E9A\u6587 +Samr=\u6492\u739B\u5229\u4E9A\u8BED Sara=\u6C99\u62C9\u5824\u6587 -Sarb=\u53E4\u5357\u963F\u62C9\u4F2F\u6587 -Saur=\u7D22\u62C9\u4EC0\u7279\u62C9\u6587 +Sarb=\u53E4\u5357\u963F\u62C9\u4F2F\u8BED +Saur=\u7D22\u62C9\u4EC0\u7279\u62C9\u8BED Sgnw=\u4E66\u5199\u7B26\u53F7 -Shaw=\u8427\u4F2F\u7EB3\u5F0F\u6587 +Shaw=\u8427\u4F2F\u7EB3\u5F0F\u8BED Sind=\u4FE1\u5FB7\u6587 -Sinh=\u8F9B\u54C8\u62C9\u6587 +Sinh=\u8F9B\u54C8\u62C9\u8BED Sund=\u5DFD\u4ED6\u6587 Sylo=Syloti Nagri \u4E66\u5199\u4F53 Syrc=\u53D9\u5229\u4E9A\u6587 Syre=\u798F\u97F3\u4F53\u53D9\u5229\u4E9A\u6587 -Syrj=\u897F\u53D9\u5229\u4E9A\u6587 -Syrn=\u4E1C\u53D9\u5229\u4E9A\u6587 -Tagb=\u5854\u683C\u73ED\u74E6\u6587 -Tale=\u6CF0\u4E50\u6587 +Syrj=\u897F\u53D9\u5229\u4E9A\u8BED +Syrn=\u4E1C\u53D9\u5229\u4E9A\u8BED +Tagb=\u5854\u683C\u73ED\u74E6\u8BED +Tale=\u6CF0\u4E50\u8BED Talu=\u65B0\u50A3\u6587 Taml=\u6CF0\u7C73\u5C14\u6587 -Tavt=\u8D8A\u5357\u50A3\u6587 +Tavt=\u8D8A\u5357\u50A3\u8BED Telu=\u6CF0\u5362\u56FA\u6587 Teng=\u817E\u683C\u74E6\u6587\u5B57 Tfng=\u63D0\u975E\u7EB3\u6587 Tglg=\u5854\u52A0\u8DEF\u65CF\u6587 -Thaa=\u5854\u5B89\u5A1C\u6587 +Thaa=\u5854\u5B89\u5A1C\u8BED Thai=\u6CF0\u6587 -Tibt=\u85CF\u6587 +Tibt=\u897F\u85CF\u6587 Ugar=\u4E4C\u52A0\u91CC\u7279\u6587 -Vaii=\u74E6\u4F0A\u6587 +Vaii=\u74E6\u4F9D\u8BED Visp=\u53EF\u89C1\u8BED\u8A00 -Wara=Warang Citi \u4F53 -Xpeo=\u53E4\u6CE2\u65AF\u6587 +Wara=Warang Citi +Xpeo=\u53E4\u6CE2\u65AF\u8BED Xsux=\u82CF\u7F8E\u5C14-\u963F\u5361\u5FB7\u6954\u5F62\u6587\u5B57 -Yiii=\u5F5D\u6587 +Yiii=\u5F5D\u8BED Zinh=\u9057\u4F20\u5B66\u672F\u8BED Zmth=\u6570\u5B66\u8BB0\u53F7 Zsym=\u7B26\u53F7 @@ -868,256 +867,256 @@ # country names # key is ISO 3166 country code -AD=\u5B89\u9053\u5C14 -AE=\u963F\u62C9\u4F2F\u8054\u5408\u914B\u957F\u56FD -AF=\u963F\u5BCC\u6C57 -AG=\u5B89\u63D0\u74DC\u548C\u5DF4\u5E03\u8FBE -AI=\u5B89\u572D\u62C9 -AL=\u963F\u5C14\u5DF4\u5C3C\u4E9A -AM=\u4E9A\u7F8E\u5C3C\u4E9A -AN=\u8377\u5C5E\u5B89\u7684\u5217\u65AF\u7FA4\u5C9B -AO=\u5B89\u54E5\u62C9 -AQ=\u5357\u6781\u6D32 -AR=\u963F\u6839\u5EF7 -AS=\u4E1C\u8428\u6469\u4E9A +AD=\u5b89\u9053\u5c14 +AE=\u963f\u62c9\u4f2f\u8054\u5408\u914b\u957f\u56fd +AF=\u963f\u5bcc\u6c57 +AG=\u5b89\u63d0\u74dc\u548c\u5df4\u5e03\u8fbe +AI=\u5b89\u572d\u62c9 +AL=\u963f\u5c14\u5df4\u5c3c\u4e9a +AM=\u4e9a\u7f8e\u5c3c\u4e9a +AN=\u8377\u5c5e\u5b89\u7684\u5217\u65af\u7fa4\u5c9b +AO=\u5b89\u54e5\u62c9 +AQ=\u5357\u6781\u6d32 +AR=\u963f\u6839\u5ef7 +AS=\u4e1c\u8428\u6469\u4e9a AT=\u5965\u5730\u5229 -AU=\u6FB3\u5927\u5229\u4E9A -AW=\u963F\u9C81\u5DF4 -AX=\u5965\u5170\u7FA4\u5C9B -AZ=\u963F\u585E\u62DC\u7586 -BA=\u6CE2\u65AF\u5C3C\u4E9A\u548C\u9ED1\u5C71\u5171\u548C\u56FD -BB=\u5DF4\u5DF4\u591A\u65AF -BD=\u5B5F\u52A0\u62C9 -BE=\u6BD4\u5229\u65F6 -BF=\u5E03\u57FA\u7EB3\u6CD5\u7D22 -BG=\u4FDD\u52A0\u5229\u4E9A -BH=\u5DF4\u6797 -BI=\u5E03\u9686\u8FEA -BJ=\u8D1D\u5B81 +AU=\u6fb3\u5927\u5229\u4e9a +AW=\u963f\u9c81\u5df4 +AX=\u5965\u5170\u7fa4\u5c9b +AZ=\u963f\u585e\u62dc\u7586 +BA=\u6ce2\u65af\u5c3c\u4e9a\u548c\u9ed1\u5c71\u5171\u548c\u56fd +BB=\u5df4\u5df4\u591a\u65af +BD=\u5b5f\u52a0\u62c9 +BE=\u6bd4\u5229\u65f6 +BF=\u5e03\u57fa\u7eb3\u6cd5\u7d22 +BG=\u4fdd\u52a0\u5229\u4e9a +BH=\u5df4\u6797 +BI=\u5e03\u9686\u8fea +BJ=\u8d1d\u5b81 BL=\u5723\u5DF4\u6CF0\u52D2\u7C73\u5C9B -BM=\u767E\u6155\u5927 -BN=\u6587\u83B1 -BO=\u73BB\u5229\u7EF4\u4E9A +BM=\u767e\u6155\u5927 +BN=\u6587\u83b1 +BO=\u73bb\u5229\u7ef4\u4e9a BQ=\u535A\u5948\u5C14\u5C9B, \u5723\u5C24\u65AF\u7279\u6B47\u65AF\u5C9B\u548C\u8428\u5DF4\u5C9B -BR=\u5DF4\u897F -BS=\u5DF4\u54C8\u9A6C -BT=\u4E0D\u4E39 -BV=\u5E03\u97E6\u5C9B -BW=\u535A\u8328\u74E6\u7EB3 -BY=\u767D\u4FC4\u7F57\u65AF -BZ=\u4F2F\u91CC\u5179 -CA=\u52A0\u62FF\u5927 -CC=\u79D1\u5E93\u65AF\u7FA4\u5C9B -CD=\u521A\u679C\u6C11\u4E3B\u5171\u548C\u56FD -CF=\u4E2D\u975E\u5171\u548C\u56FD -CG=\u521A\u679C -CH=\u745E\u58EB -CI=\u79D1\u7279\u8FEA\u74E6 -CK=\u5E93\u514B\u7FA4\u5C9B -CL=\u667A\u5229 -CM=\u5580\u9EA6\u9686 -CN=\u4E2D\u56FD -CO=\u54E5\u4F26\u6BD4\u4E9A -CR=\u54E5\u65AF\u8FBE\u9ECE\u52A0 -CS=\u585E\u5C14\u7EF4\u4E9A\u53CA\u9ED1\u5C71 -CU=\u53E4\u5DF4 -CV=\u4F5B\u5F97\u89D2 +BR=\u5df4\u897f +BS=\u5df4\u54c8\u9a6c +BT=\u4e0d\u4e39 +BV=\u5e03\u97e6\u5c9b +BW=\u535a\u8328\u74e6\u7eb3 +BY=\u767d\u4fc4\u7f57\u65af +BZ=\u4f2f\u91cc\u5179 +CA=\u52a0\u62ff\u5927 +CC=\u79d1\u5e93\u65af\u7fa4\u5c9b +CD=\u521a\u679c\u6c11\u4e3b\u5171\u548c\u56fd +CF=\u4e2d\u975e\u5171\u548c\u56fd +CG=\u521a\u679c +CH=\u745e\u58eb +CI=\u8c61\u7259\u6d77\u5cb8 +CK=\u5e93\u514b\u7fa4\u5c9b +CL=\u667a\u5229 +CM=\u5580\u9ea6\u9686 +CN=\u4e2d\u56fd +CO=\u54e5\u4f26\u6bd4\u4e9a +CR=\u54e5\u65af\u8fbe\u9ece\u52a0 +CS=\u585e\u5c14\u7ef4\u4e9a\u53ca\u9ed1\u5c71 +CU=\u53e4\u5df4 +CV=\u4f5b\u5f97\u89d2 CW=\u5E93\u62C9\u7D22\u5C9B -CX=\u5723\u8BDE\u5C9B -CY=\u585E\u6D66\u8DEF\u65AF -CZ=\u6377\u514B\u5171\u548C\u56FD -DE=\u5FB7\u56FD -DJ=\u5409\u5E03\u63D0 -DK=\u4E39\u9EA6 -DM=\u591A\u7C73\u5C3C\u52A0\u8054\u90A6 -DO=\u591A\u7C73\u5C3C\u52A0\u5171\u548C\u56FD -DZ=\u963F\u5C14\u53CA\u5229\u4E9A -EC=\u5384\u74DC\u591A\u5C14 -EE=\u7231\u6C99\u5C3C\u4E9A -EG=\u57C3\u53CA -EH=\u897F\u6492\u54C8\u62C9 -ER=\u5384\u91CC\u7279\u5C3C\u4E9A -ES=\u897F\u73ED\u7259 -ET=\u57C3\u585E\u4FC4\u6BD4\u4E9A -FI=\u82AC\u5170 -FJ=\u6590\u6D4E -FK=\u5BCC\u514B\u5170\u7FA4\u5C9B -FM=\u5BC6\u514B\u7F57\u5C3C\u897F\u4E9A -FO=\u6CD5\u7F57\u7FA4\u5C9B -FR=\u6CD5\u56FD -GA=\u52A0\u84EC -GB=\u82F1\u56FD -GD=\u683C\u6797\u7EB3\u8FBE -GE=\u683C\u9C81\u5409\u4E9A -GF=\u6CD5\u5C5E\u572D\u4E9A\u90A3 +CX=\u5723\u8bde\u5c9b +CY=\u585e\u6d66\u8def\u65af +CZ=\u6377\u514b\u5171\u548c\u56fd +DE=\u5fb7\u56fd +DJ=\u5409\u5e03\u63d0 +DK=\u4e39\u9ea6 +DM=\u591a\u7c73\u5c3c\u52a0\u8054\u90a6 +DO=\u591a\u7c73\u5c3c\u52a0\u5171\u548c\u56fd +DZ=\u963f\u5c14\u53ca\u5229\u4e9a +EC=\u5384\u74dc\u591a\u5c14 +EE=\u7231\u6c99\u5c3c\u4e9a +EG=\u57c3\u53ca +EH=\u897f\u6492\u54c8\u62c9 +ER=\u5384\u91cc\u7279\u5c3c\u4e9a +ES=\u897f\u73ed\u7259 +ET=\u57c3\u585e\u4fc4\u6bd4\u4e9a +FI=\u82ac\u5170 +FJ=\u6590\u6d4e +FK=\u5bcc\u514b\u5170\u7fa4\u5c9b +FM=\u5bc6\u514b\u7f57\u5c3c\u897f\u4e9a +FO=\u6cd5\u7f57\u7fa4\u5c9b +FR=\u6cd5\u56fd +GA=\u52a0\u84ec +GB=\u82f1\u56fd +GD=\u683c\u6797\u7eb3\u8fbe +GE=\u683c\u9c81\u5409\u4e9a +GF=\u6cd5\u5c5e\u572d\u4e9a\u90a3 GG=\u683C\u6069\u897F\u5C9B -GH=\u52A0\u7EB3 -GI=\u76F4\u5E03\u7F57\u9640 -GL=\u683C\u9675\u5170 -GM=\u5188\u6BD4\u4E9A -GN=\u51E0\u5185\u4E9A -GP=\u74DC\u5FB7\u7F57\u666E\u5C9B -GQ=\u8D64\u9053\u51E0\u5185\u4E9A -GR=\u5E0C\u814A -GS=\u5357\u4E54\u6CBB\u4E9A\u5C9B\u548C\u5357\u6851\u5FB7\u97E6\u5947\u5C9B -GT=\u5371\u5730\u9A6C\u62C9 -GU=\u5173\u5C9B -GW=\u51E0\u5185\u4E9A\u6BD4\u7ECD\u5171\u548C\u56FD -GY=\u572D\u4E9A\u90A3 -HK=\u9999\u6E2F -HM=\u8D6B\u5FB7\u548C\u9EA6\u514B\u5510\u7EB3\u7FA4\u5C9B -HN=\u6D2A\u90FD\u62C9\u65AF -HR=\u514B\u7F57\u5730\u4E9A -HT=\u6D77\u5730 +GH=\u52a0\u7eb3 +GI=\u76f4\u5e03\u7f57\u9640 +GL=\u683c\u9675\u5170 +GM=\u5188\u6bd4\u4e9a +GN=\u51e0\u5185\u4e9a +GP=\u74dc\u5fb7\u7f57\u666e\u5c9b +GQ=\u8d64\u9053\u51e0\u5185\u4e9a +GR=\u5e0c\u814a +GS=\u5357\u4e54\u6cbb\u4e9a\u5c9b\u548c\u5357\u6851\u5fb7\u97e6\u5947\u5c9b +GT=\u5371\u5730\u9a6c\u62c9 +GU=\u5173\u5c9b +GW=\u51e0\u5185\u4e9a\u6bd4\u7ecd\u5171\u548c\u56fd +GY=\u572d\u4e9a\u90a3 +HK=\u9999\u6e2f +HM=\u8d6b\u5fb7\u548c\u9ea6\u514b\u5510\u7eb3\u7fa4\u5c9b +HN=\u6d2a\u90fd\u62c9\u65af +HR=\u514b\u7f57\u5730\u4e9a +HT=\u6d77\u5730 HU=\u5308\u7259\u5229 -ID=\u5370\u5EA6\u5C3C\u897F\u4E9A -IE=\u7231\u5C14\u5170 -IL=\u4EE5\u8272\u5217 +ID=\u5370\u5ea6\u5c3c\u897f\u4e9a +IE=\u7231\u5c14\u5170 +IL=\u4ee5\u8272\u5217 IM=\u66FC\u5C9B -IN=\u5370\u5EA6 -IO=\u82F1\u5C5E\u5370\u5EA6\u6D0B\u9886\u5730 -IQ=\u4F0A\u62C9\u514B -IR=\u4F0A\u6717 -IS=\u51B0\u5C9B -IT=\u610F\u5927\u5229 +IN=\u5370\u5ea6 +IO=\u82f1\u5c5e\u5370\u5ea6\u6d0b\u9886\u5730 +IQ=\u4f0a\u62c9\u514b +IR=\u4f0a\u6717 +IS=\u51b0\u5c9b +IT=\u610f\u5927\u5229 JE=\u6CFD\u897F\u5C9B -JM=\u7259\u4E70\u52A0 -JO=\u7EA6\u65E6 -JP=\u65E5\u672C -KE=\u80AF\u5C3C\u4E9A -KG=\u5409\u5C14\u5409\u514B\u65AF\u5766 -KH=\u67EC\u57D4\u5BE8 -KI=\u57FA\u91CC\u5DF4\u65AF -KM=\u79D1\u6469\u7F57 -KN=\u5723\u57FA\u8328\u548C\u5C3C\u7EF4\u65AF -KP=\u671D\u9C9C -KR=\u97E9\u56FD -KW=\u79D1\u5A01\u7279 -KY=\u5F00\u66FC\u7FA4\u5C9B -KZ=\u54C8\u8428\u514B\u65AF\u5766 -LA=\u8001\u631D -LB=\u9ECE\u5DF4\u5AE9 -LC=\u5723\u5362\u897F\u4E9A -LI=\u5217\u652F\u6566\u58EB\u767B -LK=\u65AF\u91CC\u5170\u5361 -LR=\u5229\u6BD4\u91CC\u4E9A -LS=\u83B1\u7D22\u6258 -LT=\u7ACB\u9676\u5B9B -LU=\u5362\u68EE\u5821 -LV=\u62C9\u8131\u7EF4\u4E9A -LY=\u5229\u6BD4\u4E9A -MA=\u6469\u6D1B\u54E5 -MC=\u6469\u7EB3\u54E5 -MD=\u6469\u5C14\u591A\u74E6 -ME=\u9ED1\u5C71 +JM=\u7259\u4e70\u52a0 +JO=\u7ea6\u65e6 +JP=\u65e5\u672c +KE=\u80af\u5c3c\u4e9a +KG=\u5409\u5c14\u5409\u514b\u65af\u5766 +KH=\u67ec\u57d4\u5be8 +KI=\u57fa\u91cc\u5df4\u65af +KM=\u79d1\u6469\u7f57 +KN=\u5723\u57fa\u8328\u548c\u5c3c\u7ef4\u65af +KP=\u671d\u9c9c +KR=\u97e9\u56fd +KW=\u79d1\u5a01\u7279 +KY=\u5f00\u66fc\u7fa4\u5c9b +KZ=\u54c8\u8428\u514b\u65af\u5766 +LA=\u8001\u631d +LB=\u9ece\u5df4\u5ae9 +LC=\u5723\u5362\u897f\u4e9a +LI=\u5217\u652f\u6566\u58eb\u767b +LK=\u65af\u91cc\u5170\u5361 +LR=\u5229\u6bd4\u91cc\u4e9a +LS=\u83b1\u7d22\u6258 +LT=\u7acb\u9676\u5b9b +LU=\u5362\u68ee\u5821 +LV=\u62c9\u8131\u7ef4\u4e9a +LY=\u5229\u6bd4\u4e9a +MA=\u6469\u6d1b\u54e5 +MC=\u6469\u7eb3\u54e5 +MD=\u6469\u5c14\u591a\u74e6 +ME=\u9ed1\u5c71 MF=\u5723\u9A6C\u4E01 -MG=\u9A6C\u8FBE\u52A0\u65AF\u52A0 -MH=\u9A6C\u7ECD\u5C14\u7FA4\u5C9B -MK=\u9A6C\u5176\u987F\u738B\u56FD -ML=\u9A6C\u91CC -MM=\u7F05\u7538 -MN=\u8499\u53E4 -MO=\u6FB3\u95E8\u7279\u533A -MP=\u7F8E\u5C5E\u5317\u9A6C\u91CC\u4E9A\u7EB3\u7FA4\u5C9B -MQ=\u9A6C\u63D0\u5C3C\u514B\u5C9B -MR=\u6BDB\u91CC\u5854\u5C3C\u4E9A -MS=\u8499\u7279\u585E\u62C9\u7FA4\u5C9B -MT=\u9A6C\u8033\u4ED6 -MU=\u6BDB\u91CC\u6C42\u65AF -MV=\u9A6C\u5C14\u4EE3\u592B -MW=\u9A6C\u62C9\u7EF4 -MX=\u58A8\u897F\u54E5 -MY=\u9A6C\u6765\u897F\u4E9A -MZ=\u83AB\u6851\u6BD4\u514B -NA=\u7EB3\u7C73\u6BD4\u4E9A -NC=\u65B0\u514B\u91CC\u591A\u5C3C\u4E9A\u7FA4\u5C9B -NE=\u5C3C\u65E5\u5C14 -NF=\u8BFA\u798F\u514B\u5C9B -NG=\u5C3C\u65E5\u5229\u4E9A -NI=\u5C3C\u52A0\u62C9\u74DC +MG=\u9a6c\u8fbe\u52a0\u65af\u52a0 +MH=\u9a6c\u7ecd\u5c14\u7fa4\u5c9b +MK=\u9a6c\u5176\u987f\u738b\u56fd +ML=\u9a6c\u91cc +MM=\u7f05\u7538 +MN=\u8499\u53e4 +MO=\u6fb3\u95e8\u7279\u533a +MP=\u7f8e\u5c5e\u5317\u9a6c\u91cc\u4e9a\u7eb3\u7fa4\u5c9b +MQ=\u9a6c\u63d0\u5c3c\u514b\u5c9b +MR=\u6bdb\u91cc\u5854\u5c3c\u4e9a +MS=\u8499\u7279\u585e\u62c9\u7fa4\u5c9b +MT=\u9a6c\u8033\u4ed6 +MU=\u6bdb\u91cc\u6c42\u65af +MV=\u9a6c\u5c14\u4ee3\u592b +MW=\u9a6c\u62c9\u7ef4 +MX=\u58a8\u897f\u54e5 +MY=\u9a6c\u6765\u897f\u4e9a +MZ=\u83ab\u6851\u6bd4\u514b +NA=\u7eb3\u7c73\u6bd4\u4e9a +NC=\u65b0\u514b\u91cc\u591a\u5c3c\u4e9a\u7fa4\u5c9b +NE=\u5c3c\u65e5\u5c14 +NF=\u8bfa\u798f\u514b\u5c9b +NG=\u5c3c\u65e5\u5229\u4e9a +NI=\u5c3c\u52a0\u62c9\u74dc NL=\u8377\u5170 -NO=\u632A\u5A01 -NP=\u5C3C\u6CCA\u5C14 -NR=\u7459\u9C81 -NU=\u7EBD\u57C3\u5C9B -NZ=\u65B0\u897F\u5170 -OM=\u963F\u66FC -PA=\u5DF4\u62FF\u9A6C -PE=\u79D8\u9C81 -PF=\u6CD5\u5C5E\u73BB\u5229\u5C3C\u897F\u4E9A -PG=\u5DF4\u5E03\u4E9A\u65B0\u51E0\u5185\u4E9A -PH=\u83F2\u5F8B\u5BBE -PK=\u5DF4\u57FA\u65AF\u5766 -PL=\u6CE2\u5170 -PM=\u5723\u76AE\u57C3\u5C14\u548C\u5BC6\u514B\u9686\u7FA4\u5C9B -PN=\u76AE\u7279\u514B\u6069\u5C9B -PR=\u6CE2\u591A\u9ECE\u54E5 -PS=\u5DF4\u52D2\u65AF\u5766 +NO=\u632a\u5a01 +NP=\u5c3c\u6cca\u5c14 +NR=\u7459\u9c81 +NU=\u7ebd\u57c3\u5c9b +NZ=\u65b0\u897f\u5170 +OM=\u963f\u66fc +PA=\u5df4\u62ff\u9a6c +PE=\u79d8\u9c81 +PF=\u6cd5\u5c5e\u73bb\u5229\u5c3c\u897f\u4e9a +PG=\u5df4\u5e03\u4e9a\u65b0\u51e0\u5185\u4e9a +PH=\u83f2\u5f8b\u5bbe +PK=\u5df4\u57fa\u65af\u5766 +PL=\u6ce2\u5170 +PM=\u5723\u76ae\u57c3\u5c14\u548c\u5bc6\u514b\u9686\u7fa4\u5c9b +PN=\u76ae\u7279\u514b\u6069\u5c9b +PR=\u6ce2\u591a\u9ece\u54e5 +PS=\u5df4\u52d2\u65af\u5766 PT=\u8461\u8404\u7259 -PW=\u5E15\u52B3 -PY=\u5DF4\u62C9\u572D -QA=\u5361\u5854\u5C14 -RE=\u7559\u5C3C\u6C6A\u5C9B -RO=\u7F57\u9A6C\u5C3C\u4E9A -RS=\u585E\u5C14\u7EF4\u4E9A -RU=\u4FC4\u7F57\u65AF -RW=\u5362\u65FA\u8FBE -SA=\u6C99\u7279\u963F\u62C9\u4F2F -SB=\u6240\u7F57\u95E8\u7FA4\u5C9B -SC=\u585E\u820C\u5C14\u7FA4\u5C9B -SD=\u82CF\u4E39 -SE=\u745E\u5178 -SG=\u65B0\u52A0\u5761 -SH=\u5723\u8D6B\u52D2\u62FF\u5C9B -SI=\u65AF\u6D1B\u6587\u5C3C\u4E9A -SJ=\u65AF\u74E6\u5C14\u5DF4\u7279\u548C\u626C\u9A6C\u5EF6\u5C9B -SK=\u65AF\u6D1B\u4F10\u514B -SL=\u585E\u62C9\u91CC\u6602 -SM=\u5723\u9A6C\u529B\u8BFA -SN=\u585E\u5185\u52A0\u5C14 -SO=\u7D22\u9A6C\u91CC -SR=\u82CF\u91CC\u5357 -ST=\u5723\u591A\u7F8E\u548C\u666E\u6797\u897F\u6BD4 -SV=\u8428\u5C14\u74E6\u591A +PW=\u5e15\u52b3 +PY=\u5df4\u62c9\u572d +QA=\u5361\u5854\u5c14 +RE=\u7559\u5c3c\u6c6a\u5c9b +RO=\u7f57\u9a6c\u5c3c\u4e9a +RS=\u585e\u5c14\u7ef4\u4e9a +RU=\u4fc4\u7f57\u65af +RW=\u5362\u65fa\u8fbe +SA=\u6c99\u7279\u963f\u62c9\u4f2f +SB=\u6240\u7f57\u95e8\u7fa4\u5c9b +SC=\u585e\u820c\u5c14\u7fa4\u5c9b +SD=\u82cf\u4e39 +SE=\u745e\u5178 +SG=\u65b0\u52a0\u5761 +SH=\u5723\u8d6b\u52d2\u62ff\u5c9b +SI=\u65af\u6d1b\u6587\u5c3c\u4e9a +SJ=\u65af\u74e6\u5c14\u5df4\u7279\u548c\u626c\u9a6c\u5ef6\u5c9b +SK=\u65af\u6d1b\u4f10\u514b +SL=\u585e\u62c9\u91cc\u6602 +SM=\u5723\u9a6c\u529b\u8bfa +SN=\u585e\u5185\u52a0\u5c14 +SO=\u7d22\u9a6c\u91cc +SR=\u82cf\u91cc\u5357 +ST=\u5723\u591a\u7f8e\u548c\u666e\u6797\u897f\u6bd4 +SV=\u8428\u5c14\u74e6\u591a SX=\u8377\u5C5E\u5723\u9A6C\u4E01\u5C9B -SY=\u53D9\u5229\u4E9A -SZ=\u65AF\u5A01\u58EB\u5170 -TC=\u7279\u514B\u65AF\u7FA4\u5C9B\u548C\u51EF\u79D1\u65AF\u7FA4\u5C9B -TD=\u4E4D\u5F97 -TF=\u6CD5\u5C5E\u5357\u7279\u7ACB\u5C3C\u8FBE -TG=\u591A\u54E5 -TH=\u6CF0\u56FD -TJ=\u5854\u5409\u514B\u65AF\u5766 -TK=\u6258\u514B\u52B3 -TL=\u4E1C\u5E1D\u6C76 -TM=\u571F\u5E93\u66FC\u65AF\u5766 -TN=\u7A81\u5C3C\u65AF -TO=\u6C64\u52A0 -TR=\u571F\u8033\u5176 -TT=\u7279\u7ACB\u5C3C\u8FBE\u548C\u591A\u5DF4\u54E5 -TV=\u56FE\u74E6\u5362 -TW=\u53F0\u6E7E\u5730\u533A -TZ=\u5766\u6851\u5C3C\u4E9A -UA=\u4E4C\u514B\u5170 -UG=\u4E4C\u5E72\u8FBE -UM=\u7F8E\u5C5E\u5C0F\u5965\u7279\u5170\u7FA4\u5C9B -US=\u7F8E\u56FD -UY=\u4E4C\u62C9\u572D -UZ=\u4E4C\u5179\u522B\u514B\u65AF\u5766 -VA=\u68B5\u8482\u5188 -VC=\u5723\u6587\u68EE\u7279\u548C\u683C\u6797\u7EB3\u4E01\u65AF -VE=\u59D4\u5185\u745E\u62C9 -VG=\u82F1\u5C5E\u7EF4\u4EAC\u7FA4\u5C9B -VI=\u7F8E\u5C5E\u7EF4\u4EAC\u7FA4\u5C9B -VN=\u8D8A\u5357 -VU=\u74E6\u52AA\u963F\u56FE -WF=\u74E6\u5229\u65AF\u7FA4\u5C9B\u548C\u5BCC\u56FE\u7EB3\u7FA4\u5C9B -WS=\u8428\u6469\u4E9A -YE=\u4E5F\u95E8 -YT=\u9A6C\u7EA6\u7279\u5C9B -ZA=\u5357\u975E -ZM=\u8D5E\u6BD4\u4E9A -ZW=\u6D25\u5DF4\u5E03\u97E6 +SY=\u53d9\u5229\u4e9a +SZ=\u65af\u5a01\u58eb\u5170 +TC=\u7279\u514b\u65af\u7fa4\u5c9b\u548c\u51ef\u79d1\u65af\u7fa4\u5c9b +TD=\u4e4d\u5f97 +TF=\u6cd5\u5c5e\u5357\u7279\u7acb\u5c3c\u8fbe +TG=\u591a\u54e5 +TH=\u6cf0\u56fd +TJ=\u5854\u5409\u514b\u65af\u5766 +TK=\u8054\u5408\u7fa4\u5c9b +TL=\u4e1c\u5e1d\u6c76 +TM=\u571f\u5e93\u66fc\u65af\u5766 +TN=\u7a81\u5c3c\u65af +TO=\u6c64\u52a0 +TR=\u571f\u8033\u5176 +TT=\u7279\u7acb\u5c3c\u8fbe\u548c\u591a\u5df4\u54e5 +TV=\u56fe\u74e6\u5362 +TW=\u53f0\u6e7e\u5730\u533a +TZ=\u5766\u6851\u5c3c\u4e9a +UA=\u4e4c\u514b\u5170 +UG=\u4e4c\u5e72\u8fbe +UM=\u7f8e\u5c5e\u5c0f\u5965\u7279\u5170\u7fa4\u5c9b +US=\u7f8e\u56fd +UY=\u4e4c\u62c9\u572d +UZ=\u4e4c\u5179\u522b\u514b\u65af\u5766 +VA=\u68b5\u8482\u5188 +VC=\u5723\u6587\u68ee\u7279\u548c\u683c\u6797\u7eb3\u4e01\u65af +VE=\u59d4\u5185\u745e\u62c9 +VG=\u82f1\u5c5e\u7ef4\u4eac\u7fa4\u5c9b +VI=\u7f8e\u5c5e\u7ef4\u4eac\u7fa4\u5c9b +VN=\u8d8a\u5357 +VU=\u74e6\u52aa\u963f\u56fe +WF=\u74e6\u5229\u65af\u7fa4\u5c9b\u548c\u5bcc\u56fe\u7eb3\u7fa4\u5c9b +WS=\u4e1c\u8428\u6469\u4e9a +YE=\u4e5f\u95e8 +YT=\u9a6c\u7ea6\u7279\u5c9b +ZA=\u5357\u975e +ZM=\u8d5e\u6bd4\u4e9a +ZW=\u6d25\u5df4\u5e03\u97e6 # territory names # key is UN M.49 country and area code @@ -1152,19 +1151,3 @@ 154=\u5317\u6B27 155=\u897F\u6B27 419=\u62C9\u4E01\u7F8E\u6D32\u548C\u52A0\u52D2\u6BD4\u6D77 - -# variant names -# key is %%variant -# rarely localized - -%%EURO=\u6B27\u5143 -%%B=\u535A\u514B\u9A6C\u5C14\u6587 -%%NY=\u5C3C\u8BFA\u65AF\u514B\u6587 - - -# locale name patterns -# rarely localized - -DisplayNamePattern={0,choice,0#|1#{1}|2#{1} ({2})} -ListPattern={0,choice,0#|1#{1}|2#{1},{2}|3#{1},{2},{3}} -ListCompositionPattern={0},{1}
--- a/src/share/classes/sun/util/resources/LocaleNames_zh_TW.properties Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/classes/sun/util/resources/LocaleNames_zh_TW.properties Fri Jun 29 15:21:00 2012 +0100 @@ -1,4 +1,3 @@ -# # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # @@ -39,194 +38,194 @@ # language names # key is ISO 639 language code -aa=\u963F\u6CD5\u6587 -ab=\u963F\u5E03\u54C8\u897F\u4E9E\u6587 -ae=\u963F\u672A\u65AF\u5854\u6587 -af=\u5357\u975E\u8377\u862D\u6587 -ak=\u963F\u5BD2\u6587 -am=\u8863\u7D22\u6BD4\u4E9E\u6587 -an=\u4E9E\u62C9\u5CA1\u6587 -ar=\u963F\u62C9\u4F2F\u6587 -as=\u963F\u85A9\u59C6\u6587 -av=\u963F\u74E6\u96F7\u6587 -ay=\u4E9E\u6469\u62C9\u6587 -az=\u4E9E\u585E\u62DC\u7136\u6587 -ba=\u5DF4\u4EC0\u5580\u723E\u6587 -be=\u767D\u4FC4\u7F85\u65AF\u6587 -bg=\u4FDD\u52A0\u5229\u4E9E\u6587 -bh=\u6BD4\u54C8\u723E\u6587 -bi=\u6BD4\u65AF\u62C9\u99AC\u6587 -bm=\u73ED\u5DF4\u62C9\u6587 -bn=\u5B5F\u52A0\u62C9\u6587 -bo=\u897F\u85CF\u6587 -br=\u4E0D\u5217\u5854\u5C3C\u6587 -bs=\u6CE2\u58EB\u5C3C\u4E9E\u6587 -ca=\u5609\u6CF0\u7F85\u5C3C\u4E9E\u6587 -ce=\u8ECA\u81E3\u6587 -ch=\u67E5\u6469\u6D1B\u6587 -co=\u79D1\u897F\u5609\u6587 -cr=\u514B\u91CC\u6587 -cs=\u6377\u514B\u6587 -cu=\u6559\u6703\u65AF\u62C9\u592B\u6587 -cv=\u695A\u74E6\u58EB\u6587 -cy=\u5A01\u723E\u65AF\u6587 -da=\u4E39\u9EA5\u6587 -de=\u5FB7\u6587 -dv=\u8FEA\u7DAD\u897F\u6587 -dz=\u4E0D\u4E39\u6587 -ee=\u57C3\u7DAD\u6587 -el=\u5E0C\u81D8\u6587 -en=\u82F1\u6587 -eo=\u4E16\u754C\u6587 -es=\u897F\u73ED\u7259\u6587 -et=\u611B\u6C99\u5C3C\u4E9E\u6587 -eu=\u5DF4\u65AF\u514B\u6587 -fa=\u6CE2\u65AF\u6587 -ff=\u5BCC\u62C9\u6587 -fi=\u82AC\u862D\u6587 -fj=\u6590\u6FDF\u6587 -fo=\u6CD5\u7F85\u6587 -fr=\u6CD5\u6587 -fy=\u5F17\u5229\u7136\u6587 -ga=\u611B\u723E\u862D\u6587 -gd=\u8607\u683C\u862D\u84CB\u723E\u65B9\u8A00 -gl=\u52A0\u91CC\u897F\u4E9E\u6587 -gn=\u74DC\u62C9\u5C3C\u6587 -gu=\u53E4\u5409\u62C9\u7279\u6587 -gv=\u66FC\u5CF6\u6587 -ha=\u8C6A\u85A9\u6587 -he=\u5E0C\u4F2F\u4F86\u6587 -hi=\u5317\u5370\u5EA6\u6587 -ho=\u65B0\u91CC\u6728\u6258\u6587 -hr=\u514B\u7F85\u57C3\u897F\u4E9E\u6587 -ht=\u6D77\u5730\u6587 +aa=\u963f\u6cd5\u6587 +ab=\u963f\u5e03\u54c8\u897f\u4e9e\u6587 +ae=\u963f\u672a\u65af\u5854\u6587 +af=\u5357\u975e\u8377\u862d\u6587 +ak=\u963f\u5bd2\u6587 +am=\u8863\u7d22\u6bd4\u4e9e\u6587 +an=\u4e9e\u62c9\u5ca1\u6587 +ar=\u963f\u62c9\u4f2f\u6587 +as=\u963f\u85a9\u59c6\u6587 +av=\u963f\u74e6\u96f7\u6587 +ay=\u4e9e\u6469\u62c9\u6587 +az=\u4e9e\u585e\u62dc\u7136\u6587 +ba=\u5df4\u4ec0\u5580\u723e\u6587 +be=\u767d\u4fc4\u7f85\u65af\u6587 +bg=\u4fdd\u52a0\u5229\u4e9e\u6587 +bh=\u6bd4\u54c8\u723e\u6587 +bi=\u6bd4\u65af\u62c9\u99ac\u6587 +bm=\u73ed\u5df4\u62c9\u6587 +bn=\u5b5f\u52a0\u62c9\u6587 +bo=\u897f\u85cf\u6587 +br=\u4e0d\u5217\u5854\u5c3c\u6587 +bs=\u6ce2\u58eb\u5c3c\u4e9e\u6587 +ca=\u5609\u6cf0\u7f85\u5c3c\u4e9e\u6587 +ce=\u8d64\u6b3d\u6587 +ch=\u67e5\u6469\u6d1b\u6587 +co=\u79d1\u897f\u5609\u6587 +cr=\u514b\u91cc\u6587 +cs=\u6377\u514b\u6587 +cu=\u6559\u6703\u65af\u62c9\u592b\u6587 +cv=\u695a\u74e6\u58eb\u6587 +cy=\u5a01\u723e\u65af\u6587 +da=\u4e39\u9ea5\u6587 +de=\u5fb7\u6587 +dv=\u8fea\u7dad\u897f\u6587 +dz=\u4e0d\u4e39\u6587 +ee=\u57c3\u7dad\u6587 +el=\u5e0c\u81d8\u6587 +en=\u82f1\u6587 +eo=\u4e16\u754c\u6587 +es=\u897f\u73ed\u7259\u6587 +et=\u611b\u6c99\u5c3c\u4e9e\u6587 +eu=\u5df4\u65af\u514b\u6587 +fa=\u6ce2\u65af\u6587 +ff=\u5bcc\u62c9\u6587 +fi=\u82ac\u862d\u6587 +fj=\u6590\u6fdf\u6587 +fo=\u6cd5\u7f85\u6587 +fr=\u6cd5\u6587 +fy=\u5f17\u5229\u7136\u6587 +ga=\u611b\u723e\u862d\u6587 +gd=\u8607\u683c\u862d\u84cb\u723e\u65b9\u8a00 +gl=\u52a0\u91cc\u897f\u4e9e\u6587 +gn=\u74dc\u62c9\u5c3c\u6587 +gu=\u53e4\u5409\u62c9\u7279\u6587 +gv=\u66fc\u5cf6\u6587 +ha=\u8c6a\u85a9\u6587 +he=\u5e0c\u4f2f\u4f86\u6587 +hi=\u5317\u5370\u5ea6\u6587 +ho=\u65b0\u91cc\u6728\u6258\u6587 +hr=\u514b\u7f85\u57c3\u897f\u4e9e\u6587 +ht=\u6d77\u5730\u6587 hu=\u5308\u7259\u5229\u6587 -hy=\u4E9E\u7F8E\u5C3C\u4E9E\u6587 -hz=\u8D6B\u96F7\u7F85\u6587 -ia=\u4EBA\u5DE5\u570B\u969B\u6587 -id=\u5370\u5C3C\u6587 -ie=\u4EBA\u5DE5\u570B\u969B\u6587 -ig=\u4F0A\u5E03\u6587 -ii=\u56DB\u5DDD\u5937\u6587 -ik=\u4F9D\u5974\u76AE\u7DAD\u514B\u6587 -in=\u5370\u5C3C\u6587 -io=\u4F0A\u591A\u6587 -is=\u51B0\u5CF6\u6587 -it=\u7FA9\u5927\u5229\u6587 -iu=\u4F0A\u52AA\u4F0A\u7279\u6587 -iw=\u5E0C\u4F2F\u4F86\u6587 -ja=\u65E5\u6587 -ji=\u610F\u7B2C\u7DD2\u6587 -jv=\u722A\u54C7\u6587 -ka=\u55AC\u6CBB\u4E9E\u6587 -kg=\u525B\u679C\u6587 -ki=\u57FA\u5EAB\u7336\u6587 -kj=\u5361\u7063\u4E9E\u99AC -kk=\u54C8\u85A9\u514B\u6587 -kl=\u683C\u9675\u862D\u6587 -km=\u67EC\u57D4\u5BE8\u6587 -kn=\u574E\u90A3\u9054\u6587 -ko=\u97D3\u6587 -kr=\u5361\u52AA\u91CC\u6587 -ks=\u5580\u4EC0\u7C73\u723E\u6587 -ku=\u5EAB\u5FB7\u6587 -kv=\u79D1\u5BC6\u6587 -kw=\u5EB7\u74E6\u8033\u6587 -ky=\u5409\u723E\u5409\u65AF\u6587 -la=\u62C9\u4E01\u6587 -lb=\u76E7\u68EE\u5821\u6587 -lg=\u5E72\u9054\u6587 +hy=\u4e9e\u7f8e\u5c3c\u4e9e\u6587 +hz=\u8d6b\u96f7\u7f85\u6587 +ia=\u4eba\u5de5\u570b\u969b\u6587 +id=\u5370\u5c3c\u6587 +ie=\u4eba\u5de5\u570b\u969b\u6587 +ig=\u4f0a\u5e03\u6587 +ii=\u56db\u5ddd\u5937\u6587 +ik=\u4f9d\u5974\u76ae\u7dad\u514b\u6587 +in=\u5370\u5c3c\u6587 +io=\u4f0a\u591a\u6587 +is=\u51b0\u5cf6\u6587 +it=\u7fa9\u5927\u5229\u6587 +iu=\u611b\u65af\u57fa\u6469\u6587 +iw=\u5e0c\u4f2f\u4f86\u6587 +ja=\u65e5\u6587 +ji=\u610f\u7b2c\u7dd2\u6587 +jv=\u722a\u54c7\u6587 +ka=\u55ac\u6cbb\u4e9e\u6587 +kg= \u525b\u679c\u6587 +ki=\u57fa\u5eab\u7336\u6587 +kj=\u5361\u7063\u4e9e\u99ac +kk=\u54c8\u85a9\u514b\u6587 +kl=\u683c\u9675\u862d\u6587 +km=\u67ec\u57d4\u5be8\u6587 +kn=\u574e\u90a3\u9054\u6587 +ko=\u97d3\u6587 +kr=\u5361\u52aa\u91cc\u6587 +ks=\u5580\u4ec0\u7c73\u723e\u6587 +ku=\u5eab\u5fb7\u6587 +kv=\u79d1\u5bc6\u6587 +kw=\u5eb7\u74e6\u8033\u6587 +ky=\u5409\u723e\u5409\u65af\u6587 +la=\u62c9\u4e01\u6587 +lb=\u76e7\u68ee\u5821\u6587 +lg=\u5e72\u9054\u6587 li=\u6797\u5821\u6587 -ln=\u9675\u52A0\u62C9\u6587 -lo=\u5BEE\u6587 -lt=\u7ACB\u9676\u5B9B\u6587 -lu=\u76E7\u5DF4-\u52A0\u4E39\u52A0\u6587 -lv=\u62C9\u812B\u7DAD\u4E9E\u6587 (\u5217\u7279\u6587) -mg=\u99AC\u62C9\u52A0\u897F\u6587 -mh=\u99AC\u7D39\u723E\u7FA4\u5CF6\u6587 -mi=\u6BDB\u5229\u6587 -mk=\u99AC\u5176\u9813\u6587 -ml=\u99AC\u4F86\u4E9E\u62C9\u59C6\u6587 -mn=\u8499\u53E4\u6587 -mo=\u6469\u723E\u9054\u7DAD\u4E9E\u6587 -mr=\u99AC\u62C9\u5730\u6587 -ms=\u99AC\u4F86\u6587 -mt=\u99AC\u723E\u4ED6\u6587 -my=\u7DEC\u7538\u6587 -na=\u8AFE\u9B6F\u6587 -nb=\u632A\u5A01\u6CE2\u514B\u9ED8\u723E\u6587 -nd=\u5317\u6069\u5FB7\u8C9D\u52D2\u6587 -ne=\u5C3C\u6CCA\u723E\u6587 -ng=\u6069\u6771\u52A0\u6587 -nl=\u8377\u862D\u6587 -nn=\u632A\u5A01\u8010\u8AFE\u65AF\u514B\u6587 -no=\u632A\u5A01\u6587 -nr=\u5357\u6069\u5FB7\u8C9D\u52D2\u6587 -nv=\u7D0D\u74E6\u8377\u6587 -ny=\u5C3C\u63DA\u8CC8\u6587 -oc=\u5967\u897F\u5766\u6587 -oj=\u5967\u6770\u5E03\u97CB\u6587 -om=\u5967\u7F85\u8499\u6587 -or=\u6B50\u5229\u4E9E\u6587 -os=\u5967\u585E\u68AF\u6587 -pa=\u65C1\u906E\u666E\u6587 -pi=\u5E15\u91CC\u6587 -pl=\u6CE2\u862D\u6587 -ps=\u666E\u4EC0\u5716\u6587 +ln=\u9675\u52a0\u62c9\u6587 +lo=\u5bee\u6587 +lt=\u7acb\u9676\u5b9b\u6587 +lu=\u76e7\u5df4-\u52a0\u4e39\u52a0\u6587 +lv=\u62c9\u812b\u7dad\u4e9e\u6587 (\u5217\u7279\u6587) +mg=\u99ac\u62c9\u52a0\u897f\u6587 +mh=\u99ac\u7d39\u723e\u7fa4\u5cf6\u6587 +mi=\u6bdb\u5229\u6587 +mk=\u99ac\u5176\u9813\u6587 +ml=\u99ac\u4f86\u4e9e\u62c9\u59c6\u6587 +mn=\u8499\u53e4\u6587 +mo=\u6469\u723e\u9054\u7dad\u4e9e\u6587 +mr=\u99ac\u62c9\u5730\u6587 +ms=\u99ac\u4f86\u6587 +mt=\u99ac\u723e\u4ed6\u6587 +my=\u7dec\u7538\u6587 +na=\u8afe\u9b6f\u6587 +nb=\u632a\u5a01\u6ce2\u514b\u9ed8\u723e\u6587 +nd=\u5317\u6069\u5fb7\u8c9d\u52d2\u6587 +ne=\u5c3c\u6cca\u723e\u6587 +ng=\u6069\u6771\u52a0\u6587 +nl=\u8377\u862d\u6587 +nn=\u632a\u5a01(\u8010\u8afe\u65af\u514b\u6587 +no=\u632a\u5a01\u6587 +nr=\u5357\u6069\u5fb7\u8c9d\u52d2\u6587 +nv=\u7d0d\u74e6\u8377\u6587 +ny=\u5c3c\u63da\u8cc8\u6587 +oc=\u5967\u897f\u5766\u6587 +oj=\u5967\u6770\u5e03\u97cb\u6587 +om=\u5967\u7f85\u8499\u6587 +or=\u6b50\u5229\u4e9e\u6587 +os=\u5967\u585e\u68af\u6587 +pa=\u65c1\u906e\u666e\u6587 +pi=\u5e15\u91cc\u6587 +pl=\u6ce2\u862d\u6587 +ps=\u666e\u4ec0\u5716\u6587 pt=\u8461\u8404\u7259\u6587 -qu=\u84CB\u695A\u74E6\u6587 -rm=\u91CC\u6258\u7F85\u66FC\u65AF\u6587 -rn=\u79D1\u9686\u5730\u6587 -ro=\u7F85\u99AC\u5C3C\u4E9E\u6587 -ru=\u4FC4\u6587 -rw=\u91D1\u63DA\u842C\u7B54\u6587 -sa=\u68B5\u6587\u5B57\u6BCD -sc=\u85A9\u4E01\u5C3C\u4E9E\u6587 -sd=\u4FE1\u5FB7\u6587 -se=\u5317\u6C99\u5BC6\u6587 -sg=\u6851\u683C\u9B6F\u6587 -si=\u932B\u862D\u6587 -sk=\u65AF\u6D1B\u4F10\u514B\u6587 -sl=\u65AF\u62C9\u7DAD\u5C3C\u4E9E\u6587 -sm=\u85A9\u6469\u4E9E\u6587 -sn=\u980C\u54C8\u6587 -so=\u7D22\u99AC\u5229\u6587 -sq=\u963F\u723E\u5DF4\u5C3C\u4E9E\u6587 -sr=\u585E\u723E\u7DAD\u4E9E\u6587 -ss=\u897F\u65AF\u74E6\u63D0\u6587 -st=\u8CF4\u7D22\u6258\u6587 -su=\u5DFD\u4E39\u6587 -sv=\u745E\u5178\u6587 -sw=\u53F2\u74E6\u897F\u91CC\u6587 -ta=\u5766\u7C73\u723E\u6587 -te=\u7279\u62C9\u53E4\u6587 -tg=\u5854\u5409\u514B\u6587 -th=\u6CF0\u6587 -ti=\u63D0\u683C\u5229\u5C3C\u4E9E\u6587 -tk=\u571F\u5EAB\u66FC\u6587 -tl=\u5854\u52A0\u62C9\u65CF\u6587 -tn=\u585E\u8332\u74E6\u7D0D\u6587 -to=\u6771\u52A0\u6587 -tr=\u571F\u8033\u5176\u6587 -ts=\u980C\u52A0\u6587 -tt=\u97C3\u977C\u6587 -tw=\u5951\u7DAD\u6587 -ty=\u5927\u6EAA\u5730\u6587 -ug=\u7DAD\u543E\u723E\u6587 -uk=\u70CF\u514B\u862D\u6587 -ur=\u70CF\u90FD\u6587 -uz=\u70CF\u8332\u5225\u514B\u6587 +qu=\u84cb\u695a\u74e6\u6587 +rm=\u91cc\u6258\u7f85\u66fc\u65af\u6587 +rn=\u79d1\u9686\u5730\u6587 +ro=\u7f85\u99ac\u5c3c\u4e9e\u6587 +ru=\u4fc4\u6587 +rw=\u91d1\u63da\u842c\u7b54\u6587 +sa=\u68b5\u6587\u5b57\u6bcd +sc=\u85a9\u4e01\u5c3c\u4e9e\u6587 +sd=\u4fe1\u5fb7\u6587 +se=\u5317\u6c99\u5bc6\u6587 +sg=\u6851\u683c\u9b6f\u6587 +si=\u932b\u862d\u6587 +sk=\u65af\u6d1b\u4f10\u514b\u6587 +sl=\u65af\u62c9\u7dad\u5c3c\u4e9e\u6587 +sm=\u85a9\u6469\u4e9e\u6587 +sn=\u980c\u54c8\u6587 +so=\u7d22\u99ac\u5229\u6587 +sq=\u963f\u723e\u5df4\u5c3c\u4e9e\u6587 +sr=\u585e\u723e\u7dad\u4e9e\u6587 +ss=\u897f\u65af\u74e6\u63d0\u6587 +st=\u8cf4\u7d22\u6258\u6587 +su=\u5dfd\u4e39\u6587 +sv=\u745e\u5178\u6587 +sw=\u53f2\u74e6\u897f\u91cc\u6587 +ta=\u5766\u7c73\u723e\u6587 +te=\u7279\u62c9\u53e4\u6587 +tg=\u5854\u5409\u514b\u6587 +th=\u6cf0\u6587 +ti=\u63d0\u683c\u5229\u5c3c\u4e9e\u6587 +tk=\u571f\u5eab\u66fc\u6587 +tl=\u5854\u52a0\u62c9\u65cf\u6587 +tn=\u585e\u8332\u74e6\u7d0d\u6587 +to=\u6771\u52a0\u6587 +tr=\u571f\u8033\u5176\u6587 +ts=\u980c\u52a0\u6587 +tt=\u97c3\u977c\u6587 +tw=\u5951\u7dad\u6587 +ty=\u5927\u6eaa\u5730\u6587 +ug=\u7dad\u543e\u723e\u6587 +uk=\u70cf\u514b\u862d\u6587 +ur=\u70cf\u90fd\u6587 +uz=\u70cf\u8332\u5225\u514b\u6587 ve=\u6587\u9054\u6587 -vi=\u8D8A\u5357\u6587 -vo=\u6C83\u62C9\u666E\u514B\u6587 -wa=\u83EF\u9686\u6587 -wo=\u6C83\u6D1B\u592B\u6587 -xh=\u5ED3\u85A9\u6587 -yi=\u610F\u7B2C\u7DD2\u6587 -yo=\u512A\u9B6F\u5DF4\u6587 -za=\u58EF\u6587 -zh=\u4E2D\u6587 -zu=\u7956\u9B6F\u6587 +vi=\u8d8a\u5357\u6587 +vo=\u6c83\u62c9\u666e\u514b\u6587 +wa=\u83ef\u9686\u6587 +wo=\u6c83\u6d1b\u592b\u6587 +xh=\u5ed3\u85a9\u6587 +yi=\u610f\u7b2c\u7dd2\u6587 +yo=\u512a\u9b6f\u5df4\u6587 +za=\u58ef\u6587 +zh=\u4e2d\u6587 +zu=\u7956\u9b6f\u6587 # key is ISO 639.2 language code aar=\u963F\u6CD5\u6587 @@ -321,12 +320,12 @@ cop=\u79D1\u666E\u7279\u6587 cor=\u5EB7\u74E6\u8033\u6587 cos=\u79D1\u897F\u5609\u6587 -cpe=\u514B\u91CC\u5967\u723E\u6DF7\u548C\u8A9E\uFF0C\u4EE5\u82F1\u8A9E\u70BA\u57FA\u790E -cpf=\u514B\u91CC\u5967\u723E\u6DF7\u548C\u8A9E\uFF0C\u4EE5\u6CD5\u8A9E\u70BA\u57FA\u790E -cpp=\u514B\u91CC\u5967\u723E\u6DF7\u548C\u8A9E\uFF0C\u4EE5\u8461\u8404\u7259\u8A9E\u70BA\u57FA\u790E +cpe=\u6B50\u6D32\u8154\u8ABF\u548C\u6D0B\u6D87\u6FF1\uFF0C\u6E90\u81EA\u82F1\u6587\u7684(\u5176\u4ED6) +cpf=\u6B50\u6D32\u8154\u8ABF\u548C\u6D0B\u6D87\u6FF1\uFF0C\u6E90\u81EA\u6CD5\u6587\u7684(\u5176\u4ED6) +cpp=\u6B50\u6D32\u8154\u8ABF\u548C\u6D0B\u6D87\u6FF1\uFF0C\u6E90\u81EA\u8461\u8404\u7259\u6587\u7684(\u5176\u4ED6) cre=\u514B\u91CC\u6587 crh=\u514B\u91CC\u7C73\u4E9E\u534A\u5CF6\u7684\u571F\u8033\u5176\u6587\uFF1B\u514B\u91CC\u7C73\u4E9E\u534A\u5CF6\u7684\u5854\u5854\u723E\u6587 -crp=\u514B\u91CC\u5967\u723E\u6DF7\u548C\u8A9E +crp=\u5176\u4ED6\u514B\u91CC\u5967\u723E\u6DF7\u548C\u8A9E\u7CFB csb=\u5361\u8212\u5E03\u6587 cus=\u5EAB\u65BD\u7279\u8AF8\u8A9E\u8A00 cze=\u6377\u514B\u6587 @@ -462,7 +461,7 @@ kor=\u97D3\u6587 kos=\u79D1\u65AF\u96F7\u6069\u6587 kpe=\u514B\u4F69\u5217\u6587 -krc=\u5361\u62C9\u6070\u4F0A-\u5DF4\u5361\u723E\u6587 +krc=\u5361\u62C9\u67F4-\u5305\u723E\u5361\u723E\u6587 krl=\u5361\u7D2F\u5229\u963F\u6587 kro=\u514B\u9B6F\u6587 kru=\u5EAB\u9B6F\u79D1\u6587 @@ -472,7 +471,7 @@ kut=\u5EAB\u7279\u5948\u6587 lad=\u62C9\u8FEA\u8AFE\u6587 lah=\u62C9\u4EA8\u9054\u6587 -lam=\u6717\u5DF4\u6587 +lam=\u862D\u5DF4\u6587 lao=\u5BEE\u6587 lat=\u62C9\u4E01\u6587 lav=\u62C9\u812B\u7DAD\u4E9E\u6587 (\u5217\u7279\u6587) @@ -509,7 +508,7 @@ mga=\u4E2D\u53E4\u611B\u723E\u862D\u6587 (900-1200) mic=\u7C73\u514B\u99AC\u514B\u6587 min=\u7C73\u5357\u5361\u5821\u6587 -mis=\u672A\u7DE8\u78BC\u8A9E\u8A00 +mis=\u6DF7\u96DC\u8A9E\u8AF8\u8A9E\u8A00 mkh=\u5B5F\u9AD8\u68C9\u8AF8\u8A9E\u8A00 mlg=\u99AC\u62C9\u52A0\u897F\u6587 mlt=\u99AC\u723E\u4ED6\u6587 @@ -541,11 +540,11 @@ nic=\u5C3C\u52A0\u62C9\u74DC\u79D1\u591A\u5DF4 niu=\u7D10\u57C3\u6587 nno=\u632A\u5A01\u8010\u8AFE\u65AF\u514B\u6587 -nob=\u632A\u5A01\u6CE2\u514B\u9ED8\u723E\u6587 +nob=\u535A\u514B\u99AC\u723E\u6587\uFF0C\u632A\u5A01 nog=\u8AFE\u84CB\u6587 non=\u53E4\u8AFE\u723E\u65AF\u6587 nor=\u632A\u5A01\u6587 -nqo=\u897F\u975E\u66F8\u9762\u6587 (N'Ko) +nqo=\u897F\u975E\u66F8\u9762\u8A9E\u8A00 (N'Ko) nso=\u5317\u7D22\u6258\u6587 nub=\u52AA\u6BD4\u4E9E\u8AF8\u8A9E\u8A00 nwc=\u53E4\u5C3C\u74E6\u723E\u6587 @@ -592,7 +591,7 @@ rup=\u7F85\u99AC\u5C3C\u4E9E\u8A9E\u7CFB rus=\u4FC4\u6587 sad=\u6851\u9054\u97CB\u6587 -sag=\u6851\u6208\u6587 +sag=\u6851\u6208\u8A9E sah=\u96C5\u5EAB\u7279\u6587 sai=\u5176\u4ED6\u5357\u7F8E\u5370\u7B2C\u5B89\u6587 sal=\u85A9\u5229\u4EC0\u8AF8\u8A9E\u8A00 @@ -684,7 +683,7 @@ und=\u672A\u78BA\u5B9A\u7684 urd=\u70CF\u90FD\u6587 uzb=\u70CF\u8332\u5225\u514B\u6587 -vai=\u74E6\u4F0A\u6587 +vai=\u8D8A\u5357\u6587 Vai ven=\u6587\u9054\u6587 vie=\u8D8A\u5357\u6587 vol=\u6C83\u62C9\u666E\u514B\u6587 @@ -740,7 +739,7 @@ Cirt=\u8272\u65AF\u6587 Copt=\u79D1\u666E\u7279\u6587 Cprt=\u585E\u6D66\u8DEF\u65AF\u6587 -Cyrl=\u897F\u91CC\u4FC4\u6587 +Cyrl=\u897F\u91CC\u4FC4\u8A9E Cyrs=\u897F\u91CC\u723E\u6587 (\u53E4\u6559\u6703\u65AF\u62C9\u592B\u6587\u8B8A\u9AD4) Deva=\u68B5\u6587 Dsrt=\u5FB7\u745F\u96F7\u7279\u6587 @@ -759,7 +758,7 @@ Gujr=\u53E4\u5409\u62C9\u7279\u6587 Guru=\u53E4\u723E\u7A46\u5947\u6587 Hang=\u8AFA\u6587 -Hani=\u6F22\u6587 +Hani=\u6F22\u8A9E Hano=\u54C8\u52AA\u8AFE\u6587 Hans=\u7C21\u9AD4\u4E2D\u6587 Hant=\u7E41\u9AD4\u4E2D\u6587 @@ -791,12 +790,12 @@ Linb=\u7DDA\u6027\u6587\u5B57 B Lisu=\u9ECE\u50F3\u6587 Loma=\u6D1B\u99AC\u6587 -Lyci=\u5442\u897F\u4E9E\u6587 -Lydi=\u91CC\u5E95\u4E9E\u6587 +Lyci=\u5442\u897F\u4E9E\u8A9E +Lydi=\u91CC\u5E95\u4E9E\u8A9E Mand=\u66FC\u5B89\u5E95\u6587 Mani=\u6469\u5C3C\u6559\u6587 Maya=\u746A\u96C5\u8C61\u5F62\u6587\u5B57 -Mend=\u9580\u8FEA\u6587 +Mend=\u9580\u8FEA\u8A9E Merc=\u9EA5\u7F85\u57C3\u6587\u884C\u8349 Mero=\u9EA5\u7F85\u57C3\u6587 Mlym=\u99AC\u4F86\u4E9E\u62C9\u59C6\u6587 @@ -807,7 +806,7 @@ Narb=\u5317\u963F\u62C9\u4F2F\u53E4\u6587 Nbat=\u7D0D\u5DF4\u6CF0\u6587 Nkgb=\u7D0D\u897F\u8FE6\u5DF4\u6587 -Nkoo=\u897F\u975E\u66F8\u9762\u6587 (N'Ko) +Nkoo=\u897F\u975E\u66F8\u9762\u8A9E\u8A00 (N'Ko) Ogam=\u6B50\u7518\u6587 Olck=\u6851\u5854\u5229\u6587 Orkh=\u9102\u723E\u6E3E\u6587 @@ -868,256 +867,256 @@ # country names # key is ISO 3166 country code -AD=\u5B89\u9053\u723E -AE=\u963F\u62C9\u4F2F\u806F\u5408\u5927\u516C\u570B -AF=\u963F\u5BCC\u6C57 -AG=\u5B89\u5730\u5361\u53CA\u5DF4\u5E03\u9054 -AI=\u5B89\u572D\u62C9 -AL=\u963F\u723E\u5DF4\u5C3C\u4E9E -AM=\u4E9E\u7F8E\u5C3C\u4E9E -AN=\u8377\u5C6C\u5B89\u5730\u5217\u65AF -AO=\u5B89\u54E5\u62C9 -AQ=\u5357\u6975\u6D32 -AR=\u963F\u6839\u5EF7 -AS=\u7F8E\u5C6C\u85A9\u6469\u4E9E +AD=\u5b89\u9053\u723e +AE=\u963f\u62c9\u4f2f\u806f\u5408\u5927\u516c\u570b +AF=\u963f\u5bcc\u6c57 +AG=\u5b89\u5730\u5361\u53ca\u5df4\u5e03\u9054 +AI=\u5b89\u572d\u62c9 +AL=\u963f\u723e\u5df4\u5c3c\u4e9e +AM=\u4e9e\u7f8e\u5c3c\u4e9e +AN=\u8377\u5c6c\u5b89\u66ff\u5217\u65af +AO=\u5b89\u54e5\u62c9 +AQ=\u5357\u6975\u6d32 +AR=\u963f\u6839\u5ef7 +AS=\u7f8e\u5c6c\u85a9\u6469\u4e9e AT=\u5967\u5730\u5229 -AU=\u6FB3\u5927\u5229\u4E9E -AW=\u963F\u8DEF\u5DF4 -AX=\u5967\u862D\u7FA4\u5CF6 -AZ=\u4E9E\u585E\u62DC\u7136 -BA=\u6CE2\u58EB\u5C3C\u4E9E\u8D6B\u585E\u54E5\u7DAD\u7D0D -BB=\u5DF4\u8C9D\u591A -BD=\u5B5F\u52A0\u62C9 -BE=\u6BD4\u5229\u6642 -BF=\u5E03\u5409\u7D0D\u6CD5\u7D22 -BG=\u4FDD\u52A0\u5229\u4E9E -BH=\u5DF4\u6797 -BI=\u6D66\u9686\u5730 -BJ=\u8C9D\u5357 +AU=\u6fb3\u5927\u5229\u4e9e +AW=\u963f\u8def\u5df4 +AX=\u5967\u862d\u7fa4\u5cf6 +AZ=\u4e9e\u585e\u62dc\u7136 +BA=\u6ce2\u58eb\u5c3c\u4e9e\u8d6b\u585e\u54e5\u7dad\u7d0d +BB=\u5df4\u8c9d\u591a +BD=\u5b5f\u52a0\u62c9 +BE=\u6bd4\u5229\u6642 +BF=\u5e03\u5409\u7d0d\u6cd5\u7d22 +BG=\u4fdd\u52a0\u5229\u4e9e +BH=\u5df4\u6797 +BI=\u6d66\u9686\u5730 +BJ=\u8c9d\u5357 BL=\u8056\u5DF4\u745F\u7C73 -BM=\u767E\u6155\u9054 -BN=\u6C76\u840A -BO=\u73BB\u5229\u7DAD\u4E9E +BM=\u767e\u6155\u9054 +BN=\u6c76\u840a +BO=\u73bb\u5229\u7dad\u4e9e BQ=\u6CE2\u7D0D\u723E\u5CF6\u3001\u8056\u827E\u65AF\u5854\u5F97\u65AF\u5CF6\u53CA\u85A9\u5DF4\u5CF6 -BR=\u5DF4\u897F -BS=\u5DF4\u54C8\u99AC -BT=\u4E0D\u4E39 -BV=\u5E03\u5A01\u5CF6 -BW=\u6CE2\u672D\u90A3 -BY=\u767D\u4FC4\u7F85\u65AF -BZ=\u8C9D\u91CC\u65AF -CA=\u52A0\u62FF\u5927 -CC=\u53EF\u53EF\u65AF\u7FA4\u5CF6 -CD=\u525B\u679C\u6C11\u4E3B\u5171\u548C\u570B -CF=\u4E2D\u975E -CG=\u525B\u679C -CH=\u745E\u58EB -CI=\u8C61\u7259\u6D77\u5CB8 -CK=\u5EAB\u514B\u7FA4\u5CF6 -CL=\u667A\u5229 -CM=\u5580\u9EA5\u9686 -CN=\u4E2D\u570B -CO=\u54E5\u502B\u6BD4\u4E9E -CR=\u54E5\u65AF\u5927\u9ECE\u52A0 -CS=\u585E\u723E\u7DAD\u4E9E\u53CA\u8499\u7279\u5C3C\u54E5\u7F85 -CU=\u53E4\u5DF4 -CV=\u7DAD\u5FB7\u89D2 +BR=\u5df4\u897f +BS=\u5df4\u54c8\u99ac +BT=\u4e0d\u4e39 +BV=\u5e03\u5a01\u5cf6 +BW=\u6ce2\u672d\u90a3 +BY=\u767d\u4fc4\u7f85\u65af +BZ=\u8c9d\u91cc\u65af +CA=\u52a0\u62ff\u5927 +CC=\u53ef\u53ef\u65af\u7fa4\u5cf6 +CD=\u525b\u679c\u6c11\u4e3b\u5171\u548c\u570b +CF=\u4e2d\u975e +CG=\u525b\u679c +CH=\u745e\u58eb +CI=\u8c61\u7259\u6d77\u5cb8 +CK=\u5eab\u514b\u7fa4\u5cf6 +CL=\u667a\u5229 +CM=\u5580\u9ea5\u9686 +CN=\u4e2d\u570b +CO=\u54e5\u502b\u6bd4\u4e9e +CR=\u54e5\u65af\u5927\u9ece\u52a0 +CS=\u585e\u723e\u7dad\u4e9e\u53ca\u8499\u7279\u5c3c\u54e5\u7f85 +CU=\u53e4\u5df4 +CV=\u7dad\u5fb7\u89d2 CW=\u53E4\u62C9\u679C -CX=\u8056\u8A95\u5CF6 -CY=\u8CFD\u666E\u52D2\u65AF -CZ=\u6377\u514B\u5171\u548C\u570B -DE=\u5FB7\u570B -DJ=\u5409\u5E03\u5730 -DK=\u4E39\u9EA5 -DM=\u591A\u7C73\u5C3C\u514B -DO=\u591A\u660E\u5C3C\u52A0 -DZ=\u963F\u723E\u53CA\u5229\u4E9E -EC=\u5384\u74DC\u591A\u723E -EE=\u611B\u6C99\u5C3C\u4E9E -EG=\u57C3\u53CA -EH=\u897F\u6492\u54C8\u62C9 -ER=\u5384\u5229\u5782\u4E9E -ES=\u897F\u73ED\u7259 -ET=\u8863\u7D22\u6BD4\u4E9E -FI=\u82AC\u862D -FJ=\u6590\u6FDF -FK=\u798F\u514B\u862D\u7FA4\u5CF6 -FM=\u5BC6\u514B\u7F85\u5C3C\u897F\u4E9E\u806F\u90A6 -FO=\u6CD5\u9B6F\u7FA4\u5CF6 -FR=\u6CD5\u570B -GA=\u52A0\u5F6D -GB=\u82F1\u570B -GD=\u683C\u745E\u90A3\u9054 -GE=\u55AC\u6CBB\u4E9E -GF=\u6CD5\u5C6C\u84CB\u4E9E\u7D0D +CX=\u8056\u8a95\u5cf6 +CY=\u8cfd\u666e\u52d2\u65af +CZ=\u6377\u514b\u5171\u548c\u570b +DE=\u5fb7\u570b +DJ=\u5409\u5e03\u5730 +DK=\u4e39\u9ea5 +DM=\u591a\u7c73\u5c3c\u514b +DO=\u591a\u660e\u5c3c\u52a0 +DZ=\u963f\u723e\u53ca\u5229 +EC=\u5384\u74dc\u591a\u723e +EE=\u611b\u6c99\u5c3c\u4e9e +EG=\u57c3\u53ca +EH=\u897f\u6492\u54c8\u62c9\u6c99\u6f20 +ER=\u5384\u5229\u5782\u4e9e +ES=\u897f\u73ed\u7259 +ET=\u8863\u7d22\u6bd4\u4e9e +FI=\u82ac\u862d +FJ=\u6590\u6fdf +FK=\u798f\u514b\u862d\u7fa4\u5cf6 +FM=\u5bc6\u514b\u7f85\u5c3c\u897f\u4e9e\u806f\u90a6 +FO=\u6cd5\u9b6f\u7fa4\u5cf6 +FR=\u6cd5\u570b +GA=\u52a0\u5f6d +GB=\u82f1\u570b +GD=\u683c\u745e\u90a3\u9054 +GE=\u55ac\u6cbb\u4e9e +GF=\u6cd5\u5c6c\u84cb\u4e9e\u7d0d GG=\u6839\u897F\u5CF6 -GH=\u8FE6\u7D0D -GI=\u76F4\u5E03\u7F85\u9640 -GL=\u683C\u9675\u862D -GM=\u7518\u6BD4\u4E9E -GN=\u5E7E\u5167\u4E9E -GP=\u54E5\u5FB7\u666E\u6D1B -GQ=\u8D64\u9053\u5E7E\u5167\u4E9E -GR=\u5E0C\u81D8 -GS=\u5357\u55AC\u6CBB\u4E9E\u548C\u5357\u6851\u5A01\u5947\u7FA4\u5CF6 -GT=\u74DC\u5730\u99AC\u62C9 -GU=\u95DC\u5CF6 -GW=\u5E7E\u5167\u4E9E\u6BD4\u7D22 -GY=\u84CB\u4E9E\u7D0D -HK=\u9999\u6E2F\u7279\u5225\u884C\u653F\u5340 -HM=\u8CC0\u5F97\u5CF6\u548C\u9EA5\u514B\u5510\u7D0D\u7FA4\u5CF6 -HN=\u5B8F\u90FD\u62C9\u65AF -HR=\u514B\u7F85\u57C3\u897F\u4E9E -HT=\u6D77\u5730 +GH=\u8fe6\u7d0d +GI=\u76f4\u5e03\u7f85\u9640 +GL=\u683c\u9675\u862d +GM=\u7518\u6bd4\u4e9e +GN=\u5e7e\u5167\u4e9e +GP=\u683c\u9675\u862d +GQ=\u8d64\u9053\u5e7e\u5167\u4e9e +GR=\u5e0c\u81d8 +GS=\u5357\u55ac\u6cbb\u4e9e\u548c\u5357\u6851\u5a01\u5947\u7fa4\u5cf6 +GT=\u74dc\u5730\u99ac\u62c9 +GU=\u95dc\u5cf6 +GW=\u6bd4\u7d22 +GY=\u84cb\u4e9e\u7d0d +HK=\u9999\u6e2f +HM=\u8cc0\u5f97\u5cf6\u548c\u9ea5\u514b\u5510\u7d0d\u7fa4\u5cf6 +HN=\u5b8f\u90fd\u62c9\u65af +HR=\u514b\u7f85\u57c3\u897f\u4e9e +HT=\u6d77\u5730 HU=\u5308\u7259\u5229 -ID=\u5370\u5C3C -IE=\u611B\u723E\u862D -IL=\u4EE5\u8272\u5217 +ID=\u5370\u5c3c +IE=\u611b\u723e\u862d +IL=\u4ee5\u8272\u5217 IM=\u66FC\u5CF6 -IN=\u5370\u5EA6 -IO=\u82F1\u5C6C\u5370\u5EA6\u6D0B\u5730\u5340 -IQ=\u4F0A\u62C9\u514B -IR=\u4F0A\u6717 -IS=\u51B0\u5CF6 -IT=\u7FA9\u5927\u5229 +IN=\u5370\u5ea6 +IO=\u82f1\u5c6c\u5370\u5ea6\u6d0b\u5730\u5340 +IQ=\u4f0a\u62c9\u514b +IR=\u4f0a\u6717 +IS=\u51b0\u5cf6 +IT=\u7fa9\u5927\u5229 JE=\u6FA4\u897F\u5CF6 -JM=\u7259\u8CB7\u52A0 -JO=\u7D04\u65E6 -JP=\u65E5\u672C -KE=\u80AF\u4E9E -KG=\u5409\u723E\u5409\u65AF -KH=\u67EC\u57D4\u5BE8 -KI=\u5409\u91CC\u5DF4\u65AF -KM=\u845B\u6469 -KN=\u8056\u514B\u91CC\u65AF\u591A\u798F\u53CA\u5C3C\u7DAD\u65AF -KP=\u5317\u97D3 -KR=\u5357\u97D3 -KW=\u79D1\u5A01\u7279 -KY=\u958B\u66FC\u7FA4\u5CF6 -KZ=\u54C8\u85A9\u514B -LA=\u5BEE\u570B -LB=\u9ECE\u5DF4\u5AE9 -LC=\u8056\u9732\u897F\u4E9E -LI=\u5217\u652F\u6566\u65AF\u767B -LK=\u65AF\u91CC\u862D\u5361 -LR=\u8CF4\u6BD4\u745E\u4E9E -LS=\u8CF4\u7D22\u6258 -LT=\u7ACB\u9676\u5B9B -LU=\u76E7\u68EE\u5821 -LV=\u62C9\u812B\u7DAD\u4E9E -LY=\u5229\u6BD4\u4E9E -MA=\u6469\u6D1B\u54E5 -MC=\u6469\u7D0D\u54E5 -MD=\u6469\u723E\u591A\u74E6 -ME=\u8499\u7279\u5C3C\u683C\u7F85 +JM=\u7259\u8cb7 +JO=\u7d04\u65e6 +JP=\u65e5\u672c +KE=\u80af\u4e9e +KG=\u5409\u723e\u5409\u65af +KH=\u67ec\u57d4\u5be8 +KI=\u5409\u91cc\u5df4\u65af +KM=\u845b\u6469 +KN=\u8056\u514b\u91cc\u65af\u591a\u798f\u53ca\u5c3c\u7dad\u65af +KP=\u5317\u97d3 +KR=\u5357\u97d3 +KW=\u79d1\u5a01\u7279 +KY=\u958b\u66fc\u7fa4\u5cf6 +KZ=\u54c8\u85a9\u514b +LA=\u5bee\u570b +LB=\u9ece\u5df4\u5ae9 +LC=\u8056\u9732\u897f\u4e9e +LI=\u5217\u652f\u6566\u65af\u767b +LK=\u65af\u91cc\u862d\u5361 +LR=\u8cf4\u6bd4\u745e\u4e9e +LS=\u8cf4\u7d22\u6258 +LT=\u7acb\u9676\u5b9b +LU=\u76e7\u68ee\u5821 +LV=\u62c9\u812b\u7dad\u4e9e +LY=\u5229\u6bd4\u4e9e +MA=\u6469\u6d1b\u54e5 +MC=\u6469\u7d0d\u54e5 +MD=\u6469\u723e\u591a\u74e6 +ME=\u8499\u7279\u5c3c\u683c\u7f85 MF=\u8056\u99AC\u4E01 -MG=\u99AC\u9054\u52A0\u65AF\u52A0 -MH=\u99AC\u7D39\u723E\u7FA4\u5CF6 -MK=\u99AC\u5176\u9813 -ML=\u99AC\u5229 -MM=\u7DEC\u7538 -MN=\u8499\u53E4 -MO=\u6FB3\u9580 -MP=\u5317\u99AC\u91CC\u5B89\u7D0D\u7FA4\u5CF6 -MQ=\u99AC\u4E01\u5C3C\u514B\u5CF6 -MR=\u8305\u5229\u5854\u5C3C\u4E9E -MS=\u8499\u7279\u8272\u62C9\u7279\u5CF6 -MT=\u99AC\u723E\u4ED6 -MU=\u6A21\u91CC\u897F\u65AF -MV=\u99AC\u723E\u5730\u592B -MW=\u99AC\u62C9\u5A01 -MX=\u58A8\u897F\u54E5 -MY=\u99AC\u4F86\u897F\u4E9E -MZ=\u83AB\u4E09\u6BD4\u514B -NA=\u7D0D\u7C73\u6BD4\u4E9E -NC=\u65B0\u5580\u91CC\u591A\u5C3C\u4E9E\u7FA4\u5CF6 -NE=\u5C3C\u65E5 -NF=\u8AFE\u798F\u514B\u5CF6 -NG=\u5948\u53CA\u5229\u4E9E -NI=\u5C3C\u52A0\u62C9\u74DC -NL=\u8377\u862D -NO=\u632A\u5A01 -NP=\u5C3C\u6CCA\u723E -NR=\u8AFE\u9B6F -NU=\u7D10\u5A01\u5CF6 -NZ=\u7D10\u897F\u862D -OM=\u963F\u66FC -PA=\u5DF4\u62FF\u99AC -PE=\u7955\u9B6F\u5171\u548C\u570B -PF=\u6CD5\u5C6C\u73BB\u91CC\u5C3C\u897F\u4E9E -PG=\u5DF4\u5E03\u4E9E\u7D10\u5E7E\u5167\u4E9E -PH=\u83F2\u5F8B\u8CD3 -PK=\u5DF4\u57FA\u65AF\u5766 -PL=\u6CE2\u862D -PM=\u8056\u76AE\u57C3\u723E\u548C\u5BC6\u514B\u9686 -PN=\u76AE\u7279\u5EB7 -PR=\u6CE2\u591A\u9ECE\u5404 -PS=\u5DF4\u52D2\u65AF\u5766 +MG=\u99ac\u9054\u52a0\u65af\u52a0 +MH=\u99ac\u7d39\u723e\u7fa4\u5cf6 +MK=\u99ac\u5176\u9813 +ML=\u99ac\u5229 +MM=\u7dec\u7538 +MN=\u8499\u53e4 +MO=\u6fb3\u9580 +MP=\u99ac\u91cc\u4e9e\u7d0d\u7fa4\u5cf6 +MQ=\u6cd5\u5c6c\u73bb\u91cc\u5c3c\u897f\u4e9e +MR=\u8305\u5229\u5854\u5c3c\u4e9e +MS=\u8499\u7279\u8272\u62c9\u7279\u5cf6 +MT=\u99ac\u723e\u4ed6 +MU=\u6a21\u91cc\u897f\u65af +MV=\u99ac\u723e\u5730\u592b +MW=\u99ac\u62c9\u5a01 +MX=\u58a8\u897f\u54e5 +MY=\u99ac\u4f86\u897f\u4e9e +MZ=\u83ab\u4e09\u6bd4\u514b +NA=\u7d0d\u7c73\u6bd4\u4e9e +NC=\u65b0\u5580\u91cc\u591a\u5c3c\u4e9e\u7fa4\u5cf6 +NE=\u5c3c\u65e5 +NF=\u8afe\u798f\u514b\u5cf6 +NG=\u5948\u53ca\u5229\u4e9e +NI=\u5c3c\u52a0\u62c9\u74dc +NL=\u8377\u862d +NO=\u632a\u5a01 +NP=\u5c3c\u6cca\u723e +NR=\u8afe\u9b6f +NU=\u7d10\u5a01\u5cf6 +NZ=\u7d10\u897f\u862d +OM=\u963f\u66fc +PA=\u5df4\u62ff\u99ac +PE=\u7955\u9b6f\u5171\u548c\u570b +PF=\u6cd5\u5c6c\u73bb\u91cc\u5c3c\u897f\u4e9e +PG=\u5df4\u5e03\u4e9e\u7d10\u5e7e\u5167\u4e9e +PH=\u83f2\u5f8b\u8cd3 +PK=\u5df4\u57fa\u65af\u5766 +PL=\u6ce2\u862d +PM=\u8056\u76ae\u57c3\u723e\u548c\u5bc6\u514b\u9686 +PN=\u76ae\u7279\u5eb7 +PR=\u6ce2\u591a\u9ece\u5404 +PS=\u5df4\u52d2\u65af\u5766 PT=\u8461\u8404\u7259 -PW=\u5E1B\u7409 -PY=\u5DF4\u62C9\u572D +PW=\u5e1b\u7409 +PY=\u5df4\u62c9\u572d QA=\u5361\u9054 -RE=\u7559\u5C3C\u65FA\u5CF6 -RO=\u7F85\u99AC\u5C3C\u4E9E -RS=\u585E\u723E\u7DAD\u4E9E -RU=\u4FC4\u7F85\u65AF\u806F\u90A6 -RW=\u76E7\u5B89\u9054 -SA=\u6C99\u70CF\u5730\u963F\u62C9\u4F2F -SB=\u7D22\u7F85\u9580\u7FA4\u5CF6 -SC=\u585E\u5E2D\u723E -SD=\u8607\u4E39 -SE=\u745E\u5178 -SG=\u65B0\u52A0\u5761 -SH=\u8056\u8D6B\u52D2\u62FF\u5CF6 -SI=\u65AF\u6D1B\u7DAD\u5C3C\u4E9E -SJ=\u51B7\u5CB8\u53CA\u592E\u9EA5\u6069\u5CF6 -SK=\u65AF\u6D1B\u4F10\u514B -SL=\u7345\u5B50\u5C71 -SM=\u8056\u99AC\u529B\u8AFE -SN=\u585E\u5167\u52A0\u723E -SO=\u7D22\u99AC\u5229\u4E9E +RE=\u7559\u5c3c\u65fa\u5cf6 +RO=\u7f85\u99ac\u5c3c\u4e9e +RS=\u585e\u723e\u7dad\u4e9e +RU=\u4fc4\u7f85\u65af\u806f\u90a6 +RW=\u76e7\u5b89\u9054 +SA=\u6c99\u70cf\u5730\u963f\u62c9\u4f2f +SB=\u7d22\u7f85\u9580\u7fa4\u5cf6 +SC=\u585e\u5e2d\u723e +SD=\u8607\u4e39 +SE=\u745e\u5178 +SG=\u65b0\u52a0\u5761 +SH=\u8056\u8d6b\u62ff\u52d2\u5cf6 +SI=\u65af\u6d1b\u7dad\u5c3c\u4e9e +SJ=\u51b7\u5cb8\u548c\u592e\u9ea5\u6069\u5cf6 +SK=\u65af\u6d1b\u4f10\u514b +SL=\u7345\u5b50\u5c71 +SM=\u8056\u99ac\u529b\u8afe +SN=\u585e\u5167\u52a0\u723e +SO=\u7d22\u99ac\u5229\u4e9e SR=\u8607\u5229\u5357 -ST=\u8056\u591A\u7F8E -SV=\u85A9\u723E\u74E6\u591A +ST=\u8056\u591a\u7f8e +SV=\u85a9\u723e\u74e6\u591a SX=\u8056\u99AC\u4E01 (\u8377\u862D\u90E8\u4EFD) -SY=\u6558\u5229\u4E9E -SZ=\u53F2\u74E6\u6FDF\u862D -TC=\u571F\u514B\u65AF\u548C\u958B\u5361\u65AF\u7FA4\u5CF6 -TD=\u67E5\u5FB7 -TF=\u6CD5\u570B\u5357\u65B9\u9818\u5730 -TG=\u591A\u54E5 -TH=\u6CF0\u570B -TJ=\u5854\u5409\u514B -TK=\u6258\u514B\u52DE\u7FA4\u5CF6 -TL=\u6771\u5E1D\u6C76 -TM=\u571F\u5EAB\u66FC -TN=\u7A81\u5C3C\u897F\u4E9E -TO=\u6771\u52A0 -TR=\u571F\u8033\u5176 -TT=\u5343\u91CC\u9054\u53CA\u6258\u5DF4\u54E5 -TV=\u5410\u74E6\u9B6F -TW=\u53F0\u7063 -TZ=\u5766\u5C1A\u5C3C\u4E9E -UA=\u70CF\u514B\u862D -UG=\u70CF\u5E72\u9054 -UM=\u7F8E\u570B\u5916\u5CF6 -US=\u7F8E\u570B -UY=\u70CF\u62C9\u572D -UZ=\u70CF\u8332\u5225\u514B\u65AF\u5766 -VA=\u68B5\u5E1D\u5CA1 -VC=\u8056\u6587\u68EE\u53CA\u683C\u745E\u90A3\u4E01 -VE=\u59D4\u5167\u745E\u62C9 -VG=\u82F1\u5C6C\u7DAD\u723E\u4EAC\u7FA4\u5CF6 -VI=\u7F8E\u5C6C\u7DAD\u723E\u4EAC\u7FA4\u5CF6 -VN=\u8D8A\u5357 -VU=\u842C\u90A3\u675C -WF=\u6C83\u5229\u65AF\u548C\u5BCC\u7A81\u7D0D -WS=\u85A9\u6469\u4E9E +SY=\u6558\u5229\u4e9e +SZ=\u53f2\u74e6\u6fdf\u862d +TC=\u571f\u514b\u65af\u548c\u958b\u5361\u65af\u7fa4\u5cf6 +TD=\u67e5\u5fb7 +TF=\u6cd5\u570b\u5357\u65b9\u9818\u5730 +TG=\u591a\u54e5 +TH=\u6cf0\u570b +TJ=\u5854\u5409\u514b +TK=\u6258\u514b\u52de\u7fa4\u5cf6 +TL=\u6771\u5e1d\u6c76 +TM=\u571f\u5eab\u66fc +TN=\u7a81\u5c3c\u897f\u4e9e +TO=\u6771\u52a0 +TR=\u571f\u8033\u5176 +TT=\u5343\u91cc\u9054\u53ca\u6258\u5df4\u54e5 +TV=\u5410\u74e6\u9b6f +TW=\u53f0\u7063 +TZ=\u5766\u5c1a\u5c3c\u4e9e +UA=\u70cf\u514b\u862d +UG=\u70cf\u5e72\u9054 +UM=\u7f8e\u570b\u5916\u5cf6 +US=\u7f8e\u570b +UY=\u70cf\u62c9\u572d +UZ=\u70cf\u8332\u5225\u514b\u65af\u5766 +VA=\u68b5\u5e1d\u5d17 +VC=\u8056\u6587\u68ee\u53ca\u683c\u745e\u90a3\u4e01 +VE=\u59d4\u5167\u745e\u62c9 +VG=\u82f1\u5c6c\u7dad\u723e\u4eac\u7fa4\u5cf6 +VI=\u7f8e\u5c6c\u7dad\u723e\u4eac\u7fa4\u5cf6 +VN=\u8d8a\u5357 +VU=\u842c\u90a3\u675c +WF=\u6c83\u5229\u65af\u548c\u5bcc\u7a81\u7d0d +WS=\u85a9\u6469\u4e9e YE=\u8449\u9580 -YT=\u99AC\u7D04\u7279\u5CF6 -ZA=\u5357\u975E -ZM=\u5C1A\u6BD4\u4E9E -ZW=\u8F9B\u5DF4\u5A01 +YT=\u99ac\u7d04\u7279\u5cf6 +ZA=\u5357\u975e +ZM=\u5c1a\u6bd4\u4e9e +ZW=\u8f9b\u5df4\u5a01 # territory names # key is UN M.49 country and area code @@ -1152,19 +1151,3 @@ 154=\u5317\u6B50 155=\u897F\u6B50 419=\u62C9\u4E01\u7F8E\u6D32\u548C\u52A0\u52D2\u6BD4\u6D77 - -# variant names -# key is %%variant -# rarely localized - -%%EURO=\u6B50\u5143 -%%B=\u6CE2\u514B\u9ED8\u723E\u6587 -%%NY=\u8010\u8AFE\u65AF\u514B\u6587 - - -# locale name patterns -# rarely localized - -DisplayNamePattern={0,choice,0#|1#{1}|2#{1} ({2})} -ListPattern={0,choice,0#|1#{1}|2#{1},{2}|3#{1},{2},{3}} -ListCompositionPattern={0},{1}
--- a/src/share/demo/jfc/TransparentRuler/transparentruler/Ruler.java Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/demo/jfc/TransparentRuler/transparentruler/Ruler.java Fri Jun 29 15:21:00 2012 +0100 @@ -134,6 +134,9 @@ { jPopupMenu.add(new JMenuItem(exitAction)); + + // To avoid popup cutting by main window shape forbid light-weight popups + jPopupMenu.setLightWeightPopupEnabled(false); } /**
--- a/src/share/native/java/net/net_util.c Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/native/java/net/net_util.c Fri Jun 29 15:21:00 2012 +0100 @@ -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 Thu Jun 28 00:42:43 2012 +0100 +++ b/src/share/native/java/net/net_util.h Fri Jun 29 15:21:00 2012 +0100 @@ -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 @@ -108,7 +108,7 @@ jfieldID NET_GetFileDescriptorID(JNIEnv *env); -JNIEXPORT jint JNICALL ipv6_available() ; +JNIEXPORT jint JNICALL ipv6_available(); void NET_AllocSockaddr(struct sockaddr **him, int *len); @@ -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/solaris/classes/sun/awt/X11/XDecoratedPeer.java Thu Jun 28 00:42:43 2012 +0100 +++ b/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java Fri Jun 29 15:21:00 2012 +0100 @@ -721,17 +721,18 @@ // Location, Client size + insets newLocation = new Point(xe.get_x() - currentInsets.left, xe.get_y() - currentInsets.top); } else { - // CDE/MWM/Metacity/Sawfish/Mutter bug: if shell is resized using - // top or left border, we don't receive synthetic - // ConfigureNotify, only the one from X with zero - // coordinates. This is the workaround to get real - // location, 6261336 + // ICCCM 4.1.5 states that a real ConfigureNotify will be sent when + // a window is resized but the client can not tell if the window was + // moved or not. The client should consider the position as unkown + // and use TranslateCoordinates to find the actual position. + // + // TODO this should be the default for every case. switch (XWM.getWMID()) { case XWM.CDE_WM: case XWM.MOTIF_WM: case XWM.METACITY_WM: + case XWM.MUTTER_WM: case XWM.SAWFISH_WM: - case XWM.MUTTER_WM: { Point xlocation = queryXLocation(); if (log.isLoggable(PlatformLogger.FINE)) log.fine("New X location: {0}", xlocation);
--- a/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java Thu Jun 28 00:42:43 2012 +0100 +++ b/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java Fri Jun 29 15:21:00 2012 +0100 @@ -25,9 +25,10 @@ package sun.nio.ch; -import sun.misc.*; import java.io.IOException; -import java.util.LinkedList; +import java.util.BitSet; +import java.util.Map; +import java.util.HashMap; /** @@ -66,61 +67,71 @@ static final short EVENT_OFFSET = 4; static final short REVENT_OFFSET = 6; + // Special value to indicate that an update should be ignored + static final byte CANCELLED = (byte)-1; + // Maximum number of open file descriptors static final int OPEN_MAX = fdLimit(); // Number of pollfd structures to create. - // DP_POLL ioctl allows up to OPEN_MAX-1 + // dpwrite/ioctl(DP_POLL) allows up to OPEN_MAX-1 static final int NUM_POLLFDS = Math.min(OPEN_MAX-1, 8192); + // Initial size of arrays for fd registration changes + private final int INITIAL_PENDING_UPDATE_SIZE = 64; + + // maximum size of updatesLow + private final int MAX_UPDATE_ARRAY_SIZE = Math.min(OPEN_MAX, 64*1024); + + // The pollfd array for results from devpoll driver + private final AllocatedNativeObject pollArray; + // Base address of the native pollArray - private long pollArrayAddress; + private final long pollArrayAddress; + + // The fd of the devpoll driver + private int wfd; + + // The fd of the interrupt line going out + private int outgoingInterruptFD; + + // The fd of the interrupt line coming in + private int incomingInterruptFD; + + // The index of the interrupt FD + private int interruptedIndex; + + // Number of updated pollfd entries + int updated; - // Array of pollfd structs used for driver updates - private AllocatedNativeObject updatePollArray; + // object to synchronize fd registration changes + private final Object updateLock = new Object(); + + // number of file descriptors with registration changes pending + private int updateCount; + + // file descriptors with registration changes pending + private int[] updateDescriptors = new int[INITIAL_PENDING_UPDATE_SIZE]; - // Maximum number of POLL_FD structs to update at once - private int MAX_UPDATE_SIZE = Math.min(OPEN_MAX, 10000); + // events for file descriptors with registration changes pending, indexed + // by file descriptor and stored as bytes for efficiency reasons. For + // file descriptors higher than MAX_UPDATE_ARRAY_SIZE (unlimited case at + // least then the update is stored in a map. + private final byte[] eventsLow = new byte[MAX_UPDATE_ARRAY_SIZE]; + private Map<Integer,Byte> eventsHigh; + + // Used by release and updateRegistrations to track whether a file + // descriptor is registered with /dev/poll. + private final BitSet registered = new BitSet(); DevPollArrayWrapper() { int allocationSize = NUM_POLLFDS * SIZE_POLLFD; pollArray = new AllocatedNativeObject(allocationSize, true); pollArrayAddress = pollArray.address(); - allocationSize = MAX_UPDATE_SIZE * SIZE_POLLFD; - updatePollArray = new AllocatedNativeObject(allocationSize, true); wfd = init(); - } - - // Machinery for remembering fd registration changes - // A hashmap could be used but the number of changes pending - // is expected to be small - private static class Updator { - int fd; - int mask; - Updator(int fd, int mask) { - this.fd = fd; - this.mask = mask; - } + if (OPEN_MAX > MAX_UPDATE_ARRAY_SIZE) + eventsHigh = new HashMap<>(); } - private LinkedList<Updator> updateList = new LinkedList<Updator>(); - - // The pollfd array for results from devpoll driver - private AllocatedNativeObject pollArray; - - // The fd of the devpoll driver - int wfd; - - // The fd of the interrupt line going out - int outgoingInterruptFD; - - // The fd of the interrupt line coming in - int incomingInterruptFD; - - // The index of the interrupt FD - int interruptedIndex; - - // Number of updated pollfd entries - int updated; void initInterrupt(int fd0, int fd1) { outgoingInterruptFD = fd1; @@ -148,22 +159,60 @@ return pollArray.getInt(offset); } + private void setUpdateEvents(int fd, byte events) { + if (fd < MAX_UPDATE_ARRAY_SIZE) { + eventsLow[fd] = events; + } else { + eventsHigh.put(Integer.valueOf(fd), Byte.valueOf(events)); + } + } + + private byte getUpdateEvents(int fd) { + if (fd < MAX_UPDATE_ARRAY_SIZE) { + return eventsLow[fd]; + } else { + Byte result = eventsHigh.get(Integer.valueOf(fd)); + // result should never be null + return result.byteValue(); + } + } + void setInterest(int fd, int mask) { - synchronized (updateList) { - updateList.add(new Updator(fd, mask)); + synchronized (updateLock) { + // record the file descriptor and events, expanding the + // respective arrays first if necessary. + int oldCapacity = updateDescriptors.length; + if (updateCount == oldCapacity) { + int newCapacity = oldCapacity + INITIAL_PENDING_UPDATE_SIZE; + int[] newDescriptors = new int[newCapacity]; + System.arraycopy(updateDescriptors, 0, newDescriptors, 0, oldCapacity); + updateDescriptors = newDescriptors; + } + updateDescriptors[updateCount++] = fd; + + // events are stored as bytes for efficiency reasons + byte b = (byte)mask; + assert (b == mask) && (b != CANCELLED); + setUpdateEvents(fd, b); } } void release(int fd) { - synchronized (updateList) { - updateList.add(new Updator(fd, POLLREMOVE)); + synchronized (updateLock) { + // cancel any pending update for this file descriptor + setUpdateEvents(fd, CANCELLED); + + // remove from /dev/poll + if (registered.get(fd)) { + register(wfd, fd, POLLREMOVE); + registered.clear(fd); + } } } void closeDevPollFD() throws IOException { FileDispatcherImpl.closeIntFD(wfd); pollArray.free(); - updatePollArray.free(); } int poll(long timeout) throws IOException { @@ -180,33 +229,48 @@ } void updateRegistrations() throws IOException { - // Populate pollfd array with updated masks - synchronized (updateList) { - while (updateList.size() > 0) { - // We have to insert a dummy node in between each - // real update to use POLLREMOVE on the fd first because - // otherwise the changes are simply OR'd together - int index = 0; - Updator u = null; - while ((u = updateList.poll()) != null) { - // First add pollfd struct to clear out this fd - putPollFD(updatePollArray, index, u.fd, POLLREMOVE); + synchronized (updateLock) { + // Populate pollfd array with updated masks + int j = 0; + int index = 0; + while (j < updateCount) { + int fd = updateDescriptors[j]; + short events = getUpdateEvents(fd); + boolean isRegistered = registered.get(fd); + + // events = 0 => POLLREMOVE or do-nothing + if (events != CANCELLED) { + if (events == 0) { + if (isRegistered) { + events = POLLREMOVE; + registered.clear(fd); + } else { + events = CANCELLED; + } + } else { + if (!isRegistered) { + registered.set(fd); + } + } + } + + // populate pollfd array with updated event + if (events != CANCELLED) { + putPollFD(pollArray, index, fd, events); index++; - // Now add pollfd to update this fd, if necessary - if (u.mask != POLLREMOVE) { - putPollFD(updatePollArray, index, u.fd, (short)u.mask); - index++; + if (index >= NUM_POLLFDS) { + registerMultiple(wfd, pollArray.address(), index); + index = 0; } + } + j++; + } - // Check against the max update size; these are - // all we will process. Valid index ranges from 0 to - // (MAX_UPDATE_SIZE - 1) and we can use up to 2 per loop - if (index > MAX_UPDATE_SIZE - 2) - break; - } - // Register the changes with /dev/poll - registerMultiple(wfd, updatePollArray.address(), index); - } + // write any remaining updates + if (index > 0) + registerMultiple(wfd, pollArray.address(), index); + + updateCount = 0; } } @@ -245,5 +309,4 @@ int wfd); private static native void interrupt(int fd); private static native int fdLimit(); - }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/solaris/classes/sun/nio/ch/DevPollSelectorProvider.java Fri Jun 29 15:21:00 2012 +0100 @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2001, 2003, 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 sun.nio.ch; + +import java.io.IOException; +import java.nio.channels.*; +import java.nio.channels.spi.*; + +public class DevPollSelectorProvider + extends SelectorProviderImpl +{ + public AbstractSelector openSelector() throws IOException { + return new DevPollSelectorImpl(this); + } + + public Channel inheritedChannel() throws IOException { + return InheritedChannel.getChannel(); + } +}
--- a/src/solaris/native/java/net/net_util_md.c Thu Jun 28 00:42:43 2012 +0100 +++ b/src/solaris/native/java/net/net_util_md.c Fri Jun 29 15:21:00 2012 +0100 @@ -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 @@ -790,6 +791,25 @@ #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. @@ -1497,7 +1517,7 @@ * 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 + * On Solaris with IPv6 enabled we must use an exclusive * bind to guaranteed a unique port number across the IPv4 and * IPv6 port spaces. * @@ -1528,10 +1548,10 @@ #if defined(__solaris__) && defined(AF_INET6) /* - * Solaris 8/9 have seperate IPv4 and IPv6 port spaces so we + * Solaris has seperate 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. @@ -1540,11 +1560,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/java/util/TimeZone_md.c Thu Jun 28 00:42:43 2012 +0100 +++ b/src/solaris/native/java/util/TimeZone_md.c Fri Jun 29 15:21:00 2012 +0100 @@ -96,9 +96,9 @@ /* * Scans the specified directory and its subdirectories to find a * zoneinfo file which has the same content as /etc/localtime on Linux - * or /usr/share/lib/zoneinfo/localtime (most likely a symbolic link) - * on Solaris given in 'buf'. Returns a zone ID if found, otherwise, - * NULL is returned. + * or /usr/share/lib/zoneinfo/localtime on Solaris given in 'buf'. + * If file is symbolic link, then the contents it points to are in buf. + * Returns a zone ID if found, otherwise, NULL is returned. */ static char * findZoneinfoFile(char *buf, size_t size, const char *dir) @@ -281,21 +281,27 @@ tz = getZoneName(linkbuf); if (tz != NULL) { tz = strdup(tz); + return tz; } - return tz; } /* * If it's a regular file, we need to find out the same zoneinfo file * that has been copied as /etc/localtime. + * If initial symbolic link resolution failed, we should treat target + * file as a regular file. */ + if ((fd = open(DEFAULT_ZONEINFO_FILE, O_RDONLY)) == -1) { + return NULL; + } + if (fstat(fd, &statbuf) == -1) { + (void) close(fd); + return NULL; + } size = (size_t) statbuf.st_size; buf = (char *) malloc(size); if (buf == NULL) { - return NULL; - } - if ((fd = open(DEFAULT_ZONEINFO_FILE, O_RDONLY)) == -1) { - free((void *) buf); + (void) close(fd); return NULL; }
--- a/src/solaris/native/sun/nio/ch/DevPollArrayWrapper.c Thu Jun 28 00:42:43 2012 +0100 +++ b/src/solaris/native/sun/nio/ch/DevPollArrayWrapper.c Fri Jun 29 15:21:00 2012 +0100 @@ -118,27 +118,20 @@ Java_sun_nio_ch_DevPollArrayWrapper_register(JNIEnv *env, jobject this, jint wfd, jint fd, jint mask) { - struct pollfd a[2]; - unsigned char *pollBytes = (unsigned char *)&a[0]; - unsigned char *pollEnd = pollBytes + sizeof(struct pollfd) * 2; + struct pollfd a[1]; + int n; - /* We clear it first, otherwise any entries between poll invocations - get OR'd together */ a[0].fd = fd; - a[0].events = POLLREMOVE; + a[0].events = mask; a[0].revents = 0; - a[1].fd = fd; - a[1].events = mask; - a[1].revents = 0; - - while (pollBytes < pollEnd) { - int bytesWritten = write(wfd, pollBytes, (int)(pollEnd - pollBytes)); - if (bytesWritten < 0) { + n = write(wfd, &a[0], sizeof(a)); + if (n != sizeof(a)) { + if (n < 0) { JNU_ThrowIOExceptionWithLastError(env, "Error writing pollfds"); - return; + } else { + JNU_ThrowIOException(env, "Unexpected number of bytes written"); } - pollBytes += bytesWritten; } }
--- a/src/windows/native/java/net/net_util_md.c Thu Jun 28 00:42:43 2012 +0100 +++ b/src/windows/native/java/net/net_util_md.c Fri Jun 29 15:21:00 2012 +0100 @@ -126,6 +126,7 @@ } void initLocalAddrTable () {} +void parseExclusiveBindProperty (JNIEnv *env) {} /* * Since winsock doesn't have the equivalent of strerror(errno)
--- a/test/java/awt/WMSpecificTests/Mutter/MutterMaximizeTest.java Thu Jun 28 00:42:43 2012 +0100 +++ b/test/java/awt/WMSpecificTests/Mutter/MutterMaximizeTest.java Fri Jun 29 15:21:00 2012 +0100 @@ -1,6 +1,6 @@ /* - * Copyright 2011 Red Hat, Inc. All Rights Reserved. - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright 2012 Red Hat, Inc. All Rights Reserved. + * 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 @@ -58,7 +58,6 @@ frame.addWindowListener(Util.getClosingWindowAdapter()); //Display the window. - frame.pack(); frame.setSize(500, 500); Util.showWindowWait(frame); runRobotTest(frame);
--- a/test/java/awt/regtesthelpers/Util.java Thu Jun 28 00:42:43 2012 +0100 +++ b/test/java/awt/regtesthelpers/Util.java Fri Jun 29 15:21:00 2012 +0100 @@ -169,6 +169,13 @@ clickOnComp(comp, robot, 50); } + public static Point getTitlePoint(Window decoratedWindow) { + Point p = decoratedWindow.getLocationOnScreen(); + Dimension d = decoratedWindow.getSize(); + return new Point(p.x + (int)(d.getWidth()/2), + p.y + (int)(decoratedWindow.getInsets().top/2)); + } + /* * Clicks on a title of Frame/Dialog. * WARNING: it may fail on some platforms when the window is not wide enough. @@ -415,7 +422,8 @@ METACITY_WM = 11, COMPIZ_WM = 12, LG3D_WM = 13, - MUTTER_WM = 14; + CWM_WM = 14, + MUTTER_WM = 15; /* * Returns -1 in case of not X Window or any problems.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/java/lang/invoke/AccessControlTest.java Fri Jun 29 15:21:00 2012 +0100 @@ -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 Fri Jun 29 15:21:00 2012 +0100 @@ -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 Thu Jun 28 00:42:43 2012 +0100 +++ b/test/java/net/Socket/setReuseAddress/Basic.java Fri Jun 29 15:21:00 2012 +0100 @@ -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 Thu Jun 28 00:42:43 2012 +0100 +++ b/test/java/net/Socket/setReuseAddress/Restart.java Fri Jun 29 15:21:00 2012 +0100 @@ -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/MappedByteBuffer/Truncate.java Thu Jun 28 00:42:43 2012 +0100 +++ b/test/java/nio/MappedByteBuffer/Truncate.java Fri Jun 29 15:21:00 2012 +0100 @@ -88,6 +88,11 @@ } }; Thread t = new Thread(r); + t.setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() { + public void uncaughtException(Thread t, Throwable e) { + e.printStackTrace(); + } + }); t.start(); try { t.join(); } catch (InterruptedException ignore) { } }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/java/nio/channels/DatagramChannel/BindNull.java Fri Jun 29 15:21:00 2012 +0100 @@ -0,0 +1,50 @@ +/* + * 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 + * @bug 7161881 + * @run main/othervm -Djava.net.preferIPv6Addresses=true BindNull + * @summary Make sure the bind method uses an ipv4 address for the null case + * when the DatagramChannel is connected to an IPv4 socket and + * -Djava.net.preferIPv6Addresses=true. + */ + +import java.io.*; +import java.net.*; +import java.nio.channels.*; + +public class BindNull { + public static void main(String[] args) throws IOException { + try (DatagramChannel dc = DatagramChannel.open()) { + dc.bind(null); + } + try (DatagramChannel dc = DatagramChannel.open(StandardProtocolFamily.INET)) { + dc.bind(null); + } + try (DatagramChannel dc = DatagramChannel.open(StandardProtocolFamily.INET6)) { + dc.bind(null); + } catch (UnsupportedOperationException uoe) { + // IPv6 not available + } + } +}
--- a/test/javax/swing/JPopupMenu/6694823/bug6694823.java Thu Jun 28 00:42:43 2012 +0100 +++ b/test/javax/swing/JPopupMenu/6694823/bug6694823.java Fri Jun 29 15:21:00 2012 +0100 @@ -33,6 +33,8 @@ import javax.swing.*; import java.awt.*; import sun.awt.SunToolkit; +import java.security.Permission; +import sun.security.util.SecurityConstants; public class bug6694823 { private static JFrame frame; @@ -48,6 +50,8 @@ } }); + toolkit.realSync(); + // Get screen insets screenInsets = toolkit.getScreenInsets(frame.getGraphicsConfiguration()); if (screenInsets.bottom == 0) { @@ -55,26 +59,23 @@ return; } - // Show popup as if from a standalone application - // The popup should be able to overlap the task bar - showPopup(false); + System.setSecurityManager(new SecurityManager(){ + + private String allowsAlwaysOnTopPermission = SecurityConstants.AWT.SET_WINDOW_ALWAYS_ON_TOP_PERMISSION.getName(); - // Emulate applet security restrictions - toolkit.realSync(); - System.setSecurityManager(new SecurityManager()); + @Override + public void checkPermission(Permission perm) { + if (allowsAlwaysOnTopPermission.equals(perm.getName())) { + throw new SecurityException(); + } + } + + }); // Show popup as if from an applet // The popup shouldn't overlap the task bar. It should be shifted up. - showPopup(true); - - toolkit.realSync(); - System.out.println("Test passed!"); + checkPopup(); - SwingUtilities.invokeAndWait(new Runnable() { - public void run() { - frame.dispose(); - } - }); } private static void createGui() { @@ -93,7 +94,7 @@ frame.setSize(200, 200); } - private static void showPopup(final boolean shouldBeShifted) throws Exception { + private static void checkPopup() throws Exception { SwingUtilities.invokeAndWait(new Runnable() { public void run() { // Place frame just above the task bar @@ -121,20 +122,14 @@ toolkit.realSync(); SwingUtilities.invokeAndWait(new Runnable() { + public void run() { Point frameLoc = frame.getLocationOnScreen(); - if (shouldBeShifted) { - if (popup.getLocationOnScreen() - .equals(new Point(frameLoc.x, frameLoc.y + point.y))) { - throw new RuntimeException("Popup is not shifted"); - } - } else { - if (!popup.getLocationOnScreen() - .equals(new Point(frameLoc.x, frameLoc.y + point.y))) { - throw new RuntimeException("Popup is unexpectedly shifted"); - } + if (popup.getLocationOnScreen().equals(new Point(frameLoc.x, frameLoc.y + point.y))) { + throw new RuntimeException("Popup is not shifted"); } popup.setVisible(false); + frame.dispose(); } }); }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/javax/swing/JPopupMenu/6800513/bug6800513.java Fri Jun 29 15:21:00 2012 +0100 @@ -0,0 +1,147 @@ +/* + * Copyright 2012 Red Hat, Inc. All Rights Reserved. + * 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 + * @bug 6800513 + * @summary GTK-LaF renders menus incompletely + * @author Mario Torre + * @library ../../regtesthelpers/ + * @build Util + * @run main bug6800513 + */ + +import sun.awt.SunToolkit; + +import javax.swing.*; +import java.awt.*; +import java.awt.event.InputEvent; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; +import java.lang.reflect.Field; +import java.util.concurrent.Callable; + +public class bug6800513 { + + private static JPopupMenu popupMenu; + private static JMenu menu; + private static JFrame frame; + + public static void testFrame(final boolean defaultLightWeightPopupEnabled, + String expectedPopupClass) throws Exception { + SunToolkit toolkit = (SunToolkit) Toolkit.getDefaultToolkit(); + + SwingUtilities.invokeAndWait(new Runnable() { + public void run() { + JPopupMenu.setDefaultLightWeightPopupEnabled(defaultLightWeightPopupEnabled); + createAndShowUI(); + } + }); + + toolkit.realSync(); + + clickOnMenu(); + + toolkit.realSync(); + + Field getPopup = JPopupMenu.class.getDeclaredField("popup"); + getPopup.setAccessible(true); + Popup popup = (Popup) getPopup.get(popupMenu); + + if (popup == null) { + throw new Exception("popup is null!"); + } + + String className = popup.getClass().getName(); + if (!className.equals(expectedPopupClass)) { + throw new Exception("popup class is: " + className + + ", expected: " + expectedPopupClass); + } + + SwingUtilities.invokeAndWait(new Runnable() { + @Override + public void run() { + frame.dispose(); + popupMenu = null; + } + }); + + toolkit.realSync(); + } + + + public static void clickOnMenu() throws Exception { + Rectangle bounds = Util.invokeOnEDT(new Callable<Rectangle>() { + @Override + public Rectangle call() throws Exception { + return new Rectangle(menu.getLocationOnScreen(), menu.getSize()); + } + }); + + Robot robot = new Robot(); + robot.setAutoDelay(100); + + robot.mouseMove(bounds.x + bounds.width / 2, bounds.y + bounds.height / 2); + + robot.mousePress(InputEvent.BUTTON1_MASK); + robot.mouseRelease(InputEvent.BUTTON1_MASK); + } + + private static class PopupListener implements PropertyChangeListener { + @Override + public void propertyChange(PropertyChangeEvent evt) { + if (evt.toString().contains("visible") && ((Boolean) evt.getNewValue() == true)) { + popupMenu = (JPopupMenu) evt.getSource(); + } + } + } + + public static void createAndShowUI() { + frame = new JFrame(); + + JMenuBar menuBar = new JMenuBar(); + menu = new JMenu("Menu"); + + menu.add(new JMenuItem("Menu Item #1")); + menu.add(new JMenuItem("Menu Item #2")); + menu.add(new JMenuItem("Menu Item #3")); + + menuBar.add(menu); + + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setJMenuBar(menuBar); + frame.setSize(500, 500); + + PopupListener listener = new PopupListener(); + menu.getPopupMenu().addPropertyChangeListener(listener); + + frame.setVisible(true); + } + + public static void main(String[] args) throws Exception { + testFrame(false, "javax.swing.PopupFactory$HeavyWeightPopup"); + + testFrame(true, "javax.swing.PopupFactory$LightWeightPopup"); + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/javax/swing/JPopupMenu/7156657/bug7156657.java Fri Jun 29 15:21:00 2012 +0100 @@ -0,0 +1,157 @@ +/* + * 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. + */ + +import com.sun.awt.AWTUtilities; +import sun.awt.SunToolkit; + +import javax.swing.*; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.util.concurrent.Callable; + +/* @test + @bug 7156657 + @summary Version 7 doesn't support translucent popup menus against a translucent window + @library ../../regtesthelpers + @author Pavel Porvatov +*/ +public class bug7156657 { + private static JFrame lowerFrame; + + private static JFrame frame; + + private static JPopupMenu popupMenu; + + public static void main(String[] args) throws Exception { + final Robot robot = new Robot(); + final SunToolkit toolkit = ((SunToolkit) Toolkit.getDefaultToolkit()); + + Boolean skipTest = Util.invokeOnEDT(new Callable<Boolean>() { + @Override + public Boolean call() throws Exception { + frame = createFrame(); + + if (!AWTUtilities.isTranslucencyCapable(frame.getGraphicsConfiguration())) { + System.out.println("Translucency is not supported, the test skipped"); + + return true; + } + + lowerFrame = createFrame(); + lowerFrame.getContentPane().setBackground(Color.RED); + lowerFrame.setVisible(true); + + popupMenu = new JPopupMenu(); + popupMenu.setOpaque(false); + popupMenu.add(new TransparentMenuItem("1111")); + popupMenu.add(new TransparentMenuItem("2222")); + popupMenu.add(new TransparentMenuItem("3333")); + + AWTUtilities.setWindowOpaque(frame, false); + JPanel pnContent = new JPanel(); + pnContent.setBackground(new Color(255, 255, 255, 128)); + frame.add(pnContent); + frame.setVisible(true); + + return false; + } + }); + + if (skipTest) { + return; + } + + toolkit.realSync(); + + SwingUtilities.invokeAndWait(new Runnable() { + @Override + public void run() { + popupMenu.show(frame, 0, 0); + } + }); + + toolkit.realSync(); + + Rectangle popupRectangle = Util.invokeOnEDT(new Callable<Rectangle>() { + @Override + public Rectangle call() throws Exception { + return popupMenu.getBounds(); + } + }); + + BufferedImage redBackgroundCapture = robot.createScreenCapture(popupRectangle); + + SwingUtilities.invokeAndWait(new Runnable() { + @Override + public void run() { + lowerFrame.getContentPane().setBackground(Color.GREEN); + } + }); + + toolkit.realSync(); + + BufferedImage greenBackgroundCapture = robot.createScreenCapture(popupRectangle); + + if (Util.compareBufferedImages(redBackgroundCapture, greenBackgroundCapture)) { + throw new RuntimeException("The test failed"); + } + + SwingUtilities.invokeAndWait(new Runnable() { + @Override + public void run() { + popupMenu.setVisible(false); + frame.dispose(); + lowerFrame.dispose(); + } + }); + + System.out.println("The test passed"); + } + + + private static JFrame createFrame() { + JFrame result = new JFrame(); + + result.setLocation(0, 0); + result.setSize(400, 300); + result.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + result.setUndecorated(true); + + return result; + } + + private static class TransparentMenuItem extends JMenuItem { + public TransparentMenuItem(String text) { + super(text); + setOpaque(false); + } + + @Override + public void paint(Graphics g) { + Graphics2D g2 = (Graphics2D) g.create(); + g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f)); + super.paint(g2); + g2.dispose(); + } + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/javax/swing/plaf/synth/7143614/bug7143614.java Fri Jun 29 15:21:00 2012 +0100 @@ -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 + * @bug 7143614 + * @summary Issues with Synth Look&Feel + * @author Pavel Porvatov + */ + +import sun.awt.SunToolkit; + +import javax.swing.plaf.ComponentUI; +import javax.swing.plaf.basic.BasicButtonUI; +import javax.swing.plaf.synth.SynthConstants; +import javax.swing.plaf.synth.SynthLookAndFeel; +import java.lang.reflect.Method; + +public class bug7143614 { + private static Method setSelectedUIMethod; + + private static ComponentUI componentUI = new BasicButtonUI(); + + public static void main(String[] args) throws Exception { + setSelectedUIMethod = SynthLookAndFeel.class.getDeclaredMethod("setSelectedUI", ComponentUI.class, + boolean.class, boolean.class, boolean.class, boolean.class); + setSelectedUIMethod.setAccessible(true); + + setSelectedUIMethod.invoke(null, componentUI, true, true, true, true); + + validate(); + + Thread thread = new ThreadInAnotherAppContext(); + + thread.start(); + thread.join(); + + validate(); + + System.out.println("Test bug7143614 passed."); + } + + private static void validate() throws Exception { + Method getSelectedUIMethod = SynthLookAndFeel.class.getDeclaredMethod("getSelectedUI"); + + getSelectedUIMethod.setAccessible(true); + + Method getSelectedUIStateMethod = SynthLookAndFeel.class.getDeclaredMethod("getSelectedUIState"); + + getSelectedUIStateMethod.setAccessible(true); + + if (getSelectedUIMethod.invoke(null) != componentUI) { + throw new RuntimeException("getSelectedUI returns invalid value"); + } + if (((Integer) getSelectedUIStateMethod.invoke(null)).intValue() != + (SynthConstants.SELECTED | SynthConstants.FOCUSED)) { + throw new RuntimeException("getSelectedUIState returns invalid value"); + } + + } + + private static class ThreadInAnotherAppContext extends Thread { + public ThreadInAnotherAppContext() { + super(new ThreadGroup("7143614"), "ThreadInAnotherAppContext"); + } + + public void run() { + SunToolkit.createNewAppContext(); + + try { + setSelectedUIMethod.invoke(null, null, false, false, false, false); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/sun/security/ssl/sanity/ciphersuites/CipherSuitesInOrder.java Fri Jun 29 15:21:00 2012 +0100 @@ -0,0 +1,236 @@ +/* + * 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 + * @bug 7174244 + * @summary NPE in Krb5ProxyImpl.getServerKeys() + * + * SunJSSE does not support dynamic system properties, no way to re-use + * system properties in samevm/agentvm mode. + * @run main/othervm CipherSuitesInOrder + */ + +import java.util.*; +import javax.net.ssl.*; + +public class CipherSuitesInOrder { + + // supported ciphersuites + private final static List<String> supportedCipherSuites = + Arrays.<String>asList( + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384", + "TLS_RSA_WITH_AES_256_CBC_SHA256", + "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384", + "TLS_DHE_RSA_WITH_AES_256_CBC_SHA256", + "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_RSA_WITH_AES_256_CBC_SHA", + "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA", + "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA", + "TLS_DHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_DHE_DSS_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", + "TLS_RSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256", + "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256", + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_RSA_WITH_AES_128_CBC_SHA", + "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA", + "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA", + "TLS_DHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA", + "TLS_ECDHE_RSA_WITH_RC4_128_SHA", + "SSL_RSA_WITH_RC4_128_SHA", + "TLS_ECDH_ECDSA_WITH_RC4_128_SHA", + "TLS_ECDH_RSA_WITH_RC4_128_SHA", + "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA", + "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA", + "SSL_RSA_WITH_3DES_EDE_CBC_SHA", + "TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA", + "TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA", + "SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA", + "SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA", + "SSL_RSA_WITH_RC4_128_MD5", + + "TLS_EMPTY_RENEGOTIATION_INFO_SCSV", + + "TLS_DH_anon_WITH_AES_256_CBC_SHA256", + "TLS_ECDH_anon_WITH_AES_256_CBC_SHA", + "TLS_DH_anon_WITH_AES_256_CBC_SHA", + "TLS_DH_anon_WITH_AES_128_CBC_SHA256", + "TLS_ECDH_anon_WITH_AES_128_CBC_SHA", + "TLS_DH_anon_WITH_AES_128_CBC_SHA", + "TLS_ECDH_anon_WITH_RC4_128_SHA", + "SSL_DH_anon_WITH_RC4_128_MD5", + "TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA", + "SSL_DH_anon_WITH_3DES_EDE_CBC_SHA", + "TLS_RSA_WITH_NULL_SHA256", + "TLS_ECDHE_ECDSA_WITH_NULL_SHA", + "TLS_ECDHE_RSA_WITH_NULL_SHA", + "SSL_RSA_WITH_NULL_SHA", + "TLS_ECDH_ECDSA_WITH_NULL_SHA", + "TLS_ECDH_RSA_WITH_NULL_SHA", + "TLS_ECDH_anon_WITH_NULL_SHA", + "SSL_RSA_WITH_NULL_MD5", + "SSL_RSA_WITH_DES_CBC_SHA", + "SSL_DHE_RSA_WITH_DES_CBC_SHA", + "SSL_DHE_DSS_WITH_DES_CBC_SHA", + "SSL_DH_anon_WITH_DES_CBC_SHA", + "SSL_RSA_EXPORT_WITH_RC4_40_MD5", + "SSL_DH_anon_EXPORT_WITH_RC4_40_MD5", + "SSL_RSA_EXPORT_WITH_DES40_CBC_SHA", + "SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA", + "SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA", + "SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA", + "TLS_KRB5_WITH_RC4_128_SHA", + "TLS_KRB5_WITH_RC4_128_MD5", + "TLS_KRB5_WITH_3DES_EDE_CBC_SHA", + "TLS_KRB5_WITH_3DES_EDE_CBC_MD5", + "TLS_KRB5_WITH_DES_CBC_SHA", + "TLS_KRB5_WITH_DES_CBC_MD5", + "TLS_KRB5_EXPORT_WITH_RC4_40_SHA", + "TLS_KRB5_EXPORT_WITH_RC4_40_MD5", + "TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA", + "TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5" + ); + + private final static String[] protocols = { + "", "SSL", "TLS", "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2" + }; + + + public static void main(String[] args) throws Exception { + // show all of the supported cipher suites + showSuites(supportedCipherSuites.toArray(new String[0]), + "All supported cipher suites"); + + for (String protocol : protocols) { + System.out.println("//"); + System.out.println("// " + + "Testing for SSLContext of " + protocol); + System.out.println("//"); + checkForProtocols(protocol); + } + } + + public static void checkForProtocols(String protocol) throws Exception { + SSLContext context; + if (protocol.isEmpty()) { + context = SSLContext.getDefault(); + } else { + context = SSLContext.getInstance(protocol); + context.init(null, null, null); + } + + // check the order of default cipher suites of SSLContext + SSLParameters parameters = context.getDefaultSSLParameters(); + checkSuites(parameters.getCipherSuites(), + "Default cipher suites in SSLContext"); + + // check the order of supported cipher suites of SSLContext + parameters = context.getSupportedSSLParameters(); + checkSuites(parameters.getCipherSuites(), + "Supported cipher suites in SSLContext"); + + + // + // Check the cipher suites order of SSLEngine + // + SSLEngine engine = context.createSSLEngine(); + + // check the order of endabled cipher suites + String[] ciphers = engine.getEnabledCipherSuites(); + checkSuites(ciphers, + "Enabled cipher suites in SSLEngine"); + + // check the order of supported cipher suites + ciphers = engine.getSupportedCipherSuites(); + checkSuites(ciphers, + "Supported cipher suites in SSLEngine"); + + // + // Check the cipher suites order of SSLSocket + // + SSLSocketFactory factory = context.getSocketFactory(); + try (SSLSocket socket = (SSLSocket)factory.createSocket()) { + + // check the order of endabled cipher suites + ciphers = socket.getEnabledCipherSuites(); + checkSuites(ciphers, + "Enabled cipher suites in SSLSocket"); + + // check the order of supported cipher suites + ciphers = socket.getSupportedCipherSuites(); + checkSuites(ciphers, + "Supported cipher suites in SSLSocket"); + } + + // + // Check the cipher suites order of SSLServerSocket + // + SSLServerSocketFactory serverFactory = context.getServerSocketFactory(); + try (SSLServerSocket serverSocket = + (SSLServerSocket)serverFactory.createServerSocket()) { + // check the order of endabled cipher suites + ciphers = serverSocket.getEnabledCipherSuites(); + checkSuites(ciphers, + "Enabled cipher suites in SSLServerSocket"); + + // check the order of supported cipher suites + ciphers = serverSocket.getSupportedCipherSuites(); + checkSuites(ciphers, + "Supported cipher suites in SSLServerSocket"); + } + } + + private static void checkSuites(String[] suites, String title) { + showSuites(suites, title); + + int loc = -1; + int index = 0; + for (String suite : suites) { + index = supportedCipherSuites.indexOf(suite); + if (index <= loc) { + throw new RuntimeException(suite + " is not in order"); + } + + loc = index; + } + } + + private static void showSuites(String[] suites, String title) { + System.out.println(title + "[" + suites.length + "]:"); + for (String suite : suites) { + System.out.println(" " + suite); + } + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/sun/security/x509/X509CRLImpl/OrderAndDup.java Fri Jun 29 15:21:00 2012 +0100 @@ -0,0 +1,99 @@ +/* + * 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 + * @bug 7143872 + * @summary Improve certificate extension processing + */ +import java.io.ByteArrayInputStream; +import java.math.BigInteger; +import java.security.KeyPairGenerator; +import java.security.cert.CertificateFactory; +import java.security.cert.X509CRLEntry; +import java.util.Date; +import sun.security.util.DerInputStream; +import sun.security.util.DerValue; +import sun.security.x509.*; + +public class OrderAndDup { + public static void main(String[] args) throws Exception { + + // Generate 20 serial numbers with dup and a special order + int count = 20; + BigInteger[] serials = new BigInteger[count]; + for (int i=0; i<count; i++) { + serials[i] = BigInteger.valueOf(i*7%10); + } + + // Generates a CRL + X509CRLEntry[] badCerts = new X509CRLEntry[count]; + for (int i=0; i<count; i++) { + badCerts[i] = new X509CRLEntryImpl(serials[i], + new Date(System.currentTimeMillis()+i*1000)); + } + X500Name owner = new X500Name("CN=CA"); + X509CRLImpl crl = new X509CRLImpl(owner, new Date(), new Date(), badCerts); + KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA"); + crl.sign(kpg.genKeyPair().getPrivate(), "SHA1withRSA"); + byte[] data = crl.getEncodedInternal(); + + // Check the encoding + checkData(crl, data, serials); + + // Load a CRL from raw data + CertificateFactory cf = CertificateFactory.getInstance("X.509"); + X509CRLImpl crl2 = (X509CRLImpl)cf.generateCRL(new ByteArrayInputStream(data)); + + // Check the encoding again + data = crl2.getEncodedInternal(); + checkData(crl2, data, serials); + } + + // Check the raw data's ASN.1 structure to see if the revoked certs + // have the same number and correct order as inserted + static void checkData(X509CRLImpl c, byte[] data, BigInteger[] expected) + throws Exception { + if (c.getRevokedCertificates().size() != expected.length) { + throw new Exception("Wrong count in CRL object, now " + + c.getRevokedCertificates().size()); + } + DerValue d1 = new DerValue(data); + // revokedCertificates at 5th place of TBSCertList + DerValue[] d2 = new DerInputStream( + d1.data.getSequence(0)[4].toByteArray()) + .getSequence(0); + if (d2.length != expected.length) { + throw new Exception("Wrong count in raw data, now " + d2.length); + } + for (int i=0; i<d2.length; i++) { + // Serial is first in revokedCertificates entry + BigInteger bi = d2[i].data.getBigInteger(); + if (!bi.equals(expected[i])) { + throw new Exception("Entry at #" + i + " is " + bi + + ", should be " + expected[i]); + } + } + } +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/sun/tools/native2ascii/Permission.java Fri Jun 29 15:21:00 2012 +0100 @@ -0,0 +1,85 @@ +/* + * 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 + * @bug 7177216 + * @summary resulting file of native2ascii should have normal permission + */ + +import java.io.*; +import java.nio.file.*; +import java.nio.file.attribute.*; +import sun.tools.native2ascii.Main; + +public class Permission { + + private static void cleanup(String... fnames) throws Throwable { + for (String fname : fnames) { + Files.deleteIfExists(Paths.get(fname)); + } + } + + public static void realMain(String[] args) throws Throwable { + if (!System.getProperty("os.name").startsWith("Windows")) { + String src = "native2ascii_permtest_src"; + String dst = "native2ascii_permtest_dst"; + + cleanup(src, dst); + try { + try (FileOutputStream fos = new FileOutputStream(src)) { + fos.write('a'); fos.write('b'); fos.write('c'); + } + String[] n2aArgs = new String[] {"-encoding", "utf8", src, dst}; + if (!new Main().convert(n2aArgs)) { + fail("n2a failed."); + } + equal(Files.getPosixFilePermissions(Paths.get(src)), + Files.getPosixFilePermissions(Paths.get(dst))); + String[] a2nArgs = new String[] {"-reverse", "-encoding", "utf8", dst, src}; + if (!new Main().convert(a2nArgs)) { + fail("a2n failed."); + } + equal(Files.getPosixFilePermissions(Paths.get(src)), + Files.getPosixFilePermissions(Paths.get(dst))); + } finally { + cleanup(src, dst); + } + } + } + + //--------------------- Infrastructure --------------------------- + static volatile int passed = 0, failed = 0; + static void pass() {passed++;} + static void fail() {failed++; Thread.dumpStack();} + static void fail(String msg) {System.out.println(msg); fail();} + static void unexpected(Throwable t) {failed++; t.printStackTrace();} + static void check(boolean cond) {if (cond) pass(); else fail();} + static void equal(Object x, Object y) { + if (x == null ? y == null : x.equals(y)) pass(); + else fail(x + " not equal to " + y);} + public static void main(String[] args) throws Throwable { + try {realMain(args);} catch (Throwable t) {unexpected(t);} + System.out.println("\nPassed = " + passed + " failed = " + failed); + if (failed > 0) throw new AssertionError("Some tests failed");} +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/jar/UpdateJar.java Fri Jun 29 15:21:00 2012 +0100 @@ -0,0 +1,86 @@ +/* + * 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 + * @bug 7175845 + * @summary jar -uf should not change file permission + */ + +import java.io.*; +import java.nio.file.*; +import java.nio.file.attribute.*; +import java.util.Set; +import sun.tools.jar.Main; + +public class UpdateJar { + + private static void cleanup(String... fnames) throws Throwable { + for (String fname : fnames) { + Files.deleteIfExists(Paths.get(fname)); + } + } + + public static void realMain(String[] args) throws Throwable { + if (!System.getProperty("os.name").startsWith("Windows")) { + String jar = "testUpdateJar.jar"; + String e0 = "testUpdateJar_entry0.txt"; + String e1 = "testUpdateJar_entry1.txt"; + cleanup(jar, e0, e1); + try { + try (FileOutputStream fos0 = new FileOutputStream(e0); + FileOutputStream fos1 = new FileOutputStream(e1)) { + fos0.write(0); + fos1.write(0); + } + String[] jarArgs = new String[] {"cfM0", jar, e0}; + if (!new Main(System.out, System.err, "jar").run(jarArgs)) { + fail("Could not create jar file."); + } + Set<PosixFilePermission> pm = Files.getPosixFilePermissions(Paths.get(jar)); + jarArgs = new String[] {"uf", jar, e1}; + if (!new Main(System.out, System.err, "jar").run(jarArgs)) { + fail("Could not create jar file."); + } + equal(pm, Files.getPosixFilePermissions(Paths.get(jar))); + } finally { + cleanup(jar, e0, e1); + } + } + } + + //--------------------- Infrastructure --------------------------- + static volatile int passed = 0, failed = 0; + static void pass() {passed++;} + static void fail() {failed++; Thread.dumpStack();} + static void fail(String msg) {System.out.println(msg); fail();} + static void unexpected(Throwable t) {failed++; t.printStackTrace();} + static void check(boolean cond) {if (cond) pass(); else fail();} + static void equal(Object x, Object y) { + if (x == null ? y == null : x.equals(y)) pass(); + else fail(x + " not equal to " + y);} + public static void main(String[] args) throws Throwable { + try {realMain(args);} catch (Throwable t) {unexpected(t);} + System.out.println("\nPassed = " + passed + " failed = " + failed); + if (failed > 0) throw new AssertionError("Some tests failed");} +}