[
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)