Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 4664265
Votes 0
Synopsis Euro: Wrong localization for mnemonics of Swing components.
Category java:localization
Reported Against hopper
Release Fixed 1.4.2(mantis), 1.5(tiger-b30) (Bug ID:2053455)
State 10-Fix Delivered, bug
Priority: 2-High
Related Bugs 4663490 , 4691093 , 4691933 , 4700282 , 4917411 , 4715991
Submit Date 08-APR-2002
Description
I think .properties files under     
  src/share/classes/com/sun/swing/internal/plaf/metal/resources
and
  src/share/classes/com/sun/swing/internal/plaf/basic/resources
should be localized more carefully. In those files, only Text and Label 
have been translated. Because Mnemonic and DisplayedMnemonicIndex have 
been ignored and unchanged on localization, mnemonics of some Swing components
look wrong for some locales.

For example, 
  ColorChooser.swatchesNameText=\u30b5\u30f3\u30d7\u30eb (S)
  ColorChooser.swatchesMnemonic=83
  ColorChooser.swatchesDisplayedMnemonicIndex=6
might be better than the following current entries:
  ColorChooser.swatchesNameText=\u30b5\u30f3\u30d7\u30eb
  ColorChooser.swatchesMnemonic=83
  ColorChooser.swatchesDisplayedMnemonicIndex=0
(basic_ja.properties)

  ColorChooser.swatchesNameText=Muster
  ColorChooser.swatchesMnemonic=77
  ColorChooser.swatchesDisplayedMnemonicIndex=0
or
  ColorChooser.swatchesNameText=Muster
  ColorChooser.swatchesMnemonic=83
  ColorChooser.swatchesDisplayedMnemonicIndex=2
might be better than current entries as well:
  ColorChooser.swatchesNameText=Muster
  ColorChooser.swatchesMnemonic=83
  ColorChooser.swatchesDisplayedMnemonicIndex=0
(basic_de.properties)

For the above two examples, at the moment, the first character
(\u30b5 in ja locale, 'M' in de locale) is underlined as if the character 
is a mnemonic. Of course, these fake mnemonics don't work. 'S' works for
each case.

I think all localized .properties files under these directory should
be reviewed and expected behavior for each (localized) mnemonic should
be verified with testing.
Work Around
N/A
Evaluation
We will fix it for hopper beta. Test cases will be added.
  xxxxx@xxxxx   2002-04-30


Test case (use SwingSet2 demo):
% cd /usr/demo/J2SE/demo/jfc/SwingSet2
% java -jar SwingSet2.jar
Click on the third icon from the left, which is the JColorChooser demo.
Click on "background" icon, "choose a color" dialog will pop up.
Check the location of underline for "Swatches", "HSB", "RGB" and "Reset".
  xxxxx@xxxxx   2002-05-27


  xxxxx@xxxxx   2002-06-20

For the euro locales, it makes more sense to change the mnemonic to whatever the text is, rather than putting in "(S)" etc. Can I use the VK_* format here, or does it have to be the hex code ( i.e. for the Swedish "Prov", can I use "VK_P" or does it have to be "80")?


  xxxxx@xxxxx   2002-10-31
******** l10n evaluation template - begin ***********

Evaluation :
Changing the mnemonics to better values for the localized strings

sccsdiff info (e.g. sccs diffs -r1.30 1.31 Activator_fr.java):
sccs info metal_de.properties

------- metal_de.properties -------
47c47
< MetalTitlePane.restoreMnemonic=82
---
> MetalTitlePane.restoreMnemonic=87
49c49
< MetalTitlePane.iconifyMnemonic=69
---
> MetalTitlePane.iconifyMnemonic=77
53c53
< MetalTitlePane.closeMnemonic=67
---
> MetalTitlePane.closeMnemonic=83

sccs info metal_es.properties

------- metal_es.properties -------
49c49
< MetalTitlePane.iconifyMnemonic=69
---
> MetalTitlePane.iconifyMnemonic=77

sccs info metal_fr.properties

------- metal_fr.properties -------
49c49
< MetalTitlePane.iconifyMnemonic=69
---
> MetalTitlePane.iconifyMnemonic=68
51c51
< MetalTitlePane.maximizeMnemonic=88
---
> MetalTitlePane.maximizeMnemonic=65
53c53
< MetalTitlePane.closeMnemonic=67
---
> MetalTitlePane.closeMnemonic=70

sccs info metal_it.properties

