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.
String 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