How to localize an app title for Windows Phone 8

July 21, 2014

Applies to: Windows Phone 8 and Windows Phone Silverlight 8.1 | Windows Phone OS 7.1

 

The title of an app can be localized based on the Windows Phone 8 supported culture and languages. The app title appears in both the app list and on the app Tile as shown below. Both of these locations are outside of the app itself. Localizing the app title is optional. Some developers won’t want to localize the app title for branding reasons.

To localize the app title that is displayed in the app list or app Tile, you must create a resource-only DLL, as well as separate Multilingual User Interface (MUI) files for each display language that your app targets. For a full list of display languages that Windows Phone supports, see Culture and language support for Windows Phone. The resource-only DLL must contain the language-neutral (default language) resource strings for the app title and Tile title supported by your app. Each MUI file needs to include the resource strings used to localize the app title in the app list and on the Tile.

The following screen shots show where a title is used in the context of an app list and an app Tile.

The title in the app list:

The title on the app Tile pinned to the Start screen:

App List With Localized TitleStart Screen with Localized Title

This topic contains the following sections.

 

Before you start, make sure that you have the following software installed on your computer:

  • Visual Studio or Microsoft Visual Studio Express 2012 for Windows Phone. The .NET Framework is installed automatically.

To complete the procedures in this topic, you need a Windows Phone project. You can use an existing project, or you can create an empty Windows Phone project to use for testing these procedures. For more info about creating a project, see How to create your first app for Windows Phone 8.

As an alternative to creating a language-neutral resource project by using Visual Studio, you can download the language-neutral resource project. This project can be modified in Visual Studio Express 2012 for Windows Phone or Visual Studio.

Download: Language-Neutral Resource Project

In this set of procedures, you use Visual Studio to create a language resource DLL project, create language-neutral resource strings, and update the DLL project to create the resource DLL. Later, you use this DLL project to create more localized resources.

Important noteImportant Note:

Microsoft Visual Studio Express 2012 for Windows Phone doesn’t support the creation of language resource DLL projects. You must use Visual Studio to add language-neutral resource strings to a project and to create a resource DLL. If you don’t have Visual Studio, you can download the language-neutral resource project that you can modify using Visual Studio Express 2012 for Windows Phone. See the Downloading the language-neutral resource project section for download details.

Each resource contains the localized strings that are displayed as the app title and as the app Tile title. Visual Studio allows you to create a project that can be used to create a language-neutral resource DLL. If you don’t have Visual Studio, you can download a prebuilt language resource DLL project and use Visual Studio Express 2012 for Windows Phone to modify the project and create resource DLLs and MUI files.

Creating a language resource DLL project

Before you create language-neutral resource strings for the app title, you must create a DLL project using Visual Studio.

To create a language resource DLL project

  1. On the File menu, select New Project.

    The New Project dialog box appears.

  2. In the left pane, expand Installed, expand Templates, expand Visual C++, and then click Win32.

  3. In the list of project types, click Win32 Project.

  4. In the Name box, type AppResLib.

  5. Click OK.

    The Win32 Application Wizard appears.

  6. Click Next.

  7. Under Application type, select DLL.

  8. Under Additional options, select Empty project.

  9. Also under Additional options, clear the Security Development Lifecycle (SDL) checks check box.

  10. Click Finish.

    The new DLL project is created and opens in Visual Studio.

  11. On the Build menu, select Build Solution.

Creating language-neutral resource strings

In Visual Studio, you add a resource string table to the DLL project that contains the language-neutral name of your app. The language-neutral resource strings are used as the default strings for your Windows Phone app. Also, these resource strings will be used as the template for your localized app title strings.

To create the language-neutral resource strings for your app

  1. In Solution Explorer, select the DLL project named AppResLib.

  2. On the Project menu, click Add Resource.

    The Add Resource dialog box appears.

  3. In the Resource type list of the Add Resource dialog box, select String Table, and then click New.

    The resource string table opens.

  4. Create two resource strings with the following properties.

    ID

    Value

    Caption

    AppTitle

    100

    Lang-Neutral App Title

    AppTileTitle

    200

    Lang-Neutral Tile Title

    The AppTitle string contains the language-neutral name of your app to be displayed in the app list. The AppTileTitle string contains the language-neutral name of your app to be displayed in the app Tile when it’s pinned to Start.

Updating the DLL project

In Visual Studio, you must update the AppResLib DLL project so that it is built as a resource-only DLL.