------- metal_it.properties -------
49c49
< MetalTitlePane.iconifyMnemonic=69
---
> MetalTitlePane.iconifyMnemonic=68
51c51
< MetalTitlePane.maximizeMnemonic=88
---
> MetalTitlePane.maximizeMnemonic=73

sccs info metal_sv.properties

------- metal_sv.properties -------
48c48
< MetalTitlePane.restoreMnemonic=82
---
> MetalTitlePane.restoreMnemonic=84
50c50
< MetalTitlePane.iconifyMnemonic=69
---
> MetalTitlePane.iconifyMnemonic=77
54c54
< MetalTitlePane.closeMnemonic=67
---
> MetalTitlePane.closeMnemonic=83

sccs info basic_de.properties

------- basic_de.properties -------
55c55
< ColorChooser.swatchesMnemonic=83
---
> ColorChooser.swatchesMnemonic=77
83c83
< OptionPane.yesButtonMnemonic=89
---
> OptionPane.yesButtonMnemonic=75
87c87
< OptionPane.okButtonMnemonic=0
---
> OptionPane.okButtonMnemonic=79
89c89
< OptionPane.cancelButtonMnemonic=0
---
> OptionPane.cancelButtonMnemonic=65

sccs info basic_es.properties

------- basic_es.properties -------
56c56
< ColorChooser.swatchesMnemonic=83
---
> ColorChooser.swatchesMnemonic=77
84c84
< OptionPane.yesButtonMnemonic=89
---
> OptionPane.yesButtonMnemonic=83

sccs info basic_fr.properties

------- basic_fr.properties -------
56c56
< ColorChooser.swatchesMnemonic=83
---
> ColorChooser.swatchesMnemonic=69
73c73
< ColorChooser.rgbMnemonic=71
---
> ColorChooser.rgbMnemonic=86
84c84
< OptionPane.yesButtonMnemonic=89
---
> OptionPane.yesButtonMnemonic=79

sccs info basic_it.properties

------- basic_it.properties -------
55c55
< ColorChooser.swatchesMnemonic=83
---
> ColorChooser.swatchesMnemonic=67
83c83
< OptionPane.yesButtonMnemonic=89
---
> OptionPane.yesButtonMnemonic=83
87c87
< OptionPane.okButtonMnemonic=0
---
> OptionPane.okButtonMnemonic=79
89c89
< OptionPane.cancelButtonMnemonic=0
---
> OptionPane.cancelButtonMnemonic=65

sccs info basic_sv.properties

------- basic_sv.properties -------
52c52
< ColorChooser.resetMnemonic=82
---
> ColorChooser.resetMnemonic=84
55c55
< ColorChooser.swatchesMnemonic=83
---
> ColorChooser.swatchesMnemonic=80
83c83
< OptionPane.yesButtonMnemonic=89
---
> OptionPane.yesButtonMnemonic=74

List file(s) to be delivered :
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties
src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_de.properties
src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_es.properties
src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_fr.properties
src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_it.properties
src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_sv.properties

Target Build : Mantis

Additional Info :
I putback the changes a while ago, but looks like I didn't update bugtraq.

******** l10n evaluation template - end***********


  xxxxx@xxxxx   2002-11-11

Updating the mnemonic for Yes button for german - had the wrong decimal value.

sccs diffs basic_de.properties

------- basic_de.properties -------
83c83
< OptionPane.yesButtonMnemonic=75
---
> OptionPane.yesButtonMnemonic=74


  xxxxx@xxxxx   2003-07-18
******** l10n evaluation template - begin ***********

Evaluation :
 Appropriate mnemonics for RGB fields at RGB tab in ColorChooser should be inserted into non-english versions.
sccsdiff info (e.g. sccs diffs -r1.30 1.31 Activator_fr.java):
------- basic_de.properties -------
74a75
> ColorChooser.rgbRedMnemonic=84

------- basic_es.properties -------
75a76
> ColorChooser.rgbRedMnemonic=74
76a78
> ColorChooser.rgbGreenMnemonic=86
77a80
> ColorChooser.rgbBlueMnemonic=76

------- basic_fr.properties -------
75a76
> ColorChooser.rgbRedMnemonic=71
76a78
> ColorChooser.rgbGreenMnemonic=84

------- basic_it.properties -------
74a75
> ColorChooser.rgbRedMnemonic=79
75a77
> ColorChooser.rgbGreenMnemonic=69

List file(s) to be delivered :
j2se/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties
j2se/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties
j2se/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties
j2se/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties
Target Build : 
 Tiger
Additional Info :


******** l10n evaluation template - end***********
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang