Overcoming NetSuite Custom Field Language Translations

NetSuite Technical

Tags: , , , , , ,

Single Language Custom Fields

One of NetSuite’s strengths is the capacity to create custom fields.    NetSuite allows you to create custom fields that can attach to almost every native NetSuite structure.  Further, NetSuite allows you to create custom tables and custom fields with the ability to relate (join) to native NetSuite structures or other tables.  This fundamental capacity makes NetSuite a custom application development environment which means that the system can be adapted to fit the business case closely.  Without question, if you are working only in one language, there are no concerns.

Multiple Language Capacity

NetSuite has built-in language translation capacities supporting over a dozen languages.  It does this within two dimensions:

  1. Internal Backoffice: for employees managing the operations.
  2. External Web Site: for customers or other parties, typically for eCommerce web sites.
The internal back office effectively modifies the NetSuite web site by changing the field labels to the language selected via user preferences located at “Home –> Set Preferences –> General –> Localization”.  Here is a screen shot of the NetSuite internal backoffice in Spanish.  Click to enlarge.
   For the external web site, the general idea is that you will be selling goods and services in different languages.  As such, let’s focus on the item master.  Here is an example of the content translations for your products that can be sold through NetSuite.  Click to enlarge.

Custom Field Language Translation

The language capacities above are great and are one of the many ways that NetSuite illustrates it is a global platform. NetSuite supports custom labels on its custom fields to drive the internal backoffice application.   NetSuite’s Custom List capacity also supports translations for the values you define.  Custom lists are a great way to create “dictionaries” of common lookup reference information.

 

However, if you are going to create a custom field and you want to support language translations, you will need to do more planning.

For example, suppose that you want to create a new field called “Technical Specifications” to extend the item master with rich text.  The new field provides for a single place for you to define your content without respect for your target language use.    NetSuite will allow you  to define multiple language labels for your custom field.  This only helps though in the internal backoffice case.  The challenge is that there is no built-in structural way which allows for multiple language content translations.

To solve for this challenge, you have options:

  1. Option1: Create additional custom fields for each targeted language.
  2. Option2: Create a custom table to handle multiple languages.
Under Option 1, you will simply name each field with a language descriptor.  For example, we may extend our custom field to create additional ones such as, “Technical Specifications (Spanish)” and “Technical Specifications (Chinese)”.  The strength of this option is the web store can reference it using the <nltag> approach if it is an extension of a native NetSuite structure (such as items).  The major weakness though is that changing the web store language will not automatically know which field to display.  You will effectively have to hard code these fields into your web template effectively driving up development and maintenance costs.
Under Option 2, you can define a custom table to hold your content and it may have the following structure:
  1. Field Name
  2. Field Label
  3. Language
  4. Content
To continue our example, we would add data to our custom table that may look as follows:
Field Name Field Label Language Content
_technical_specifications Technical Specifications EN A350 Air Purifier Specifications
_technical_specifications Especificaciones técnicas ES A350 purificador de aire Especificaciones
_technical_specifications 技術規格 ZH A350空氣淨化器規格

Under this approach, we can define as many custom fields as we need and we can support all the language translations.   In the example above, we use the same field name to get three table entries with content for each respective language.  We can add more fields whenever we want a custom text field in our external web site.

Under this approach, the major consideration requires that the web store use special programming code to get the content to display.  As of this time, the general <nltag> web store approach does not support a way to get to these customs structures easily (although the new SuiteScript Server Pages does).  The workaround is to use a JavaScript client side call to dynamically gather the appropriate content and display it on the page.  A weakness of the client-side approach is that it does not serve the search engine optimization demands well because the content will not be there when the search engine spider crawls your web site.   But it will help keep ongoing content and web site maintenance lower.

How have you overcome NetSuite language translation challenges?

Be Sociable, Share!

Marty Zigman

