M&M FDT 1.2.1 Online Specification
 IDtm::SetLanguage() method information


Interfaces and Methods   -   Schemas   -   FDT Specification   -   Quicklinks   -   Abbreviations

4.3.1.12 IDtm::SetLanguage()


This method can be called in the states:                

HRESULT SetLanguage (
[in] int languageId,
[out, retval] VARIANT_BOOL* result
);


Description:
Returns TRUE if the requested language is supported by the DTM.

Parameters:
languageIdUnique identifier for user interface localization; defined by Windows as a locale identifier (LCID) containing the language identifier in the lower word and the sorting identifier as well as a reserved value in the upper word. The identifier supplied in an LCID is a standard international numeric abbreviation (e.g. German ' Standard: 0x0407, English - United States: 0x0409). (See also WIN32/Platform SDK, locale id or LCID)


Return Value:
resultTRUE Language supported. All human readable outputs will use the required language FALSE Language not supported


Behavior:
The Frame Application sets the language during initialization of the DTM. So all presentation objects of the same instance have the same language. Also the messages on the event interfaces like OnErrorMessage() and the human readable contents of the XML documents like at the interface IDtmDocumentation or IDtmInformation have to use the requested language. If a DTM does not support the requested language it uses the current language in case it is already initialized or sets its default language on the first initialization.

Comments:
The supported languages of a DTM are listed within the DTMInformationSchema. One DTM instance is always initialized with one language. It's up to a DTM whether it can change the current language of an user interface while the user interface is shown. The output format for numbers, currencies, times, and dates will be based on the regional options of the operation system.



Comments from fdtFAQ Forum:
Thomas Weller
created on 2006-11-10, last updated on 2006-11-10
The definition of SetLanguage() has been taken from FDT 1.2. Even in FDT 1.2 it was defined that SetLanguage() cannot be called in 'going online' and 'going offline', but in 'communication set'. But a FDT 1.2 frame application cannot distinguish between 'communication set' and 'going online' / 'going offline'. Therefore in FDT 1.2 the allowed states should already have included these two states. That's why I marked them as callable on this website. And actually I think even the 'online' state should allow to let SetLanguage() to be called. Imagine a DTM which is online but does not show a user interface yet. It is possible that the user cannot even distinguish between 'communication set' and 'online' The user then switches the language of the frame (which will inform the DTM) and opens a user interface. For the user it is totally unclear why the language was not changed. Thus I marked 'online' as a state allowing to call SetLanguage().

© by M&M Software GmbH, parts of this website taken from FDT Interface Specification Version 1.2.1, © by FDT Group, AISBL.
This website is published for support of M&M products as granted in license conditions, chapter 2.1.
Last updated 2015-02-05 15:17
Email: FDT Technical Support Line.