Stu Mackellar
Stu Mackellar

Reputation: 11638

Strategies for localising keyboard shortcuts

I'm currently involved in a heavily localised WPF application and we've had a bug raised about keyboard shortcuts on menus in non-English languages. The bug referred to modifer key names (Shift, Ctrl, etc.) not being translated, which is easy enough to fix.

However, this got me thinking about the shortcut keys themselves, which are often based on the first letter of the command, except where this isn't feasible due to clashes or convention. When the command names are localised this link between the commands and their respective shortcuts will usually be lost:

Although this question was inspired by a WPF app, I'm more interested in the general case.

Upvotes: 13

Views: 1994

Answers (3)

floele
floele

Reputation: 3788

Microsoft has guidelines on this, worth checking out: http://msdn.microsoft.com/en-us/library/windows/desktop/bb545460.aspx#choosing

And from Top Guidelines Violations:

  • Don't confuse access keys with shortcut keys. While both access keys and shortcut keys provide keyboard access to UI, they have different purposes and guidelines.
  • Assign shortcut keys to the most commonly used commands. Infrequently used programs and features don't need shortcut keys because users can use access keys instead.
  • Don't assign different meanings to well-known shortcut keys. Because they are memorized, inconsistent meanings for well-known shortcuts are frustrating and error prone. For the well-known shortcut keys used by Windows programs, see Windows Keyboard Shortcut Keys.
  • Don't try to assign system-wide program shortcut keys. Your program's shortcut keys will have effect only when your program has input focus.

Upvotes: 1

Markus Jarderot
Markus Jarderot

Reputation: 89171

You should stay away from symbol-keys (such as * and <), since they tend to move around on international keyboards. See Wikipedia: Keyboard layout

If you plan on switching the letters around depending on localization, you should enable the user to choose if he/she wants the English variants instead. It is frustrating if I have to learn two sets of shortcuts depending on the language. (Same goes for cross-platform applications.)

Best would be fully customizable keyboard shortcuts, but that could be more for power-users. See Media Player Classic for an example.

Upvotes: 3

Stu Mackellar
Stu Mackellar

Reputation: 11638

While searching for more info I found an excellent blog post on this exact topic.

To summarise:

  • If possible the shortcut is not changed
  • If a key is not available on a specific layout we should try to use the same physical position
  • There should be no link between application language and keyboard layouts
  • It’s a mistake to consider that application language will match the keyboard layout. I’ll give you just an example: in Romania over 95% of the computers are using US keyboard layout and the other 5% are using one of the 4-5 different Romanian keyboard layouts.
  • Some people are using multiple keyboard layouts - usually they are power users and we can’t ignore them keyboard layouts can be switched anytime
  • Characters are safe to be used only if they are Latin

Upvotes: 2

Related Questions