When you build a Windows Phone App, you for sure take some time to translate it in several language. By default there is no easy way to translate the app name but you can do it. Here is a quick “how-to” !
- Download this project and add it to your solution : http://code.msdn.microsoft.com/wpapps/Language-Neutral-Resource-5894846e.
- Edit the string table in the AppResLib.rc file to set your app name, etc.
- Build this project and copy the resulting dll in your WP project. This will be the default values (neutral language)
- Change the values in the AppResLib.rc file for a specific language (for example french) and build again the project.
- Rename the resulting dll to AppResLib.dll.040c.mui and copy it at the root of the WP project, next to the dll. The “04OC” is specific to “French” and should be set to the value matching the target language. A full list is here : http://msdn.microsoft.com/en-us/goglobal/bb964664.aspx
- Do it again for as much language you want
- Select all the *.mui files and the AppResLib.dll file and set their build type to content in the properties Windows.
- Update your WMAppManifest.xml file and set the app name to this value : @AppResLib.dll,-100 . The value will then be taken for your file, depending of the user language, at the offset 100 in the string table.
Not really obvious but this works fine 🙂
If you want to see this feature in action, it will soon be available in our last app “Say it With Flowers” !
PS: the whole procedure is describe in depth on MSDN but I am sure you love this recap 🙂
PS2: the localized app name won’t be displayed on the Store page because of a bug in the Store : http://blog.webrox.fr/?p=61
22/01/2014 1 h 10 min
Thanks for posting this – ive a feeling this is going to come in very handy!
27/03/2014 23 h 33 min
I checked your app page in the store and it shows localized names well. So you have a working solution for localized app name. 🙂
I followed the instructions from MSDN but it does not work in my case. I also checked your thread in the forum but that was not my case.
What I noticed is that you used 100 and 101 as resource values but on MSDN they used 100 and 200. Furthermore the example AppResLib project contains 100 and 101 as resource values. On the device it works well when I use 100 and 200 but in the store it does not work.
On MSDN in the "language-neutral" section they have a table with ID, Value and Caption but in the "specific language" section they have only ID and Value and in this case the Value column contains the localized app title.
Could you please share the way you solved this? Or what you wrote here is the exact way that works for you?