[Localization] [sugar] keyboard bindings for buttons and palettes
Alexander Dupuy
alex.dupuy at mac.com
Fri Feb 29 13:54:05 EST 2008
>
> I'm not sure translatable accelerators are a good idea. I see the
> advantages, but it also means you are "screwed" if you switch
> language. Eben?
>
>
> Me neither, that's why I left it at the discretion of the language
> administrators. I think that errors in translating labels can be as
> bad as in accelerators.
>
> I can see how some languages may prefer to not translate accelerators.
> But I guess for some languages/keyboards, the english accelerators can
> be suboptimal.
As a native English speaker who uses a Spanish localization of Fedora on
a daily basis, it was a bit hard at first to get used to the different
accelerators for localized applications. However, that's not an issue
for the kids who are the target audience for this.
I have to wonder, though, if it really makes sense to carry this part of
the classic WIMP interface forward into the 21st century Sugar - while
developers may find keyboard accelerators handy, because they are used
to them, do the kids with no prior exposure to this concept really find
it useful? Even among adult North Americans with some (but not
necessarily a lot of) computer experience, I often watch people
navigating the menus quite oblivious to (or at least uninterested in
using) the keyboard shortcuts. This is especially true for the
Windows-style "Alt-E_xit" menu navigation stuff, which I hope Sugar will
avoid, except as necessary for disability access.
In any case, if this is done, it would be a good idea to avoid a couple
of serious problems with keyboard shortcuts and their localization.
* Something that I continue to find extremely annoying is the
inconsistency between and even within applications, a few of which use
localizations (e.g. OpenOffice uses Ctrl-G (guardar) instead of Ctrl-S
(save) - but nonetheless uses Ctrl-Shift-S for "guardar como" (save as)
- go figure). However, most applications don't localize accelerators,
so for half the applications you use Ctrl-S for guardar. Consistency
across all activities (for a given localization) is critical if this is
to be at all useful.
* For locales that have alternate alphabets (e.g. Arabic, Cyrillic) as
well as Latin, it would be very annoying if you had to switch to the
Latin alphabet to use a shortcut - localization can help with that - but
it would still be annoying if you were in Latin for some reason and had
to switch to Cyrillic to use the localized shortcut. This implies that
you want to have *two* keyboard shortcuts (one in Latin, and one in the
native alphabet; both mapping to the same physical key). Localization
alone can't accomplish this - it requires either a very clever
application that knows the keyboard type and details of the keyboard
layout, or some extra work on the internationalization to add a hidden
second shortcut that can be used for Latin shortcuts when the primary
shortcut uses a non-Latin alphabet. I suppose it could also be done
with appropriate keymapping magic so that the Ctrl modifier always
forces Latin, but this would get very tricky, and complicates things
somewhat for the localizers.
* For locales that use a SCIM input method to map multiple keypresses to
a particular character (or a single keypress to multiple characters,
e.g. in Khmer), things start getting a lot more complicated, and I'm not
even sure what all the possible problems may be. It's certainly clear
that in these locales the benefit of a keyboard accelerator is going to
be pretty limited, and it would probably be a good idea to allow
localizers not only to choose alternate accelerators, but also to choose
to omit (or at least hide) the accelerator information entirely.
* When a lot of accelerators are in use, mapping actions to distinct
characters that have any kind of semantic or mnemonic association with
the action is quite tricky. However, what is tricky in English often
becomes very difficult or impossible in another language, especially if
there are multiple sets of accelerators in effect at the same time
(global accelerators + activity-specific accelerators + button
accelerators on a dialog). Rather than be forced to choose meaningless
characters for these accelerators, localizers should be able to enter a
special string that disables the specific accelerator (would an empty
string have this effect?) and activity developers should be strongly
encouraged to limit use of keyboard accelerators to no more than seven
or eight of the most useful and common activities.
All in all, while I wouldn't put up a red flag, from a localization POV
I would raise a yellow flag (proceed slowly, and with caution) about the
addition of this feature.
@alex
--
mailto:alex.dupuy at mac.com
More information about the Localization
mailing list