On a recent film making trip to LA, we were out for dinner one night when the waiter asked me what kind of salad I would like, I replied that I would like tomato. Ray, good humoredly, corrected me and said it was tomayto not tomato. Of course he is right, not because he is an expert in the Americanization of the English language, but because he pays my salary and that trump card is enough to hold sway in most arguments. However, it did reminded me of Churchill’s old adage that the U.K. and the U.S. are two countries separated by a common language.
However much that may or may not be true, it is a fact that in our industry, language can be a separator separating countries (and therefore people) into the haves and the have nots depending on whether a particular piece of software has been localized for their country or not. To solve this problem an industry has grown up around internationalization and localization, with books on the subject and tools to help the developer with the process; there are also a number of industry standards to aid collaboration.
When it comes to the localization of software, and that is the only kind of localization we are dealing with in this post, there is a fairly straight forward workflow to follow:-
So does XAF support this localization workflow? Well the answer is yes but not entirely. It is clear that applications created with XAF are internationalized, that is to say, the up front work of designing and creating an application to be localizable, has been done for you. It is also clear that the step of extracting localizable content into a central data store has been facilitated through the use of the Model and because the Model Editor can be used as a stand alone product, a developer could use that mechanism in order to allow a translation agent to work with the localizable content. So, to quite a considerable degree, this workflow is supported within XAF.
However, XAF is not perfect (what software product is?) and it is clear that the area in which it lacks, is in its ability to export the localizable content, in a standards compliant medium, for onward transmission to a translation agent; nor does XAF have a mechanism by which to import the translated content back into the Model. Now we do plan to fully support this workflow at some point in the future, it’s just that the opportunity to include it has not presented itself yet.
Although I believe this to be a minor deficit in the productivity gains that XAF brings to the developer, I feel the time has come to rectify this deficit; so, in the coming days I am going to design, build, test and publish a tool that will allow the export and import of localizable content. This will allow XAF to fully support this localization workflow. I will be blogging my progress in future posts, so those of you who have an interest in this topic can follow along at home.
In the meantime, you can read more about XAF’s support for localization in our documentation.