To update the DLL project

  1. On the Standard toolbar, choose Release from the Solution Configurations list box.

  2. In Solution Explorer, right-click the AppResLib DLL project and then click Properties.

    The Property Pages dialog box appears.

  3. In the left pane of the Property Pages dialog box, expand Configuration Properties, expand Linker, and then click Advanced.

  4. Select the No Entry Point property, click the drop-down arrow to the right of the property value, and then click Yes (/NOENTRY).

    NoteNote:

    /NOENTRY prevents the linker from linking a reference to _main into the DLL; this option is required to create a resource-only DLL.

  5. Click OK.

  6. On the Build menu, select Build Solution.

  7. In Solution Explorer, right-click the solution (Solution 'AppResLib') and then click Open Folder in File Explorer.

    File Explorer displays the project files.

  8. In File Explorer, open the Release folder, and locate the AppResLib.dll file that you built.

    NoteNote:

    The project folder and the solution folder both contain a Release folder. The AppResLib.dll file is contained in the Release folder at the root of the solution.

  9. Rename the file AppResLib.dll file to AppResLibLangNeutral.dll.

    Later, you use this file in your localized Windows Phone app.

In this set of procedures, you use Visual Studio or Visual Studio Express 2012 for Windows Phone to edit the language-neutral resource string table to contain localized resource title strings. Then, you rebuild the DLL that contains the new localized title strings and rename the DLL file.

Creating the first specific language resource strings

In this procedure, you create localized title strings for English (United States). You must use the existing DLL project that you either created with Visual Studio in the previous set of procedures (see Creating a language-neutral resource DLL using Visual Studio), or downloaded (see Downloading the language-neutral resource project).

To create the first specific language resource strings for your app

  1. Open the DLL project in Visual Studio or Visual Studio Express 2012 for Windows Phone if it’s not already open.

  2. In Solution Explorer, expand the Resource Files folder.

  3. Right-click the AppResLib.rc resource and then click View Code.

  4. Modify the AppResLib.rc file by changing the resource string values as follows:

    ID

    Value

    AppTitle

    enus App Title

    AppTileTitle

    enus Tile Title

    The AppTitle string contains the English (United States) name of your app to be displayed in the app list. The AppTileTitle string contains the English (United States) name of your app to be displayed in the app Tile when pinned to Start.

  5. On the Build menu, select Build Solution.

  6. In Solution Explorer, right-click Solution 'AppResLib' and then click Open Folder in File Explorer.

    File Explorer displays the project files.

  7. In File Explorer, open the Release folder, and locate the latest AppResLib.dll file that you built.

    NoteNote:

    The project folder and the solution folder both contain a Release folder. The AppResLib.dll file is contained in the Release folder at the root of the solution. The solution folder is easy to recognize because it contains the AppResLib.sln solution file.

  8. Rename the file AppResLib.dll file to AppResLib.dll.0409.mui.

The DLL file that you created and renamed contains the English (en-US) app title and the app Tile title. Later, you use this file in your Windows Phone app. Your Windows Phone app recognizes this file based on the 0409 LCID value that represents English (enus).

Creating additional language resource strings

You can create more language resource strings and the DLL that contains those resources by following the preceding procedure. For each localized set of resource strings, you create a new DLL and rename it with the LCID and .mui extension.

