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:
     
     
     


  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

Comments (9)

  1. David,

    You really made my day! Translating messages and strings directly using dexterity is a real nightmare, a very hard job that couldn’t be distributed to the other team members.

    I did allot of tries to generate the dictionary resource file and use Macro to re-import the translated strings but this caused allot of work and incorrect results, I even tried to use macro on “Find and Replace” window in dexterity, but it would take forever!

    Currently I am looking forward to check the form flipping solution in Feb 20, using Dexterity 5.0 to flip forms is not flipping the scrolling windows correctly.

    Thanks for your usual helpful tools.

    Mohammad R. Daoud

  2. Guys! David Musgrave the GP developers guide has just released a new great tool that exports ALL dictionary

  3. David Musgrave says:

    Hi all

    I should clarify that I did not create the translation tool.  It has been available from Sample Applications on PartnerSource and CustomerSource for a number of versions.

    David

  4. Abdelrahmn Nabil says:

    Yeah David i saw this tool before from GP8 …its old

  5. David Musgrave says:

    Hi Abdelrahmn

    This is an updated version of the tool, but it has been around for a long time.

    The old sun and wheat logo should be a clue.

    Look here for more logos:

    http://blogs.msdn.com/developingfordynamicsgp/archive/2008/07/29/gp-logos-though-the-years.aspx

    David