Sunday, August 25, 2013

Translating Acumatica. Changing Field Labels. Regional Settings.

Hi Everyone,

A task to translate the user interface is quite common in Asia, with it's multiple business cultures and languages spoken.

It can easily be done via translation tool inside Acumatica Cloud ERP. No Customization is necessary.
We can use the same approach when just a slight amendment of field names or grid labels is needed.

So first what we have to do - is to define a language.

Open System->Management->System Locales. Add new system Locale, well it can be a brand new language or the same English language, may be different region, for which we like to change the terminology. In my example English Singapore was created.



Once I made it active, system will include additional language into a login screen.



Then we can change default Date / Time format etc., basically all Cultural changes that we have in our computer we can impose on Acumatica. So when people from country A use it the have say DAY-MONTH-YEAR format but at the same time, user in country B will have YEAR-MONTH-DAY for example.



Now it is time to do the Translation. Please navigate to System->Management->Translation Dictionaries and choose language that we want to modify.



System displays all the labels at the grid below. For each label it lists all the places where it was used , take a look at the lowest portion of the screen. What we can do with it is to try the filter to narrow the list down to only specific labels or use the quick search field and then enter target value, which is translated field into the right column of the grid.



So lets try to translate the field Batch Number that is used at the General Ledger Journal Transactions screen. I would like to change it to "Document Sequence".



Entered Batch Number into a search bar, then highlighted the row with the Batch Number label, then added value to Target to be Document Sequence. Then Saved.
Line disappears right after save. Its because we have not selected Show Localized check box on top.



In order for changes to get effective, we have to re-login to the system and choose different language on login page. Right after it, modification is in effect.



If needed to translate all labels in one shot, it is possible by exporting labels into Excel file, then using professional translator (or just Google :) ) to change the labels, then uploading file back to the system.
Lets export labels fist.



Then save file locally then translate all the content to say Chinese simplified.



And now, we are just uploading this file back to Acumatica.


Save it and we are done. Re-login.



All the best,

Sergey.

7 comments:

  1. Major drawback with the upload process now is that you only import the main translations, not the screen-specific translations. It's an issue with French and Spanish at least, for example the words "From" and "To" have totally different translations depending on the context (From a date/To a date, or From someone To someone -> Du/Au, De/À)

    We usually deploy through .adb files that we directly import in the database. Might be possible to do it through import scenarios as well, but still not simple enough :)

    If user will have multiple companies it can also be convenient to import translation into a parent company so that it is shared across all companies...

    ReplyDelete
    Replies
    1. Thanks for the feedback. We have lower protion of the screen which is Key-Specific Values. Usually they are per screen. So per screen wording can be added there. In order to upload there we should use Integration Service Import. Little bit tough, but possible. Agree, requires improvement.

      Delete
  2. Thanks for the info Sergey. Do you know what SQL collation needs to be set on the database in order to store Chinese translations?

    ReplyDelete
    Replies
    1. Hi Tim, DB colation does not make any difference for translation. You can use Latin colation for example. Our product is using Unicode fields in the DB, so for the data entry you can use any language. For translated labels, colation does not matter as they are stored in a special form and then used by Application Server during compilation of the aspx pages.

      Delete
  3. Hi Sergey

    I have to check the Dutch translations. I will check with Stijn. I may have a prospect in Belgium.
    Thanks.

    Toon Six

    ReplyDelete
  4. Hi Sergey

    I want to create 2 translation on 1 languages(Locale Name).
    When I create new translate (it was existed Locale Name on system) then I save this, System not create new translate. This update last locale name existed.
    Ex: Create 2 Locales:
    Locale Name :English(United States ); Locale Name in Locale Language: English 1
    Locale Name :English(United States ); Locale Name in Locale Language: English 2

    Thanks
    Nam.Nguyen

    ReplyDelete
    Replies
    1. Hi Nam, Please try to use different encoding, for example English (Singapore) for second English language. Do not repeat the same system locale twice. Anyway even it is Vietnamese, you will still translate via Excel file, so just use English something instead, don't repeat. Cheers.

      Delete