Difference between revisions of "Mnemonics Localisation"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Other questions)
 
(35 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
[[Category:Quality Assurance]]
 
[[Category:Quality Assurance]]
 +
[[Category:Localization]]
 
== Mnemonics Localisation ==
 
== 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.
+
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.
 
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.
+
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 has now created text documents containing the menu entries with the mnemonics for
+
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
 
de, en-us, es, fr, hu, it, nl, pl, pt-br, ru, sv
Line 15: Line 16:
  
 
These documents need to be reviewed and can be edited (with a UTF8 Editor) - in case needed.
 
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:
 
Here is an example of the text file for German with comments to help explain it in brackets:
  
Line 28: Line 29:
 
<nowiki>~Zuletzt benutzte Dokumente (etc)</nowiki>
 
<nowiki>~Zuletzt benutzte Dokumente (etc)</nowiki>
  
<nowiki>        (Seperator)</nowiki>
+
<nowiki>        (Separator)</nowiki>
  
 
<nowiki>~Assistenten</nowiki>
 
<nowiki>~Assistenten</nowiki>
Line 34: Line 35:
 
<nowiki>S~chließen</nowiki>
 
<nowiki>S~chließen</nowiki>
  
<nowiki>
+
----
  
~Speichern</nowiki>
+
Please see  [[Mnemonics_DE|Mnemonics for '''German''' (DE)]] for more details
  
<nowiki>Speichern ~unter...</nowiki>
 
 
<nowiki>Alles speic~hern</nowiki>
 
 
----
 
 
 
The ~ character before a letter denotes that this is the letter that is the mnemonic. This will be underlined in the build.
 
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, I 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.
+
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.
  
 
----
 
----
Line 52: Line 47:
 
=== How the mnemonics are assigned ===
 
=== How the mnemonics are assigned ===
  
There are 2 ways of assigning mnemonics (quote from a mail by Joerg Jahnke)
+
There are 2 ways of assigning mnemonics:
  
One is a database job which we have for our translation database. This job can be executed
+
One is a database job which we have in Web-lingTool database (Sun internal translation database).  
for the CJK languages and will indeed remove existing mnemonics and create new ones
+
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.
+
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 tries to assign mnemonics automatically if these are not manually set. This
+
algorithm is working for the western languages.
+
(end of quote)
+
  
 +
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'''
 
  '''The current situation'''
  
Only 3 or more strings sharing the same letter are considered as a bug.
+
1. 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
+
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'''  
 
  ''' Improvements to the current situation'''  
Line 87: Line 81:
 
- another approach: duplicate mnemonics are a bug - see below
 
- another approach: duplicate mnemonics are a bug - see below
  
 +
=== What needs to be done in order to improve the current situation ===
  
 +
'''Menus:'''
  
=== What needs to be done in order to improve the current situation ===
+
1. Agree that duplicate mnemonics in the main menus are not acceptable
  
Menus:
+
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)
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:
+
3. Agree that the reviewed and amended documents are the valid reference documents.
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
+
4. Reassign mnemonics in the main menus ad indicated in the reference documents (ideally, Globalization will carry out the changes directly in Web-LingTool)
 +
 
 +
'''Dialogs:'''
 +
 
 +
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
 
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
 
resource-demanding (the number of strings is very high), so it could be simplified in the
 
following way:
 
following way:
  
1. strings that exist the majority of dialogs would have a fixed mnemonic assigned by '~' in
+
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",
+
Web-LingTool to guarantee consistency in all dialogs/applications (strings like "OK", "Cancel",
 
"Apply", "Browse", ... - need to specify this list of strings)
 
"Apply", "Browse", ... - need to specify this list of strings)
  
2. other strings would _not_ have their mnemonic assigned manually, the assignment would be
+
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
+
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
 
If the mnemonics were assigned automatically, there would probably be less chance to have
Line 119: Line 114:
 
letters.
 
letters.
  
 +
=== General questions ===
  
=== Other questions ===
+
1. Does this initial assignment follow some rules/specifications?
 
+
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?)
 
(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
+
2. During this initial assignment, is there a way to avoid assigning one mnemonic
 
to several items in a single menu/dialog?
 
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_DE|Mnemonics for '''German''' (DE)]]<br>
 +
[[Mnemonics_ES|Mnemonics for '''Spanish''' (ES)]]<br>
 +
[[Mnemonics_FR|Mnemonics for '''French''' (FR)]]<br>
 +
[[Mnemonics_HU|Mnemonics for '''Hungarian''' (HU)]]<br>
 +
[[Mnemonics_IT|Mnemonics for '''Italian''' (IT)]]<br>
 +
[[Mnemonics_NL|Mnemonics for '''Dutch''' (NL)]]<br>
 +
[[Mnemonics_PL|Mnemonics for '''Polish''' (PL)]]<br>
 +
[[Mnemonics_PT|Mnemonics for '''Portuguese''' (PT)]]<br>
 +
[[Mnemonics_PTBR|Mnemonics for '''Brasilian Portuguese''' (PTBR)]]<br>
 +
[[Mnemonics_RU|Mnemonics for '''Russian''' (RU)]]<br>
 +
[[Mnemonics_SV|Mnemonics for '''Swedish''' (SV)]]<br>
 +
[[Mnemonics_SI|Mnemonics for '''Slovenian''' (SI)]]<br>
 +
 +
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).
 +
 +
=== Timeline ===
 +
 +
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 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]]

Latest revision as of 10:45, 3 April 2008

Mnemonics Localisation

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)

(Separator)

~Assistenten

S~chließen


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

Menus:

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)

Dialogs:

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.

General questions

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).

Timeline

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

Personal tools