Holding all three official certifications, Marty is regarded as the top NetSuite expert and leads a team of senior professionals at Prolecto Resources, Inc. He is a former Deloitte & Touche CPA and has held CTO roles. For over 30 years, Marty has produced leadership in ERP, CRM and eCommerce business systems. Contact Marty to set up a conversation.

More Posts - Website - Twitter - Facebook - LinkedIn - YouTube

About Marty Zigman

Holding all three official certifications, Marty is regarded as the top NetSuite expert and leads a team of senior professionals at Prolecto Resources, Inc. He is a former Deloitte & Touche CPA and has held CTO roles. For over 30 years, Marty has produced leadership in ERP, CRM and eCommerce business systems. Contact Marty to set up a conversation.

Biography • Website • X (Twitter) • Facebook • LinkedIn • YouTube

13 thoughts on “Overcoming NetSuite Custom Field Language Translations

  1. Paul Edwick says:

    Thanks, Marty for this clear explanation with pros and cons of the different approaches.

    Our multi-language sites are coming forwards so this background information will be very helpful to us.

  2. Frankie says:

    thanks for the clear explanation on on Using Net Suite,this might be something that we can use in the future

    Frankie

  3. shrini says:

    Hi Marty,

    Is is possible to print invoices in the different languages that can be treated as official documents.

    Cheers
    Shrini

  4. Marty Zigman says:

    Hello Shrini,

    It should be able to. NetSuite supports mutiple languages which sets the field label names. The data in you system can be in different langauges. So, it should work. There are some places that we found the multi-language does not work. For example, the line item language definitions don’t seem to come through right out of the box.

    We have created some custom invoices for clients where we want to get control over the situation. We also were able to get to some language constructs through the web services tiers. In addition, NetSuite’s now promoted FreeMarker Template approach may open up new capacites that our team has yet tried for multiple langauge.

    Marty

  5. Ben Thrower says:

    Hi Marty,

    I have been working on website translation and have created custom fields which use custom lists to handle the translation as you have the option to add in the value translation I thought this approach would be good for being able to manage the translation and easy to update.

    All seems to work fine but I have found an issue where if you change the language from default to french and then change it back again not all the translation fields will update so you have a miss match of english and french. on the same page.

    I was wondering if you have encountered this or would know of an explanation as to why it won’t update the fields when returning to the default language.

    Any help or insight would be extremely helpful.

  6. Marty Zigman says:

    Hi Ben,

    No, I haven’t encountered this. Are you working with the API or does this happen inside the NetSuite UI?

    Marty

  7. Adam Brown says:

    Hi Marty,
    With multi language we can switch the appearance of NS to spanish. We can view FS in spanish, however the individual lines (below the translated headings) still show in english Is it possible to list all of our g/l account names in spanish as well? Or does this require custom programming? We require a quick way to move between english and spanish

    Thanks
    Adam

  8. Marty Zigman says:

    Hi Adam,

    I don’t believe your account names can be in in another language as this is effectively the “data”. I am not sure what you mean in the “translated headings”. Can you screen shot?

    Marty

  9. Imran says:

    Can i use arabic in netsuite ui?
    Arabic is not listed in Netsuite System Supported languages.

  10. Marty Zigman says:

    Hello Iman,

    I don’t know of an easy way to overcome NetSuite’ built-in internal application language methods. You may want to pursue them directly to see if they are planning on offering support.

    Marty

  11. Wilson says:

    Hello Marty,

    Since NetSuite offers translation to select languages only, what do you think is the best way to add languages? I was thinking of an integration as this will readily address the concern.

    Cheers!

  12. Marty Zigman says:

    Hello Wilson,

    These days, we are solving language translation challenges using our Content Renderer Engine:

    https://blog.prolecto.com/2016/11/27/global-netsuite-locale-based-content-generation/

  13. Wilson says:

    Hello Marty,

    Thanks for the revert. We are more concerned on the UI translation. Though what you have advised was interesting. I also found a resource online suggesting integrations for the field value translations.

    Cheers!

Leave a Reply

Your email address will not be published. Required fields are marked *