How to Horizontally Flip the Windows

David MeegoFrom the Translating Dexterity Applications Series

So now we know how to translate the language, which is fine for a "western" language, but what about languages that are read from right to left rather than left to right; languages such as Hebrew and Arabic.

One of the reasons that I decided to put together a series of articles about translating Dexterity applications was due to the number of requests I had from partners in the Middle East wanting to translate the Microsoft Dynamics GP or add-on products into Arabic.

The big question was "How can I change the screens to be a mirror image or flipped so that they read from right to left?"

Well, you might not know it but there was an Arabic version of Great Plains Dynamics a long time ago and so there were some tools written into Dexterity to help flip the windows around.  As this is no longer supported, the option was hidden.

Below are the steps to flip the Windows in your application:

  1. Make a backup of your Development dictionary.
     
  2. Add the following line into your Dex.ini file for your Dexterity environment:
     
    FlipPrompts=TRUE
     
  3. Launch Dexterity Utilities.
     
  4. Select Utilities and the now exposed option, Flip Prompts.
     
  5. Select the name of your Development dictionary and click OK.
     
  6. Once the process is completed, close Dexterity Utilities.
     
  7. Open the now flipped Development dictionary with Dexterity.
     
  8. Now you will need to visit every window in the dictionary and fine tune the windows.
     
  9. That's all folks.

Here is the Sales Transaction Entry (SOP_Entry) window after it has been flipped:

Flipped SOP_Entry 

OK, I admit it, step 8 is a major task. I was trying to hide it so you would not notice.  To make sure that you don't have to manually repeat this every time you want to flip a dictionary, I suggest you record a series of macros of the changes made.  Then you can play the macros to remake the changes next time.

Some examples of the issues you will need to address are listed below:

  • The browse buttons on the window need to be swapped into the correct order.
     
  • Scrolling windows need to be shifted to the left by one grid position.
     
    I believe this is due to the changes made in the way scrolling windows were sized from version 6.00 onwards. In version 6.00, the size of the scrolling window included the scroll bar when prior versions did not include the scroll bar.  This was changed to allow themes which resized the scroll bars not to affect the overall size of the scrolling window.  The Flip Prompts utility was written before version 6.00.
     
  • Some of the fields inside Scrolling windows might need need to be re-positioned. 
     
    If you cannot see the field, check the properties by changing to the field using the drop down list at the top of the Properties window.  If the horizontal position is negative you will need to change it to make the field visible in the layout window again.

Below is an example of the Sales Transaction Entry (SOP_Entry) window with the mirrored fields and the Arabic translation:

Ararbic SOP Entry

Now while we are discussing Arabic systems, we should also talk about the Hijri date system.  Dexterity cannot support anything other than Gregorian dates (formatted as per the Control Panel's Regional Settings).  However, as my good friend Mariano Gomez shows, we can use Visual Basic for Applications (VBA) to show a Hijri date. Please see his post below for a technique and example code you can download and use.

Displaying Hijri dates in Microsoft Dynamics GP

Please let me know if you find this information useful. 

David