Realsoft 3D supports localization. Instead of hardcoding all strings into your source code, define a set of string ids and a corresponding strings name-value pairs, as follows:
#include <oops/r3locale> /* string ids */ enum { MYS_TOOL, MYS_TOOL_TIP }; static R3LOCALE *l, locale[] = { {"Tool", "Tool"}, {"ToolTip", "Create something"}, };
Then in your class registration function, open the locale database by calling:
l = R3AppOpenLocale(app, R3MODULENAME, R3CLASSNAME, locale, R3NumArrayElements(locale));
Remember also to close the locale:
case R3RCM_FREECLASS: if (cl == obj) R3AppCloseLocale(app, l, R3NumArrayElements(locale)); break;
And then you can fetc strings using R3STR() macro. For example, to create a button, with a label and a tool tip:
/* create a button with a label and a tool tip */ button = R3New(R3CLID_BUTTON, R3GA_Text, R3STR(l, MYS_TOOL), R3GA_ToolTip, R3STR(l, MYS_TOOL_TIP), ....
and these strings can be localized in r3locale/[language]/[libraryname].ini files, as follows:
[filename] Tool=... ToolTip=....