[ https://issues.apache.org/jira/browse/DERBY-6828?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15147759#comment-15147759 ]
Knut Anders Hatlen commented on DERBY-6828: ------------------------------------------- As to the missing fallback to English for the messages that lack translation, issuing {{svn rename java/drda/org/apache/derby/loc/drda/messages_en.properties java/drda/org/apache/derby/loc/drda/messages.properties}} and rebuilding seems to fix it for me: {noformat} $ java -Dderby.ui.locale=cs -jar /code/derby/trunk/jars/sane/derbynet.jar start Mon Feb 15 20:41:17 CET 2016 : Security manager installed using the Basic server security policy. Mon Feb 15 20:41:17 CET 2016 : Síťový server Apache Derby - 10.13.0.0 alpha - (Unversioned directory): spuštěn a připraven přijímat připojení na portu 1527 v {3} {noformat} If your locale is cs_CZ, ResourceBundle will look for the message in messages_cs_CZ.properties. If it is not found there, it will try with a less specific locale and look for it in messages_cs.properties. If it is not found there either, it will try with an even less specific locale and look for it in messages.properties. If we move the English messages from messages_en.properties to messages.properties, they will become fallback for messages that lack translation to the requested locale. The tools messages are already structured like this. There is a toolsmessages.properties, but not a toolsmessages_en.properties. Since both the tools messages and the drda messages are localized using LocalizedResource, I think it makes sense if the message files are structured the same way. The engine messages don't go through LocalizedResource, so they have a different mechanism for falling back to English (using MessageService). We could probably copy that logic into LocalizedResource. But since we can get this functionality for free from java.util.ResourceBundle by renaming a file, I don't see much value in copying the code. > Network Server don't start in czech localized enviroment due missing key > DRDA_MissingNetworkJar.S > ------------------------------------------------------------------------------------------------- > > Key: DERBY-6828 > URL: https://issues.apache.org/jira/browse/DERBY-6828 > Project: Derby > Issue Type: Bug > Components: Localization, Network Server > Affects Versions: 10.11.1.1 > Environment: Windows 7 Profesional SP1 64bit (localized CS), > java version "1.8.0_51" > Java(TM) SE Runtime Environment (build 1.8.0_51-b16) > Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode) > Reporter: David Ježek > Priority: Minor > Labels: easyfix > Attachments: nullGuard.diff > > > Network Server don't start in czech localized enviroment due missing key > DRDA_MissingNetworkJar.S in file > org/apache/derby/loc/drda/messages_cs.properties > Exception: > Thu Jul 23 15:56:24 CEST 2015 : null > java.lang.NullPointerException > at > org.apache.derby.iapi.tools.i18n.LocalizedResource.getTextMessage(Unknown > Source) > at > org.apache.derby.impl.drda.NetworkServerControlImpl.localizeMessage(Unknown > Source) > at > org.apache.derby.impl.drda.NetworkServerControlImpl.localizeMessage(Unknown > Source) > at > org.apache.derby.drda.NetworkServerControl.installSecurityManager(Unknown > Source) > at org.apache.derby.drda.NetworkServerControl.main(Unknown Source) > Missing key is called in file org.apache.derby.drda.NetworkServerControl.java > at line 818. > Reproduce under windows in console run: > set DERBY_OPTS=-Duser.language=cs > startNetworkServer.bat > Workaround: > Run derby server under en localization. > Windows consola run: > set DERBY_OPTS=-Duser.language=en > startNetworkServer.bat -- This message was sent by Atlassian JIRA (v6.3.4#6332)