Share via


Translating Dexterity Code

David MeegoFrom the Translating Dexterity Applications Series

Now that we understand how to write the Dexterity code to allow it to be easily translated and also work in a multi-lingual system.  The next step is actually translating the strings and messages.

The actual process of translation is actually really simple. Make sure you have a backup of the Dexterity dictionary before you start.  Below are the steps from a high level: 

  1. Download the Translation Tool, it is available as a sample application from both PartnerSource and CustomerSource.  This sample application by Andrew Ingalls is an updated version of the original tool created Dave Gaboury and Tom Irsfeld.
     
    Sample Applications for Dexterity 10.0 (PartnerSource) Secure Link
    Sample Applications for Dexterity 10.0 (CustomerSource) Secure Link
     
    Translation Tools - AITranslate.zip (156 KB) 6/19/2007
    This download contains release Translation Tools. The zip file contains a translation instruction document, as well as a translation tool dictionary. The translation tools will work with release 10.0 of Microsoft Dexterity.  

    The AITranslate.zip file is also attached at the bottom of the article.
      

  2. Load the Dexterity environment and open the AiTranslate.dic file.
     

  3. Select Debug >> Test Mode or press Ctrl-T to enter Test Mode.
     

  4. From the Main Menu window, click Import/Export Strings to open the Translation Utility window.
     
    Translation Utility
     

  5. Select the dictionary that you want to translate.  This can be your extracted dictionary that you create during the chunking process. That way you will not have to wade through all the Dynamics.dic core strings and messages.
     

  6. Select the name for the Text File to contain the exported strings.
     

  7. Make sure the Direction arrow is pointing to the right by clicking on it.
     

  8. Click Transfer to complete the export.
     

  9. This will produce a text file with contents along the lines of the example below:
     
     

     Series   Resource    ID  Value
    
    System String  22000   Find ...
    System  String  22001   Debugger
    System  String  22002   Find Next
    System String  22003   Support Debugging Tool
    System    String  22004   Replace ...
    
    System   RWString    22000   0   22001
    System RWString    22001   DYNAMICS    22001
    System RWString    22002   System Database 22001
    
    System Error Message   22000   @PROD5261@
    System    Error Message   22001   About @PROD5261@
    

     

  10. You will need to now translate all the strings.  You can use find and replace, but need to be sure you don't change the meaning of the strings. Also be sure to not damage the data in the first three columns, you must only change the strings themselves.
     
    Note: There are some strings which should not be translated, for example the @PROD0@ or @PROD5261@ place holders which are automatically converted to the matching Product Name from the Dynamics.set launch file.  This is covered in more detail in the AiTranslate.rtf document.
     

  11. Once you have completed the changes and save the file, we can reverse the process to bring the strings back into the Dictionary.
     

  12. Go back to the Translation Utility, make sure that Direction arrow is point to the left.
     

  13. Re-enter the dictionary and text file paths, if required.  They will still be there if you did not close the Translation Utility.
     

  14. Click OK to overwrite resources.
     

  15. If any errors occur, they will be logged in an errors.txt file.
     

  16. Use the now translated extracted dictionary to create your translated chunk file.

For more detailed information on the process of translation, hints and tricks, see the AiTranslate.rtf file included with the AiTranslate.dic file in the archive. 

Below is an example that was sent to me a while back showing Advanced Security in German:

German Advanced Security

The following Knowledge Base (KB) article is a great reference for the process of creating a chunk file:

How to create a chunk file in Dexterity in Microsoft Dynamics GP (KB 894700) Secure Link

Please post comments to let me know what your experiences are.

David

AITranslate.zip