Localizing your .NET app, now with custom translations

ctodx
07 November 2013

The .NET Framework, from time immemorial, has provided extensive support for localizing your applications. Providing that you have followed some general, common sense guidelines from the outset, you won’t have to tear your application apart in order to provide a user interface that isn’t just in American English. Without going into great detail, this involves the use of and linking at run-time to localized resource assemblies that contain translations of every displayable string in your application.

Translate Computer Key In Blue Showing Online TranslatorAs a control developer and vendor, we’ve supplied these localized resource assemblies for all of our controls for free for all of our customers for some time. In fact it’s more than that: we’ve relied on our customers to provide these translations in the first place and to continue to give us updates and to correct mistakes. It’s a herculean effort. (I like to think I’m bilingual – English and French – but my French comes nowhere near the quality for any of this.)

The effort is large, not only because of the resources needed to gather, edit and recompile the translations, but because people, rightly so, ask for little tweaks to the translations for their particular applications. Since the resource assemblies have to be signed with the same key we use for our main assemblies, it adds an extra burden to our support team’s work.

So, a year or so ago, some key developers here at DevExpress took another look at the problem and used a bit of lateral thinking to come up with another way of doing this. The problem space boiled down to this:

  • We need to provide localization resource assemblies for our controls at no extra cost.
  • We want to have a base set (a default set, if you like) of translations for a particular language.
  • We want to provide custom translations to those customers who want to fine-tune for a particular application or vertical market.
  • Oh, and those custom translations have to be saved somewhere for the next time the customer wants to edit them.
  • We want to remove the need for human creation of these localized resource assemblies.

Finally, after a year of design and implementation work, we are announcing the beta of the DevExpress Localization Service.

DevExpress Localization Service Main Page

After logging in and accepting a License Agreement, you are presented with a page that lists the translations you’ve already created or edited. The first time you visit the page this list will be empty, of course. (There is also a link here to watch a video on how to use the DevExpress Localization Service and how to use the custom translations in your app.) From this page you can add another translation (that is, language coupled with DevExpress version) or modify one you have already created.

DevExpress Localization Service Edit Page

The edit page shows you all (!) the strings in the resource (together with their names in the source code) that can be translated. There are over 15000, so beware. You can filter the list to include those strings that still need translating (together with a suggested translation – we use Bing), those that have a translation already (these are our default set), or all of them. You can search through the strings (otherwise this edit page would be unusable!) to find the ones you are most interested in modifying. Once you are done fine-tuning the translations for your particular app or market, click the Save button to save your translations. The Localization Service saves your translations in the cloud on DevExpress’ servers so that they are available to you for editing again at some future point.

You can also click Download here as well to initiate a build process for your custom localized resource assemblies (or you can click Download on the main list of translations to get several at once).

Once the build process has completed, you will get an email with a link to download your particular signed custom assemblies. The link will remain active for a couple of days, after which you will have to initiate another build process. Once downloaded, the assemblies are ready to be added to your particular project and deployed.

And with that I welcome you to the new DevExpress Localization Service! Please do try it out if you are interested in localizing your applications and particularly if you want to create custom assemblies. I’d love to hear what you think, so please do provide feedback. Our support team are also ready to answer your technical questions. It’s pretty solid right now, but I will remind you that it is in beta, so there might be some issues that can only come from throwing a lot of people at it all at once :).

Free DevExpress Products - Get Your Copy Today

The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the DevExpress Support Center at your convenience. We'll be happy to follow-up.
No Comments

Please login or register to post comments.