To create additional language resource strings for your app

  • Repeat the preceding procedure, however, you must provide a localized AppTitle string value and AppTileTitle string value for each locale. You must also rename the DLL file using the info in the following table for each locale. Each DLL file name has the format AppResLib.dll.[locale ID].mui.

    NoteNote:

    For a full list of supported display languages based on Windows Phone version, see Culture and language support for Windows Phone.

    Windows Phone 8 supported display languages

    Culture name

    Culture code

    DLL file name

    Albanian (Albania)

    sq-AL

    AppResLib.dll.041c.mui

    Arabic

    ar-SA

    AppResLib.dll.0401.mui

    Azerbaijani (Latin)

    az-Latn-AZ

    AppResLib.dll.042c.mui

    Belarusian

    be-BY

    AppResLib.dll.0423.mui

    Bulgarian

    bg-BG

    AppResLib.dll.0402.mui

    Catalan

    ca-ES

    AppResLib.dll.0403.mui

    Chinese Simplified (PRC)

    zh-CN

    AppResLib.dll.0804.mui

    Chinese Traditional (Taiwan)

    zh-TW

    AppResLib.dll.0404.mui

    Croatian

    hr-HR

    AppResLib.dll.041a.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

    Estonian

    et-EE

    AppResLib.dll.0425.mui

    Filipino

    fil-PH

    AppResLib.dll.0464.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

    Hebrew

    he-IL

    AppResLib.dll.040d.mui

    Hindi

    hi-IN

    AppResLib.dll.0439.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

    Kazakh

    kk-KZ

    AppResLib.dll.043f.mui

    Korean (Korea)

    ko-KR

    AppResLib.dll.0412.mui

    Latvian

    lv-LV

    AppResLib.dll.0426.mui

    Lithuanian

    lt-LT

    AppResLib.dll.0427.mui

    Macedonian

    mk-MK

    AppResLib.dll.042f.mui

    Malay (Malaysia)

    ms-MY

    AppResLib.dll.043e.mui

    Norwegian (Norway)

    nb-NO

    AppResLib.dll.0414.mui

    Persian

    fa-IR

    AppResLib.dll.0429.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

    Romanian

    ro-RO

    AppResLib.dll.0418.mui

    Russian (Russia)

    ru-RU

    AppResLib.dll.0419.mui

    Serbian (Latin)

    sr-Latn-CS

    AppResLib.dll.081a.mui

    Slovak

    sk-SK

    AppResLib.dll.041b.mui

    Slovenian

    sl-SI

    AppResLib.dll.0424.mui

    Spanish (Mexico)

    es-MX

    AppResLib.dll.080a.mui

    Spanish (Spain)

    es-ES

    AppResLib.dll.0c0a.mui

    Swedish (Sweden)

    sv-SE

    AppResLib.dll.041d.mui

    Thai

    th-TH

    AppResLib.dll.041e.mui

    Turkish

    tr-TR

    AppResLib.dll.041f.mui

    Ukrainian

    uk-UA

    AppResLib.dll.0422.mui

    Uzbek (Latin)

    uz-Latn-UZ

    AppResLib.dll.0443.mui

    Vietnamese

    vi-VN

    AppResLib.dll. 42a.mui

    Windows Phone 7.1 supported display languages

    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

    Swedish (Sweden)

    sv-SE

    AppResLib.dll.041d.mui

In the next procedure, you copy the MUI files and language-neutral DLL file to the root directory of your Windows Phone app.

By adding the localized MUI files and the language-neutral DLL file to your Windows Phone app, app users see the localized app title and the localized app Tile title based on the selected Windows Phone language that they choose for their Windows Phone.

To use the localized resource strings in your Windows Phone app

  1. Open your existing Windows Phone 8 app or create a Windows Phone 8 app in either Visual Studio or Visual Studio Express 2012 for Windows Phone.

  2. In Solution Explorer, select your Windows Phone 8 project.

  3. On the Project menu, click Add, and then click Existing Item.

    The Add Existing Item dialog box appears.

  4. Find and select the AppResLibLangNeutral.dll file and all the AppResLib.dll.*.mui files that you created in the previous procedures, and then click Add.

    The files are added to the root your Windows Phone project.

  5. In Solution Explorer, right-click the AppResLibLangNeutral.dll file and rename it to the following:

    AppResLib.dll

  6. In Solution Explorer, select the imported files (AppResLib.dll and AppResLib.dll.*.mui).

    In the Properties window, set the Build Action property to Content.

    NoteNote:

    If the Properties window is not displayed, select Properties Window from the View menu.

  7. In Solution Explorer, move the AppResLib.dll.*.mui files into the Resources folder.

  8. In Solution Explorer, expand Properties and then open the WMAppManifest.xml file.

    The Windows Phone app manifest designer is displayed.

  9. Select the Application UI tab if it’s not already selected.

  10. Set the Display Name to the following:

    @AppResLib.dll,-100

  11. Set the Tile Title to the following:

    @AppResLib.dll,-200

  12. Save and build the Windows Phone app.

The Windows Phone 8 app displays the localized app title and the app Tile title based on the language and country settings of the user's Windows Phone 8 phone. The AppTitle string and AppTileTitle string contained in the .mui files correspond to the language and country setting of the user's Windows Phone 8 phone. If you don’t include a matching .mui file for a specific supported locale, your Windows Phone 8 app uses the language-neutral AppTitle string and AppTileTitle string contained in the AppResLib.dll file.

To test your localized app title, follow the steps listed at How to test a localized app for Windows Phone 8.

Show:
© 2014 Microsoft