Hi Matthias, Dalibor,
Yes, the result you are seeing is due to the default locale provider
change to CLDR. CLDR does not provide localized display names for those
abbreviated three letter time zones. In such a case, English name from
the COMPAT provider (i.e., the same locale data from JDK8. The resource
bundle file you are seeing below belongs to this provider) is
supplemented. To see the same behavior with JDK8, you can set the
"java.locale.providers" system property to "COMPAT" so that it will use
the COMPAT locale provider as the default.
HTH,
Naoto
On 5/31/17 8:18 AM, dalibor topic wrote:
On 31.05.2017 17:11, Baesken, Matthias wrote:
I wonder why the display names for timezone MET changed ( I observed
this on Linux and Solaris) when I compare
jdk8 to jdk9 .
The test is very small, it just outputs for Locale.GERMAN the display
name.
With jdk8 we get a translated german timezone name, but not with jdk9
(this is a bit strange because the jdk9 rsource file
src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_de.java
still contains the translation).
Is this intentional or a bug ?
Hi Matthias,
it might be a side effect of http://openjdk.java.net/jeps/252 .
cheers,
dalibor topic
Best regards, Matthias
TimeZoneTest.java
------------------------
import java.util.TimeZone;
import java.util.Locale;
public class TimeZoneTest {
public static void main(String[] args)
{
TimeZone tz = TimeZone.getDefault();
// now test for german
String dng = tz.getDisplayName(Locale.GERMAN);
System.out.println("timezone display name for Locale.GERMAN "
+ dng);
}
}
------------------------
for environment variable TZ=MET (export TZ=MET) we get :
../output-jdk8/images/j2sdk-image/bin/java TimeZoneTest
timezone display name for Locale.GERMAN Zentraleuropäische Zeit
../output-jdk9/images/jdk/bin/java TimeZoneTest
timezone display name for Locale.GERMAN Middle Europe Time