To try to solve the problem of duplicate or unusual mnemonics in the product the StarOffice QA 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 verifying and, if necessary fix, the mnemonics in the main menus. Based on that information the script would be able to tell us if and what has been changed from version to version.
Thorsten B. from the StarOffice QA team, 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)
Please see Mnemonics for German (DE) for more details
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 (in Globalization) 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:
One is a database job which we have in Web-lingTool database (Sun internal translation database). This job can be executed for the CJK (Asian) languages and will indeed remove existing mnemonics and create new ones with the mnemonic which is used for English. Currently this job is run for the 2 Chinese, Japanese and Korean.
The second mechanism is an algorithm which is running during the execution of StarOffice and which assigns mnemonics automatically if these are not manually set. This algorithm is working for the *western* languages.
The current situation
1. Only 3 or more strings sharing the same letter are considered as a bug
2. 2 strings sharing the same letter are ok
3. The bugs are fixed manually in Web-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
1. Agree that duplicate mnemonics in the main menus are not acceptable
2. Review the reference documents created based on build OOC680m0 from the functionality and usability perspective (ideally, Community engineers should confirm if the mnemonics as they are in the initial mnemonics documents provided are correct and, if necessary indicate the necessary changes)
3. Agree that the reviewed and amended documents are the valid reference documents.
4. Reassign mnemonics in the main menus ad indicated in the reference documents (ideally, Globalization will carry out the changes directly in Web-LingTool)
If duplicate mnemonics are not considered a bug, then there are no tasks to be done. However, if duplicate mnemonics in the dialogs are considered a bug, then the proposal is the following:
One solution is to ask the StarOffice QA team 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 Web-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 in the beginning of this text) - need to remove the '~' character from these strings in Web-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.
1. Does this initial assignment follow some rules/specifications? (is there a documentation about how to assign mnemonics in every language?)
2. During this initial assignment, is there a way to avoid assigning one mnemonic to several items in a single menu/dialog?
Links to tables with mnemonics for various languages
The links below contain tables with 1st level menu items and their respective keyIDs and mnemonics for the whole office suite. If some mnemonics need to be reassigned to different letters, it is necessary to specify that information in the last 2 columns of all tables where the string with that keyID appears. To preserve consistency, please note that many keyIDs exist in more than one table - for example menu item File (keyID 240091) exists in all of them.
Mnemonics for German (DE)
Mnemonics for Spanish (ES)
Mnemonics for French (FR)
Mnemonics for Hungarian (HU)
Mnemonics for Italian (IT)
Mnemonics for Dutch (NL)
Mnemonics for Polish (PL)
Mnemonics for Portuguese (PT)
Mnemonics for Brasilian Portuguese (PTBR)
Mnemonics for Russian (RU)
Mnemonics for Swedish (SV)
Mnemonics for Slovenian (SI)
When you make a change to mnemonic(s) in the tables on the pages linked above can you please file an issue so we are aware you have updated the table and can track the changes. Please mention in the issue what you have changed (ie. Made changes to a few entries in the file menu of Writer, or copy & paste from the table into the issue description).
If you want to see the changes in the 2.04 release, please keep in mind that August 3rd is translation deadline. All language related fixes provided by then will be included into the 2.04 release build. That said, it means that we/G11n need at least a couple of days to carry out the changes into the internal database (as described in the wiki). The suggested deadline to provide the changes to mmet the 2.04 release schedule is July 31st. All other changes will be fixed but integrated into the following release.
Links to other resources
The French group of the Gnome community discussed the necessity to define rules for the shortcuts of the main menus, in order to keep consistency not only in one project but also across as many projects/applications as possible. More info about this initiative is available (in French) at http://live.gnome.org/GnomeFr/Menus.
Automating the process
Mnemonics localisation is only a part of the process of QA of translation. There are various proposals to automate the QA, see Automating Translation QA