/*
* Copyright ( c ) 2007 , 2022 , 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 .
*/
/*
* This file is available under and governed by the GNU General Public
* License version 2 only , as published by the Free Software Foundation .
* However , the following notice accompanied the original version of this
* file and , per its terms , should not be removed :
*
* ( C ) Copyright IBM Corp . 1998 - All Rights Reserved
*
* Portions copyright ( c ) 2007 Sun Microsystems , Inc .
* All Rights Reserved .
*
* 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 .
*
* This notice and attribution to Taligent may not be removed .
* Taligent is a registered trademark of Taligent , Inc .
*
* Permission to use , copy , modify , and distribute this software
* and its documentation for NON - COMMERCIAL purposes and without
* fee is hereby granted provided that this copyright notice
* appears in all copies . Please refer to the file " copyright . html "
* for further important copyright and licensing information .
*
* SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
* THE SOFTWARE , EITHER EXPRESS OR IMPLIED , INCLUDING BUT NOT LIMITED
* TO THE IMPLIED WARRANTIES OF MERCHANTABILITY , FITNESS FOR A
* PARTICULAR PURPOSE , OR NON - INFRINGEMENT . SUN SHALL NOT BE LIABLE FOR
* ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING , MODIFYING OR
* DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES .
*
*/
/*
@ bug 4123370 4091969 4118731 4182108 4778440
The " at - test " tag was removed from this file , because there ' s no way to
run this test in an automated test harness . It depends on having various
different locales installed on the machine , and on Windows it depends
on the user going to the " Regional Settings " control panel and changing
the settings before running the test for each bug . We can run this test
manually from time to time to ensure that there has been no regression ,
but it ' s not automated . - - lwerner , 7 / 6 / 98
INSTRUCTIONS FOR RUNNING THIS TEST
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
This test is designed to check for problems in the JVM code that initializes the
default Java locale ( the locale returned by Locale . getDefault ( ) ) from the system
locale settings ( or from command - line arguments ) . Since detecting a regression
usually requires setting the environment up in some way prior to running the test ,
this is a manual test .
The test simply prints out the internal ID and display name of the default Java locale ,
and the name of the default Java character encoding . It passes if these are what
you expect them to be , and fails if they ' re not .
Bug # 4091969 :
To test for bug # 4091969 , run this test on a Korean - localized version of
Windows , with the default locale set to Korean . You should get " ko_KR "
as the default locale .
Bug # 4123370 :
One part of bug # 4123370 duplicates bug # 4091969 , which is covered by the
instructions above .
To test the unique part of bug # 4123370 , use the " Regional Settings " control
panel to set the currect locale to each of the different Spanish - language locales .
Run this test once for each Spanish - language locale . You should see the appropriate
locale ID and name for each locale . Both " Spanish - Traditional Sort " and
" Spanish - Modern Sort " should produce " es_ES " and " Spanish ( Spain ) " .
Bug # 4118731 :
The basic issue here was that we had changed so that calling getDisplayName ( )
on a locale that didn ' t include a country code no longer included a country
name ( instead of picking a default country name , as before ) , which is the
right answer . The problem is we weren ' t always getting back a system default
locale from Solaris that includes a country code , even though we should .
To test this , set the system default locale to a locale that doesn ' t include
a country code , such as " fr " or " de " , using ( in the C shell ) " setenv LC_ALL fr "
( or whatever the locale ID you want is ) . Running PrintDefaultLocale should
still produce a locale ID , and a locale display name , that include a country
code ( and country name ) . [ Remember to make sure the locale is actually installed
first . ]
To test the specific complaint in the bug , use " setenv LC_ALL ja " . Also pay
special attention to Solaris locale IDs that don ' t match the corresponding java
locales , such as " su " ( which should turn into " fi_FI " ) , " cz " ( which should turn
into " cs_CZ " ) , and " en_UK " ( which should turn into " en_GB " ) .
Bug # 4079167 :
Test this bug the same way you test bug # 4118731 . Set the locale to each of
the specified locale IDs ( e . g . , " setenv LC_ALL japanese " ) , and then run
PrintDefaultLocale . You should get the following results :
Solaris ID Java ID Java display name Encoding
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
japanese ja_JP Japanese ( Japan ) - -
korean ko_KR Korean ( South Korea ) - -
tchinese zh_TW Chinese ( Taiwan ) - -
big5 zh_TW Chinese ( Taiwan ) Big5
( Where " - - " is marked for " encoding , " the result isn ' t important - - it ' s the
default encoding for that locale , which we don ' t test . It should be something
plausible . Also note that this test presupposed you actually have locales
with these names installed on your system . )
Bug # 4154559 , 4778440 :
Set the locale to Norwegian ( Bokmal ) and Norwegian ( Nynorsk ) using the
Regional Settings control panel on Windows . For each setting , run this program .
You should see no_NO and no_NO_NY , respectively .
Bug # 4182108 :
Test this bug the same way you test bug # 4118731 . Set the locale to
each of the specified locale IDs ( e . g . , " setenv LC_ALL japanese " ) , and
then run PrintDefaultLocale . You should get the following results :
Solaris ID Java ID Encoding
= = = = = = = = = = = = = = = = = = = = = = = = =
cz cs_CZ - -
su fi_FI - -
fr . ISO8859 - 15 fr_FR ISO8859 - 15
fr . ISO8859 - 15 @ euro fr_FR ISO8859 - 15
Where " - - " is marked for " encoding , " the result isn ' t important - - it ' s
the default encoding for that locale , which we don ' t test . It should be
something plausible . Also note that this test presupposed you actually
have locales with these names installed on your system .
As of this writing , there is a bug in Solaris or in the 8859 - 15 / euro
patch for 2 . 6 ( Solaris patch 106842 - 01 ) which causes nl_langinfo ( ) to
return the wrong value for 8859 - 15 locales . As a result , the encoding
returned by this test is currency ISO8859 - 1 for 8859 - 15 locales .
Bug # 4778440 , 5005601 , 5074060 , 5107154 :
Run the " deflocale " tool found in " data " directory ( deflocale . sh on Unix ,
deflocale . exe on Windows ) , and check the following :
4778440 : Check that iw_IL is the default locale if the OS ' s locale is
Hebrew , and in_ID for Indonesian .
5005601 : For Norwegian locales , no_NO is selected for Bokmal , and no_NO_NY
is selected for Nynorsk .
5074060 , 5107154 : On Windows XP ServicePack 2 , check the default locales for the
following Windows locales . Compare with the golden data ( deflocale . win ) :
Bengali - India
Croatian - Bosnia and Herzegovina
Bosnian - Bosnia and Herzegovina
Serbian ( Latin ) - Bosnia and Herzegovina
Serbian ( Cyrillic ) - Bosnia and Herzegovina
Welsh - United Kingdom
Maori - New Zealand
Malayalam - India
Maltese - Malta
Quechua - Bolivia
Quechua - Ecuador
Quechua - Peru
Setswana ( Tswana ) - South Africa
isiXhosa ( Xhosa ) - South Africa
isiZulu ( Zulu ) - South Africa
Sesotho sa Leboa ( Northern Sotho ) - South Africa
Sami , Northern - Norway
Sami , Northern - Sweden
Sami , Northern - Finland
Sami , Lule - Norway
Sami , Lule - Sweden
Sami , Southern - Norway
Sami , Southern - Sweden
Sami , Skolt - Finland
Sami , Inari - Finland
Bug # 6409997 :
Run the " deflocale . exe " tool found in " data " directory on Windows Vista .
It contains the following new locales :
Tajik ( Cyrillic ) ( Tajikistan ) - 1251
Upper Sorbian ( Germany ) - 1252
Turkmen ( Turkmenistan ) - 1250
Oriya ( India ) - 0
Assamese ( India ) - 0
Tibetan ( People ' s Republic of China ) - 0
Khmer ( Cambodia ) - 0
Lao ( Lao P . D . R . ) - 0
Sinhala ( Sri Lanka ) - 0
Inuktitut ( Canada ) - 0
Amharic ( Ethiopia ) - 0
Hausa ( Latin ) ( Nigeria ) - 1252
Yoruba ( Nigeria ) - 1252
Bashkir ( Russia ) - 1251
Greenlandic ( Greenland ) - 1252
Igbo ( Nigeria ) - 1252
Yi ( People ' s Republic of China ) - 0
Breton ( France ) - 1252
Uighur ( People ' s Republic of China ) - 1256
Occitan ( France ) - 1252
Corsican ( France ) - 1252
Alsatian ( France ) - 1252
Yakut ( Russia ) - 1251
K ' iche ( Guatemala ) - 1252
Kinyarwanda ( Rwanda ) - 1252
Wolof ( Senegal ) - 1252
Dari ( Afghanistan ) - 1256
Lower Sorbian ( Germany ) - 1252
Bengali ( Bangladesh ) - 0
Mongolian ( Traditional Mongolian ) ( People ' s Republic of China ) - 0
Tamazight ( Latin ) ( Algeria ) - 1252
English ( India ) - 1252
English ( Malaysia ) - 1252
English ( Singapore ) - 1252
Spanish ( United States ) - 1252
*/
import java.nio.charset.Charset;
import java.util.Locale;
public class PrintDefaultLocale {
public static void main(String[] args) {
System.out.printf("default locale: ID: %s, Name: %s\n" ,
Locale.getDefault().toString(),
Locale.getDefault().getDisplayName(Locale.US));
System.out.printf("display locale: ID: %s, Name: %s\n" ,
Locale.getDefault(Locale.Category.DISPLAY).toString(),
Locale.getDefault(Locale.Category.DISPLAY).getDisplayName(Locale.US));
System.out.printf("format locale: ID: %s, Name: %s\n" ,
Locale.getDefault(Locale.Category.FORMAT).toString(),
Locale.getDefault(Locale.Category.FORMAT).getDisplayName(Locale.US));
System.out.printf("default charset: %s\n" , Charset.defaultCharset());
}
}
Messung V0.5 in Prozent C=92 H=93 G=92
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-10)
¤
*© Formatika GbR, Deutschland