Marty Zigman

Conversations with Marty Zigman

Certified Administrator • ERP • SuiteCloud

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?

Marty Zigman LinkedIn

Marty Zigman

Holding three official certifications, Marty is widely recognized as a top NetSuite expert and leads a team of senior professionals at Prolecto Resources, Inc. A former Deloitte & Touche CPA and technology executive with CTO roles, he brings over 35 years of leadership in ERP, CRM, and eCommerce business systems. Contact Marty to engage directly.

Biography • YouTube • LinkedIn • X (Twitter)

13 thoughts on “Overcoming NetSuite Custom Field Language Translations”

  1. 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.

    Reply
  2. Hi Marty,

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

    Cheers
    Shrini

    Reply
  3. 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.

    Reply
  4. 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

    Reply
  5. 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!

    Reply
  6. 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!

    Reply

Leave a Reply

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