Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 340411 - Shortcuts appear as text in menu labels
Summary: Shortcuts appear as text in menu labels
Status: RESOLVED FIXED
Alias: None
Product: Babel
Classification: Technology
Component: translations (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Kit Lo CLA
QA Contact:
URL:
Whiteboard: stalebug
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-18 07:07 EDT by pslabycz CLA
Modified: 2014-06-18 16:38 EDT (History)
1 user (show)

See Also:


Attachments
Edit pulldown menu.jpg (21.39 KB, image/pjpeg)
2011-03-23 16:20 EDT, Kit Lo CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description pslabycz CLA 2011-03-18 07:07:50 EDT
Build Identifier: 20100917-0705

When using the Czech Babel translation I get strings like "Vybrat vše@Ctrl+A" in menus - the shortcuts seem to be declared in the translation but appear as text in menus instead. I have experienced the same problems with Polish tranlation as well.

Also, there are conflicts in shortcuts. E.g. pressing Ctrl+A in text editor does not select text, but shows the conflicted shortuts popup window. Funny enough, the window contains just one item to select from and clicking it selects the text in editor.

!ENTRY org.eclipse.jface 2 0 2011-03-09 15:02:05.929
!MESSAGE Keybinding conflicts occurred.  They may interfere with normal accelerator operation.
!SUBENTRY 1 org.eclipse.jface 2 0 2011-03-09 15:02:05.929
!MESSAGE A conflict occurred for CTRL+A:
Binding(CTRL+A,
	ParameterizedCommand(Command(org.eclipse.ui.edit.selectAll,Vybrat vše,
		Vybrat vše,
		Category(org.eclipse.ui.category.edit,Upravit,null,true),
		org.eclipse.ui.internal.handlers.SelectAllHandler@825459,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.dialogAndWindow,,,system)
Binding(CTRL+A,
	ParameterizedCommand(Command(org.eclipse.ui.edit.selectAll,Vybrat vše,
		Vybrat vše,
		Category(org.eclipse.ui.category.edit,Upravit,null,true),
		org.eclipse.ui.internal.handlers.SelectAllHandler@825459,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
Binding(CTRL+A,
	ParameterizedCommand(Command(org.eclipse.ui.edit.selectAll,Vybrat vše,
		Vybrat vše,
		Category(org.eclipse.ui.category.edit,Upravit,null,true),
		org.eclipse.ui.internal.handlers.SelectAllHandler@825459,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
Binding(CTRL+A,
	ParameterizedCommand(Command(org.eclipse.ui.edit.selectAll,Vybrat vše,
		Vybrat vše,
		Category(org.eclipse.ui.category.edit,Upravit,null,true),
		org.eclipse.ui.internal.handlers.SelectAllHandler@825459,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)
Binding(CTRL+A,
	ParameterizedCommand(Command(org.eclipse.ui.edit.selectAll,Vybrat vše,
		Vybrat vše,
		Category(org.eclipse.ui.category.edit,Upravit,null,true),
		org.eclipse.ui.internal.handlers.SelectAllHandler@825459,
		,,true),null),
	org.eclipse.ui.defaultAcceleratorConfiguration,
	org.eclipse.ui.contexts.window,,,system)


The above mentioned problems seem to lead to a stack overflow in our eclipse based application. I do not know how to reproduce it in eclipse itself, but maybe the stacktrace helps.

Caused by: java.lang.StackOverflowError
	at java.util.HashMap$KeyIterator.<init>(HashMap.java:826)
	at java.util.HashMap$KeyIterator.<init>(HashMap.java:826)
	at java.util.HashMap.newKeyIterator(HashMap.java:840)
	at java.util.HashMap$KeySet.iterator(HashMap.java:874)
	at java.util.HashSet.iterator(HashSet.java:153)
	at java.util.AbstractCollection.toArray(AbstractCollection.java:162)
	at org.eclipse.ui.internal.WorkbenchPage.getActionSets(WorkbenchPage.java:1979)
	at org.eclipse.ui.internal.Workbench.updateActiveWorkbenchWindowMenuManager(Workbench.java:3266)
	at org.eclipse.ui.internal.Workbench.access$0(Workbench.java:3238)
	at org.eclipse.ui.internal.Workbench$2.bindingManagerChanged(Workbench.java:3224)
	at org.eclipse.jface.bindings.BindingManager.fireBindingManagerChanged(BindingManager.java:900)
	at org.eclipse.jface.bindings.BindingManager.setActiveBindings(BindingManager.java:2176)
	at org.eclipse.jface.bindings.BindingManager.recomputeBindings(BindingManager.java:1742)
	at org.eclipse.jface.bindings.BindingManager.getPrefixTable(BindingManager.java:1519)
	at org.eclipse.jface.bindings.BindingManager.isPartialMatch(BindingManager.java:1604)
	at org.eclipse.jface.action.ExternalActionManager$CommandCallback.isAcceleratorInUse(ExternalActionManager.java:348)
	at org.eclipse.jface.action.MenuManager.update(MenuManager.java:898)
	at org.eclipse.jface.action.MenuManager.update(MenuManager.java:876)
	at org.eclipse.ui.internal.Workbench.updateActiveWorkbenchWindowMenuManager(Workbench.java:3278)
	at org.eclipse.ui.internal.Workbench.access$0(Workbench.java:3238)
	at org.eclipse.ui.internal.Workbench$2.bindingManagerChanged(Workbench.java:3224)
	at org.eclipse.jface.bindings.BindingManager.fireBindingManagerChanged(BindingManager.java:900)
	at org.eclipse.jface.bindings.BindingManager.setActiveBindings(BindingManager.java:2176)
	at org.eclipse.jface.bindings.BindingManager.recomputeBindings(BindingManager.java:1742)
	at org.eclipse.jface.bindings.BindingManager.getPrefixTable(BindingManager.java:1519)
	at org.eclipse.jface.bindings.BindingManager.isPartialMatch(BindingManager.java:1604)
	at org.eclipse.jface.action.ExternalActionManager$CommandCallback.isAcceleratorInUse(ExternalActionManager.java:348)
	at org.eclipse.jface.action.MenuManager.update(MenuManager.java:898)
	at org.eclipse.jface.action.MenuManager.update(MenuManager.java:876)
	at org.eclipse.ui.internal.Workbench.updateActiveWorkbenchWindowMenuManager(Workbench.java:3278)
	at org.eclipse.ui.internal.Workbench.access$0(Workbench.java:3238)
	at org.eclipse.ui.internal.Workbench$2.bindingManagerChanged(Workbench.java:3224)
	at org.eclipse.jface.bindings.BindingManager.fireBindingManagerChanged(BindingManager.java:900)
	at org.eclipse.jface.bindings.BindingManager.setActiveBindings(BindingManager.java:2176)
	at org.eclipse.jface.bindings.BindingManager.recomputeBindings(BindingManager.java:1742)
	at org.eclipse.jface.bindings.BindingManager.getPrefixTable(BindingManager.java:1519)
	at org.eclipse.jface.bindings.BindingManager.isPartialMatch(BindingManager.java:1604)
	at org.eclipse.jface.action.ExternalActionManager$CommandCallback.isAcceleratorInUse(ExternalActionManager.java:348)
	at org.eclipse.jface.action.MenuManager.update(MenuManager.java:898)
	at org.eclipse.jface.action.MenuManager.update(MenuManager.java:876)
	...  repeated many times 
	at org.eclipse.jface.bindings.BindingManager.fireBindingManagerChanged(BindingManager.java:900)
	at org.eclipse.jface.bindings.BindingManager.setActiveBindings(BindingManager.java:2176)
	at org.eclipse.jface.bindings.BindingManager.recomputeBindings(BindingManager.java:1742)
	at org.eclipse.jface.bindings.BindingManager.getPrefixTable(BindingManager.java:1519)
	at org.eclipse.jface.bindings.BindingManager.isPartialMatch(BindingManager.java:1604)
	at org.eclipse.jface.action.ExternalActionManager$CommandCallback.isAcceleratorInUse(ExternalActionManager.java:348)


Reproducible: Always

Steps to Reproduce:
1. Install eclipse
2. Install babel BabelLanguagePack-eclipse-cs_3.6.0.v20101211043401.zip
3. Start with a new workspace, create project and a text file. Check the Edit menu ("Upravit" in czech translation).
Comment 1 Kit Lo CLA 2011-03-21 10:54:48 EDT
I removed all the shortcut key labels from the strings in http://babel.eclipse.org/babel/translate.php?project=eclipse&version=3.6&file=org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/messages.properties in Czech and Polish.

I will check tomorrow's build to see if we still have the keybinding conflicts.
Comment 2 Kit Lo CLA 2011-03-23 16:20:27 EDT
Created attachment 191788 [details]
Edit pulldown menu.jpg

The shortcut key labels are removed from the translations in BabelLanguagePack-eclipse-cs_3.6.0.v20110322043401.zip

However, I still see the keybinding conflicts in the log file. It doesn't say what it's conflicting with. I have to investigate more.
Comment 3 Eclipse Genie CLA 2014-06-16 16:28:33 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.
Comment 4 Kit Lo CLA 2014-06-18 16:38:01 EDT
The shortcut key labels were removed from the translations. The log messages should not be important. Resolved.