Best Practices for Working with Translations
These best practices can help you avoid translation string issues in your translated NetSuite application. They also include examples you might see when using NetSuite.
These tips apply to translation strings in SuiteScript scripts, saved searches, custom reports, web services integrations and other customizations.
Use IDs instead of UI Labels in References
In your customizations, don't use references to UI labels—use IDs instead. An ID is a static internal value that's always unique and usually doesn't change. If you use custom features like:
-
Implementation guides
-
user manuals
-
SuiteScript
-
customizations
-
scripts
-
reports
-
searches
-
integrations
-
or any else that uses UI labels,
be proactive and replace those labels with static ID values. Since IDs don't change, it's safer to use them in references than UI labels, which might change with different translations. If you reference a UI label and it or its translation changes, the reference breaks and your customizations stop working.
For information about how to display IDs, see Showing Record and Field IDs in Your Account.
If you can't use or find an ID, you can temporarily swap the old translated term in the label for the new one from the list of changes. This is a quick fix—you should still replace the label with an ID as soon as you can. Contact NetSuite Customer support if you need help with a missing or unusable ID.
See the table below for examples of updates made to the en-GB locale.
Type |
Old Value |
New Value |
Field Label |
Address ZIP Code |
Address postcode |
Record Name |
Payment Gateway Plugin |
Payment gateway plug-in |
Record Name |
State |
County/Region |
Record Name |
Mail Template |
Email template |
Drop-down Value |
Real Estate |
Property |
Alert Message |
You need to set inventory details to generate all assembly builds. |
You need to set inventory details for all assembly builds to be generated. |
Error Message |
You can't customize comparison reports in the Classic Report Composer. To customize this report, go to Home > Set Preferences > Reporting subtab and disable the Use Classic Report Composer preference. |
Comparison reports cannot be customised in the Classic Report Composer. <p>To customise this report, you must first go to Home > Set Preferences > Reporting subtab and disable the Use Classic Report Composer preference. |
Button Label |
Print Voucher |
Print discount code |
Menu Item |
Set Up States/Provinces/Counties |
Set Up counties/regions |
Translated Role Title
An American client uses an ”Administrator Role” to verify authorization of a script. Imagine that a client’s French employee tries to use the script. Since they are using the NetSuite application in French, the ”Administrator Role” has been translated to French and now it shows “Rôle d'administrateur”. However, since the script is looking specifically for the UI label ”Administrator Role”, it does not recognize the role and it does not permit deployment of the script. If the script used a reference to an ID, a unique system value, instead of a UI label ”Administrator Role”, the script would work without any problems.
Altered Document Status
A report refers to a document status ”Completed”. Imagine that for some reason, a client decides to rename the ”Completed” status to ”Done”. Because the document no longer displays the required document status, the report does not recognize it and does not work with this document. If the report used a reference to an ID, a unique system value, instead of a UI label “Completed”, the report would display without any problems.
Opt in to Release Preview
Before each NetSuite release upgrade, opt in for a Release Preview account as soon as it's available and test your customizations to make sure that they work. If they don't, contact NetSuite Customer Support.
The Release Preview account lets you get familiar with the new features in the upcoming release.
For more information about Release Preview accounts, see Overview of Release Preview.