Friday, March 8, 2013

Easily localize your Windows Phone applications using the Multilingual App Toolkit

  Great news for Windows Phone developers. Today Microsoft released an updated version of its Multilingual App Toolkit for Visual Studio 2012 that supports also Windows Phone projects (the previous version only supported Windows Store projects). You can download the Visual Studio Extension from HERE. The extension itself is multilingual:
   So why is this extension so great in my opinion? As you probably know Windows Phone projects in Visual Studio already support multilingual localization for the applications based on .resw files. The Multilingual App Toolkit adds support for localization industry-standard XLIFF file format and also connects with the Microsoft Translator for quick translation suggestions.
  Lets have a quick looks on how it works. After you have installed the extension you will find a new menu entry inside the Visual Studio 2012 Tools menu with which you can enable or disable the Multilingual App Toolkit for your Windows Phone project.

 Once you have enabled the Multilingual App Toolkit Visual Studio added the XLIFF support and also generates the AppResources.qps-ploc.xlf which is the pseudo-language engine that helps identify translation issues during development. 
   From this moment you will USE ONLY the AppResources.resx file to add new resource strings and the extension (at compilation) will add the missing strings to the corresponding .xlf file. 
    To add new languages to your application you will only have to select the desired language as supported in the project Properties inside the Application section. Once a language is selected the extension automatically generates the corresponding Xlf file.

    You can then double click on the xlf file and Visual Studio will open the Multilingual Editor that enablesyou to edit the translation. If you add new strings to your AppResources.resx file remember to compile the project before opening the .xlf file or you will not see the newly added strings.

  Now with these 3-4 easy simple steps we have localized our application. You can use the the Microsoft Translator in order to have some suggestions but you should always double-check the translation in order to avoid strange translations and situations ("My Application" in italian is translated as "La mia domanda" which actually means My question).

  If you are building a test application remember to add the binding to the resource strings inside your .xaml and .cs files ({Binding Path=LocalizedResources.ApplicationTitle, Source={StaticResource LocalizedStrings}}" Style="{StaticResource PhoneTextNormalStyle} for Xaml or AppResources.value for .cs  )
 Some words about the AppResources.qps-ploc.xlf pseudo language file. Pseudo Language is an artificial modification of the software product intended to simulate real language localization. The pseudo language can be used to detect potential localizability issues or bugs early in the project cycle, before the actual localization starts. For more details about localizability testing with Pseudo Language see Localizability Testing. Inside Visual Studio if you right click on the Pseudo Language file you can select the Generate pseudo translations. 

In order to test it you will have to set the qps-ploc culture for the Application UI. Just add these 3 lines to your Application constructor (but remember to take them out when you don't need them anymore):

  public App()  
       var ci = new System.Globalization.CultureInfo("qps-ploc");  
       Thread.CurrentThread.CurrentCulture = ci;  
       Thread.CurrentThread.CurrentUICulture = ci;  

 More details on how to use the Multilingual App Toolkit can be found HERE.

 It is really great that Microsoft is migrating the localization of the apps to an open standard. I will get back to this subject with a post on how to share the same xlf files between windows phone and windows 8 projects)



  1. Wow amazing information about IE Extension Development. We have total solution for toolbar, Plugin, Adword and Extension development for all web browsers in affordable cost. Visit our website and get more information about it.

  2. Many people use "Multilingual App Toolkit Visual Studio" for translation,I also use this apps because it makes adding and managing translations easy for all Windows Store apps. I love this app. Apps for Android Tablet

  3. If you’re interested in a tool to collaboratively localize Windows apps, I suggest you give a shot. It’s a very user-friendly online translation platform that handles .resx files too, along with other popular language file formats. You’ll see that it has a sum of very useful features to aid your localization workflow, like set reference language and translation memory. Cheers and good luck with your projects!

  4. With the golf season rapidly approaching, it is interesting to see the growing number of golf mobile apps come on the market. The iPhone has hundreds of golf apps available, but many are not very useful except for a few that offer GPS-type range finder capabilities, golf tips and instruction and practice drills.
    easy mobile apps

  5. I really thankful to you for this great read On Marketing Your Mobile App!! You did a very great job, keep it up.

  6. Great post with nice details. I really appreciate your info. Thanks for sharing. cep telefonla

  7. It’s hard to find knowledgeable people on Marketing Your Mobile App, but you sound like you know what you’re talking about! Thanks for sharing this with others.

  8. Nice Information, Apps related to communication should work on all related networks not like Appurify app having restrictions to specific network. Hopefully in future mobile app development will open new doors to communication. Thanks for sharing

  9. Likewise the clients could get multi-tasking focal point with the present Windows mobile working framework, while the web applications and local applications might be run at the foundation. Provisions for exploiting the fittings of the telephone, for example, the Polaroid could be made by the designers.
    Window Phone Apps // iPhone Application Development // Window Phone APPS