Mnemonics Localisation

From Apache OpenOffice Wiki
Revision as of 12:45, 14 June 2006 by Iano (Talk | contribs)

Jump to: navigation, search

Mnemonics Localisation

To try to solve the problem of duplicate or unusual mnemonics in the product the base team has created a testtool script which is able to detect changes in the mnemonics menu entries which may erroneously occur during translation.

The menu items (first level) should have - as far as possible - the same mnemonics for both consistency and usability reasons.

Automating the mnemonic testing it means that initially we would need to invest some time in defining the mnemonics in the various menus. Based on that information the script would be able to tell us if and what has been changed from version to version.

Thorsten has now created text documents containing the menu entries with the mnemonics for

de, en-us, es, fr, hu, it, nl, pl, pt-br, ru, sv

based on the OOC680m0 build.

These documents need to be reviewed and can be edited (with a UTF8 Editor) - in case needed.

Here is an example of the text file for German with comments to help explain it in brackets:


********** ~Datei (Title of the menu)

~Neu (1st item)

Ö~ffnen... (2nd item)

~Zuletzt benutzte Dokumente (etc)

(Seperator)

~Assistenten

S~chließen

~Speichern

Speichern ~unter...

Alles speic~hern


The ~ character before a letter denotes that this is the letter that is the mnemonic. This will be underlined in the build.

Once they are reviewed, we will deliver them back to Thorsten and from that moment on they will serve as reference document to detect future changes - if any - in the mnemonics of the menu entries. This should help us to avoid duplicate or ununusal mnemonics in the future.


How the mnemonics are assigned

There are 2 ways of assigning mnemonics (quote from a mail by Joerg Jahnke)

One is a database job which we have for our translation database. This job can be executed for the CJK languages and will indeed remove existing mnemonics and create new ones with the mnemonic which is used for English.

The second mechanism is an algorithm which is running during the execution of StarOffice and which tries to assign mnemonics automatically if these are not manually set. This algorithm is working for the western languages. (end of quote)


The current situation

Only 3 or more strings sharing the same letter are considered as a bug. 2 strings sharing the same letter are ok. The bugs are fixed manually in LingTool by placing the '~' character to a different position


 Improvements to the current situation 

The main suggestion is to split the mnemonics problem in two parts:

1. mnemonics in menus - every menu item should have a unique mnemonic (no duplicates are allowed)

There are 2 reasons why not to allow duplicate mnemonics in menus: - if there's a duplicate mnemonic, the user has to press 3 keys instead of 1 (in the worst case) to get to the second menu item - there was a feedback from the community that the current status is not acceptable

2. mnemonics in dialogs - no changes here - duplicate mnemonics are ok, 3 or more are a bug - another approach: duplicate mnemonics are a bug - see below


What needs to be done in order to improve the current situation

Menus:

1. agree that duplicate mnemonics in menus are not acceptable

2. get a list of new mnemonics for all affected languages (a task for the Language Leads)

3. have these new mnemonic settings documented as a reference for future use

4. reassign mnemonics in menus in all languages based on the documentation provided by the Language Leads

Dialogs:

If we still consider duplicate mnemonics not to be a bug, then there are no tasks to be done. If we do consider duplicate mnemonics to be a bug, then the proposal is the following:

One solution is to ask the Language Leads to provide us not only with a list of mnemonics for the menu items, but also for dialogs. This task would probably be too complicated and resource-demanding (the number of strings is very high), so it could be simplified in the following way:

1. strings that exist the majority of dialogs would have a fixed mnemonic assigned by '~' in LingTool to guarantee consistency in all dialogs/applications (strings like "OK", "Cancel", "Apply", "Browse", ... - need to specify this list of strings)

2. other strings would _not_ have their mnemonic assigned manually, the assignment would be automatic (see the explanation from Joerg in the beginning of this text) - need to remove the '~' character from these strings in LingTool

If the mnemonics were assigned automatically, there would probably be less chance to have duplicate mnemonics because the mechanism for automatic assignment takes into consideration all mnemonics that are set manually (using '~') and tries to assign the mnemonics to unused letters.

Other questions

1. Who does the initial mnemonic assignment in LingTool using the '~' character?

2. Does this initial assignment follow some rules/specifications? (is there a documentation about how to assign mnemonics in every language?)

3. During this initial assignment, is there a way to avoid assigning one mnemonic to several items in a single menu/dialog?

Personal tools