Windows Phone 8 Dev – Localizing the App Name and App Tile Name


In my previous two post I localized text and the App Bar for a simple Windows Phone 8 app. In this post I’ll take a look at localizing the App Name.

Note: I am using Visual Studio 2013 Community Edition.

Creating a language resource DLL project

  • In Visual Studio click File and New Project
  • In the left pane, expand InstalledTemplates, and Visual C++, and then click Win32
  • In the Name box, type AppResLib and then click OK
  • In the Win 32 Application Wizard click Next
  • Under Application type, select DLL
  • Under Additional options, select Empty project and clear the Security Development Lifecycle (SDL) checks check box

Win32 Application Wizard - AppRes

  • Click Finish
  • On the Build menu, select Build Solution

We will use this project to create language neutral and language specific files for our app name and app tile name.

In this example I want my app “Theme Colors” to support US English and Spanish – so I will create a US English, Spanish and Language Neutral file. The Language Neutral settings will be used for all other non-localized languages that are supported in the Windows Phone marketplace.

Creating a language-neutral project file

  • In Solution Explorer, select the AppResLib project
  • In the Project menu click Add Resource
  • Select String Table and then click New
  • Create two resource strings with the following properties:
ID Value Caption
AppTitlle 100 Lang-Neutral App Title
AppTileTitle 200 Lang-Neutral Tile Title

This is what this looks like in Visual Studio for my app:

String Table

Update the AppResLib so that the project is built as a resource-only DLL.

  • Set the Solution Configuration to Release
  • In Solution Explorer right click the AppResLib project and then click Properties
  • Expand Configuration Properties, Linker, and then click Advanced – set the No Entry Point to Yes (/NOENTRY) and then click OK

No Entry Point

  • On the Build menu, select Build Solution
  • In the Solution Explorer right click the Solution (Solution ‘AppRes.Lib’ (1 Project)) and then click Open Folder in File Explorer in the drop down menu
  • In File Explorer open the Release folder and temporarily rename the AppResLib.dll file to AppResLibLangNeutral.dll

Creating language-specific files

Creating the language specific files is exactly the same procedure as the language-neutral file – except for the naming convention (which we will come to shortly).

Simply change the Caption in the String Table for the language you are supporting. Below you can see my localized strings for English and Spanish:

ID Value Caption
AppTitlle 100 Theme Colors
AppTileTitle 200 Theme Colors
ID Value Caption
AppTitlle 100 Tema Colores
AppTileTitle 200 Tema Colores

After changing the Caption for each language just Build the solution again and then rename AppResLib.dll according to the table below:

Culture name Culture code DLL file name
Chinese Simplified (PRC) zh-CN AppResLib.dll.0804.mui
Chinese Traditional (Taiwan) zh-TW AppResLib.dll.0404.mui
Czech (Czech Republic) cs-CZ AppResLib.dll.0405.mui
Danish (Denmark) da-DK AppResLib.dll.0406.mui
Dutch (Netherlands) nl-NL AppResLib.dll.0413.mui
English (United Kingdom) en-GB AppResLib.dll.0809.mui
English (United States) en-US AppResLib.dll.0409.mui
Finnish (Finland) fi-FI AppResLib.dll.040b.mui
French (France) fr-FR AppResLib.dll.040c.mui
German (Germany) de-DE AppResLib.dll.0407.mui
Greek (Greece) el-GR AppResLib.dll.0408.mui
Hungarian (Hungary) hu-HU AppResLib.dll.040e.mui
Indonesian (Indonesia) id-ID AppResLib.dll.0421.mui
Italian (Italy) it-IT AppResLib.dll.0410.mui
Japanese (Japan) ja-JP AppResLib.dll.0411.mui
Korean (Korea) ko-KR AppResLib.dll.0412.mui
Malay (Malaysia) ms-MY AppResLib.dll.043e.mui
Norwegian (Norway) nb-NO AppResLib.dll.0414.mui
Polish (Poland) pl-PL AppResLib.dll.0415.mui
Portuguese (Brazil) pt-BR AppResLib.dll.0416.mui
Portuguese (Portugal) pt-PT AppResLib.dll.0816.mui
Russian (Russia) ru-RU AppResLib.dll.0419.mui
Spanish (Spain) es-ES AppResLib.dll.0c0a.mui
Spanish (Mexico) es-MX AppResLib.dll.080a.mui
Swedish (Sweden) sv-SE AppResLib.dll.041d.mui

At the end of this process I also had AppResLib.dll.0409.mui and AppResLib.dll.0c0a.mui.

Adding localized resource strings to your Windows Phone 8 app

  • Select your Project in the Solution Explorer
  • In the Project menu click Add and then click Existing Item
  • Locate and select your AppResLibLangNeutral.dll file and the AppResLib.dll.*.mui files and then click Add
  • In the Solution Explorer rename AppResLibLangNeutral.dll to AppResLib.dll
  • Select AppResLib.dll and the AppResLib.dll.*.mui files and set their Build Action to Content in the Properties window

Build Action Content

  • In Solution Explorer, move the AppResLib.dll.*.mui files into the Resources folder
  • In the Solution Explorer expand Properties and then open WMAppManifest.xml
  • Click the Application UI tab
  • Set the Display Name to: @AppResLib.dll,-100
  • Set the Tile Title to: @AppResLib.dll,-200

To test localized settings simply change the language in the Windows Phone 8 Emulator. Any language that does not match your localized language files will display the language-neutral App Name and Title Title.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s