×
Namespaces

Variants
Actions
(Difference between revisions)

Localized XAML content using ResourceDictionary - Wp7 to Wp8 Migration

From Nokia Developer Wiki
Jump to: navigation, search
hamishwillee (Talk | contribs)
m (Hamishwillee - Bot update - Fix metadata)
Vaishali Rawat (Talk | contribs)
(Vaishali Rawat -)
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
[[Category:Windows Phone 8]][[Category:Windows Phone 7.5]][[Category:Windows Phone]]
 
[[Category:Windows Phone 8]][[Category:Windows Phone 7.5]][[Category:Windows Phone]]
{{Abstract|This article explains how to use ResourceDictionary for text localization and then we will see how to convert the code to WP8. }}  
+
{{Abstract|This article explains how to use [http://msdn.microsoft.com/en-us/library/system.windows.resourcedictionary.aspx ResourceDictionary] for text localization and then we will see how to convert the code to WP8. }}  
 
{{ArticleMetaData <!-- v1.2 -->
 
{{ArticleMetaData <!-- v1.2 -->
 
|sourcecode= <!-- Link to example source code e.g. [[Media:The Code Example ZIP.zip]] -->
 
|sourcecode= <!-- Link to example source code e.g. [[Media:The Code Example ZIP.zip]] -->
Line 25: Line 25:
  
 
== Introduction ==
 
== Introduction ==
Localization is the customization of applications for a given culture or locale. ResourceDictionary is a hash table / dictionary implementation that contains objects (resources) which can be used in XAML or codebehind. <BR/><BR/>
+
Localization is the customization of applications for a given culture or locale. ResourceDictionary is a hash table/dictionary implementation that contains objects (resources) which can be used in XAML or codebehind. <BR/><BR/>
You might want to make the app localized compatible and for which you can define the string text values as resources and load the required one instead of hardcoding the text to control. Example: for a textblock control you might want to load the localized string as text and this can be done dynamically using ResourceDictionary.<BR/><BR/>
+
You might want to make your app localized and for which you can define the string text values as resources and load the required one instead of hardcoding the text to control. Example: for a textblock control you might want to load the localized string as text and this can be done dynamically using ResourceDictionary.<BR/><BR/>
 
In this article we will see how to use ResourceDictionary for text localization and then we will see how to convert the code to WP8.
 
In this article we will see how to use ResourceDictionary for text localization and then we will see how to convert the code to WP8.
  
Line 83: Line 83:
  
 
==Summary==
 
==Summary==
Thus we see how easy is to make and app localized using ResourceDictionary and even more easy to make it WP8 compatible.
+
Thus we saw how easy it is to make an app localized using ResourceDictionary and even more easy to make it WP8 compatible.
 
<br/><br/>
 
<br/><br/>
 
For additional info, please refer:<br/>
 
For additional info, please refer:<br/>
 
[http://msdn.microsoft.com/en-us/library/dd882554%28v=vs.95%29.aspx How to: Make XAML Content Localizable]
 
[http://msdn.microsoft.com/en-us/library/dd882554%28v=vs.95%29.aspx How to: Make XAML Content Localizable]

Revision as of 07:54, 20 March 2013

This article explains how to use ResourceDictionary for text localization and then we will see how to convert the code to WP8.

SignpostIcon XAML 40.png
WP Metro Icon WP8.png
SignpostIcon WP7 70px.png
Article Metadata
CompatibilityArticle
Created: Aady (22 Jan 2013)
Last edited: Vaishali Rawat (20 Mar 2013)

Contents

Introduction

Localization is the customization of applications for a given culture or locale. ResourceDictionary is a hash table/dictionary implementation that contains objects (resources) which can be used in XAML or codebehind.

You might want to make your app localized and for which you can define the string text values as resources and load the required one instead of hardcoding the text to control. Example: for a textblock control you might want to load the localized string as text and this can be done dynamically using ResourceDictionary.

In this article we will see how to use ResourceDictionary for text localization and then we will see how to convert the code to WP8.

Implementing ResourceDictionary in WP7

To implement a ResourceDictionary in WP7, follow the below steps: Create a .cs file Change the file extension to .xaml (example: resourceDictionary.xaml for further reference) Add reference to it in App.xaml Ready to use in application. Add the below code:

<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
 
<Style x:Key="tbStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="30"/>
</Style>
<sys:String x:Key="demoApp">Localized App</sys:String>
 
</ResourceDictionary>
<!--Application Resources-->
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="resourceDictionary.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
<TextBlock x:Name="ApplicationTitle" Style="{StaticResource tbStyle}" 
Text=”{ StaticResource demoApp }”/>

Conversion to WP8

It’s very simple, WP8 has an additional element called myNamespace:LocalizedStrings. Just add the line: <myNamespace:LocalizedStrings x:Key="LocalizedStrings"/> , after ResourceDictionary.MergedDictionaries element.

<!--Application Resources-->
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="resourceDictionary.xaml"/>
</ResourceDictionary.MergedDictionaries>
<myNamespace:LocalizedStrings x:Key="LocalizedStrings"/>
</ResourceDictionary>
</Application.Resources>

Summary

Thus we saw how easy it is to make an app localized using ResourceDictionary and even more easy to make it WP8 compatible.

For additional info, please refer:
How to: Make XAML Content Localizable

173 page views in the last 30 days.
×