Back to Blogs
NetSuite Diaries

Globalize Your Business: Learn How to Manage NetSuite Component Translations

Jona Obrador
October 4, 2024
6
minutes to read

Globalize Your Business: Managing Translations in NetSuite Components

I was fortunate to work on a SuiteApp designed to support people from diverse backgrounds. Our goal was to globalize the application by localizing it to meet users' needs. Language influences us more than we often realize, playing a crucial role in market engagement. This vision aligns with NetSuite’s introduction of the Multi-Language feature, which enhances inclusivity and expands the scope of businesses it can support on a global scale.

Enabling Multiple Languages

To begin managing translations in NetSuite, you first need to enable multiple languages in your account. Here’s how to do it:

Enable Multi-Language feature

  1. Navigate to Setup > Company > Enable Features
  2. Scroll down to “International” section
  3. Check the “Multi-Language” feature
netsuite-enable-multi-language

  1. A dialog will appear, indicating the next steps.
  2. Click [OK].

netsuite-enable-multi-language-confirm

Choose the Languages You Want to Support

  1. Navigate to Setup > Company > General Preferences
  2. Click “Languages” subtab.
  3. Select the languages you want to translate into.
  4. Click Save.

netsuite-enable-multi-language-support


Translating Components

Once set up, a “Translations” subtab will appear when you create components.

For instance, let’s take a custom record type. We can translate the name of this custom record type, “Book,” to Japanese as 本.

netsuite-enable-multi-language-record

For fields, both the label and help texts can now be translated.

netsuite-enable-multi-language-field

netsuite-enable-multi-language-field-translate

To see the translations in action, change your language preference to Japanese:

  1. Navigate to Home > Set Preferences > General > Language, and select 日本語..
netsuite-enable-multi-language-preference
  1. Then, create an instance of the custom record type.

netsuite-enable-multi-language-new-record

Problem

If you want to deploy this component to another account, you can download the XML for the custom record type. Just keep in mind that the XML won’t include the translation strings you added. When you create a new instance of the component using the XML definition, you’ll need to re-enter those translation strings manually.

Solution

Use Translation Collections!

  1. Navigate to Customization > Translations > Manage Translations
  2. In the Collections section, click [Create New].

netsuite-enable-translation-collection

  1. Select the created translation collection and click the [+] icon.
netsuite-enable-translation-collection-apply

  1. Add translation strings for the record name, field label, and help texts.

netsuite-enable-translation-collection-sample

Now you can download the translation XML definitions:

  1. Download Translation collection
netsuite-enable-translation-collection-download
  1. Export the Translation Strings
netsuite-enable-translation-collection-export

  1. Store these in your project:some text
    • Place the Translation Collection in the Objects folder.
    • Place the Translation XLF files in the Translations folder.
netsuite-enable-translation-collection-sdf

Next, link our custom record type to translate it. In the XML definition of our custom record type, use translate="T" for the following:

  • recordname
  • Field label
  • Field help text

netsuite-enable-translation-collection-sdf-source
netsuite-enable-translation-collection-sdf-source-2

Ensure your deploy.xml includes the importation of translation strings.

netsuite-enable-translation-collection-sdf-deployment

Once deployed, the translation strings will be linked to our custom record type, achieving the same effect while storing the translation strings in our project.

netsuite-enable-translation-collection-link


Final Thoughts

Previously, as a Software Engineer in Test, one of our tasks was to ensure that the translation strings were set correctly. At that time, the Translation Collections feature wasn’t available, and we had to automate the process of setting strings for each component individually.

This feature really changes the game for streamlining the translation process in our applications. With just a simple deployment, the translation strings are included automatically.

In this article, we covered how to manage translations for NetSuite components. There’s also a new module, the N/translation module, that we can use in SuiteScript, which will be the focus of our next article.

To see the complete SuiteScript code and implementation details discussed in this article, visit Jona’s GitHub repository.

Meet the Author

jona-obrador-author

Jona has over a decade of experience in SuiteCloud Development on the NetSuite platform. She specializes in implementing advanced solutions and has led teams in creating high-quality software. Jona holds multiple certifications and has been recognized with awards like the Summit Award and Quality Champion Award.