Localization involves the customization of application components for a specific language or locale. In many cases this means defining/translating text strings using a specific language. The text strings are usually displayed as part of a component or application user interface. The ArcGIS Silverlight/WPF API contains a set of controls which define text strings in English. Obviously when building a Silverlight/WPF application for a language other than English, this text must be modified/translated. Since the Silverlight/WPF API is built on the Silverlight and WPF platforms, it can leverage the capabilities of those platforms to localize components. The easiest technique for localizing ArcGIS Silverlight/WPF controls is leveraging the control templating capabilities of the platform. In my previous post, I discussed creating a control template to customize the look and feel of the Navigation control. We can build on that post to localize text in the Navigation control.
Once the control template for the Navigation control has been created, the process is quite straighforward. Merely select the elements of the control that define UI text (and will display at runtime) and change the text string in the property page. For example, when hovering over the pan left element, the tooltip text “Move to the West” is displayed. Change this text to the preferred language. In the screen shot below the language is Japanese:
You can also modify the text in the XAML view.
I also added Simplified Chinese, Russian, Spanish, and Hebrew – a different language for each element in the custom Navigation control. I used online translators, which should make for some interesting translations.
Once complete, you can store the text strings as part of a control template and distribute as necessary for application use. Note, you also have access to the source code for the ArcGIS Silverlight/WPF Toolkit controls via CodePlex – so you can download and modify source for fine grained control of components. For additional information on patterns and practices for localizing applications, see the article Localizing Silverlight-based Applications.
ESRI Product Engineer
ArcGIS Server .NET, Silverlight/WPF, MapIt