Thin Client Localization (Windows Embedded CE 6.0)

1/5/2010

This topic provides information about localizing a Windows Embedded CE powered thin client for users in a specific country/region.

International OS Design and Application Development

Localizing a run-time image occurs during the build phase, where localized resources are bound to localizable modules. Localization considerations, such as setting environmental variables and including code pages, are similar across target devices. For general information about multilingual language support and other localization and international issues, see International.

Thin Client User Interface Localization

The thin client sample user interface (UI) provides an English language UI.

For information about how to create a custom UI with support for a specific country/region, see Creating an International User Interface.

Information about localizing thin client–specific string resources is provided in the following paragraphs.

Ee480321.collapse(en-US,WinEmbedded.60).gifString Resource Localization

Resources are objects that are used in an application. However, they are defined outside an application. They are added to the executable file when the application is linked. A string is an array of characters that appears in the UI and is constructed by using a particular language.

When localizing a thin client, you must make sure that you localize the strings in the target language. String resources are defined in a separate file, separate from the code that implements the device functionality. To add locales that Platform Builder does not automatically support, or to add new values that you must localize, you must localize the associated resource file.

In each resource (.rc) file, a language-specific character string is assigned to the constant that represents the UI element. For example, the wbtshell.rc file provides the following string definitions for monitor resolution.

IDS_LOC_WBTSHELL_RESOLUTION_640_480_60       "640 x 480 @60Hz"
IDS_LOC_WBTSHELL_RESOLUTION_640_480_75       "640 x 480 @75Hz"
IDS_LOC_WBTSHELL_RESOLUTION_640_480_85       "640 x 480 @85Hz"
IDS_LOC_WBTSHELL_RESOLUTION_800_600_60       "800 x 600 @60Hz"
IDS_LOC_WBTSHELL_RESOLUTION_800_600_75       "800 x 600 @75Hz"
IDS_LOC_WBTSHELL_RESOLUTION_800_600_85       "800 x 600 @85Hz"
IDS_LOC_WBTSHELL_RESOLUTION_1024_768_60      "1024 x 768 @60Hz"
IDS_LOC_WBTSHELL_RESOLUTION_1024_768_75      "1024 x 768 @75Hz"
IDS_LOC_WBTSHELL_RESOLUTION_1024_768_85      "1024 x 768 @85Hz"
IDS_LOC_WBTSHELL_RESOLUTION_BEST_AVAIL       "Best Available Using DDC"

The following example shows the ID for each constant as defined in the resource.h file.

#define IDS_LOC_WBTSHELL_RESOLUTION_640_480_60          9006
#define IDS_LOC_WBTSHELL_RESOLUTION_640_480_75          9007
#define IDS_LOC_WBTSHELL_RESOLUTION_640_480_85          9008
#define IDS_LOC_WBTSHELL_RESOLUTION_800_600_60          9009
#define IDS_LOC_WBTSHELL_RESOLUTION_800_600_75          9010
#define IDS_LOC_WBTSHELL_RESOLUTION_800_600_85          9011
#define IDS_LOC_WBTSHELL_RESOLUTION_1024_768_60         9012
#define IDS_LOC_WBTSHELL_RESOLUTION_1024_768_75         9013
#define IDS_LOC_WBTSHELL_RESOLUTION_1024_768_85         9014
#define IDS_LOC_WBTSHELL_RESOLUTION_BEST_AVAIL          9015

In the registry, UI elements are associated with language-specific strings. The registry setting uses a resource ID in a specific module.

The following example shows the registry setting is of type REG_MUI_SZ for the Multilingual User Interface (MUI) registry setting.

"ValueName="mui_sz:"<module name>,#<resource id> 

For example, the following registry key represents UI element strings for monitor resolution values.

[HKEY_LOCAL_MACHINE\Software\Microsoft\WBT\Monitor\Resolution]
;LOC_WBTSHELL_RESOLUTION_640_480_60
 "Resolution0Value"=mui_sz:"wbtshell.exe,#9006"
;LOC_WBTSHELL_RESOLUTION_640_480_75
 "Resolution1Value"=mui_sz:"wbtshell.exe,#9007"
;LOC_WBTSHELL_RESOLUTION_640_480_85
 "Resolution2Value"=mui_sz:"wbtshell.exe,#9008"
;LOC_WBTSHELL_RESOLUTION_800_600_60
 "Resolution3Value"=mui_sz:"wbtshell.exe,#9009"
;LOC_WBTSHELL_RESOLUTION_800_600_75
 "Resolution4Value"=mui_sz:"wbtshell.exe,#9010"
;LOC_WBTSHELL_RESOLUTION_800_600_85
 "Resolution5Value"=mui_sz:"wbtshell.exe,#9011"
;LOC_WBTSHELL_RESOLUTION_1024_768_60
 "Resolution6Value"=mui_sz:"wbtshell.exe,#9012"
;LOC_WBTSHELL_RESOLUTION_1024_768_75
 "Resolution7Value"=mui_sz:"wbtshell.exe,#9013"
;LOC_WBTSHELL_RESOLUTION_1024_768_85
 "Resolution8Value"=mui_sz:"wbtshell.exe,#9014"
;LOC_WBTSHELL_RESOLUTION_BEST_AVAIL
 "Resolution9Value"=mui_sz:"wbtshell.exe,#9015"

When localizing a thin client, you must make sure that the language-specific strings for the shell are localized to the target language in all related resource files.

Language-specific strings are stored in a separate .rc file for each thin client application that has a UI. You should maintain language-specific versions of the .rc files for each language to which you localize. Additionally, if an application uses a bitmap image with language-specific content, you should create a localized version of the bitmap image and refer to the localized version in the .rc file.

Thin Client Resource Files

The following table lists the resource files (.rc) and resource definition header files (.h) for a thin client. You should localize the resources for the applications that you include in your thin client operating system (OS) design and thin client shell.

UI Source code location Resource file and resource definition file

General Properties Page

%_WINCEROOT%\PUBLIC

\RDP\OAK\UIT\ATLPROP

resource.h,

atlprop.rc

TS License Information

%_WINCEROOT%\PUBLIC

\RDP\OAK\UIT\LICINFO

resource.h,

licinfo.rc

Printer Control Panel

%_WINCEROOT%\PUBLIC

\RDP\OAK\UIT\PRINTERS\WBTCPLAPPLET

resource.h,

wbtprncpl.rc

Add Printer Wizard

%_WINCEROOT%\PUBLIC

\RDP\OAK\UIT\PRINTERS\WBTPRNWIZ

resource.h,

atlwbtprnwiz.rc

Taskman

%_WINCEROOT%\PUBLIC\RDP

\OAK\UIT\SHELL\TASKMAN

resource.h,

taskman.rc

Windows Thin Client Shell

%_WINCEROOT%\PUBLIC

\RDP\OAK\UIT\SHELL\WBTSHELL

resource.h,

wbtshell.rc

TS Connection Wizard

%_WINCEROOT%\PUBLIC

\RDP\OAK\UIT\TSCONWIZ

resource.h,

atlconwiz.rc

Restart Dialog Box

%_WINCEROOT%\PUBLIC

\RDP\OAK\UIT\WBTTSCMN

resource.h,

wbttscmn.rc

Windows Thin Client Setup Wizard

%_WINCEROOT%\PUBLIC

\RDP\OAK\UIT\WBTWIZ

resource.h,

atlwbtwiz.rc

CETSC and Connection Manager

%_WINCEROOT%\PUBLIC

\RDP\OAK\CETSC

resource.h,

uires.rc

See Also

Concepts

Configuring a Thin Client
Configuring the Windows Thin Client Shell