Resource String Replacement

 

   

Creating User Interfaces - Quick Navigation

Overview

Starting with 3ds Max 2012, Scripts and MacroScripts can use Resource IDs in place of strings.

This simplifies the localization of scripts significantly:

All hard-coded English strings can be replaced with Resource IDs and the Resource IDs together with the original values can be stored in a Resource file.

The Resource file can then be translated into multiple languages and the corresponding language version can be loaded automatically according to the 3ds Max Language Settings.

Implementation

A Resource ID is identified as a name surrounded by tildes, for example ~LIGHT_LISTER_DIALOG_NAME~.

If MAXScript encounters a Resource ID at compile time, it will search for and load the Resource File that contains the Resource ID / Resource Value pairs and will use the Resource Value in place of the Resource ID. Note that MAXScript will disregard matched files with a size of 0, and will continue searching as described below.

The search for the Resource File will be performed as follows:

Errors and warnings related to loading MacroScripts and especially issues with Resource IDs, Values and Files will be reported to the MAXScript Listener.

Resource File Editing

'Resource files (*.res)' files are now supported in the MAXScript Editor's File > Open and File > Save dialogs.