Orion is being developed as a set of consumable web components that as a whole provide a full development platform. As developers create their components and plugins to extend Orion functionality, they should be aware that Orion is very much capable of supporting internationalization (i18N) changes directly within the browser. Typically, web applications might support internationalization by putting additional code on the server, passing or parsing the current language of the browser and serving up different translated pages to the user. Orion, supporting a plugin model that allows extensions directly in the browser hosted from separate sites, can allow internationalization plugins to be installed on the fly as required. These plugins can extent part or all of the allowed translations. Orion even offers a tool (a plugin of course) to help prepare your extension by creating a message catalog of strings and marking NON-NLS strings appropriately.
Let’s look at the Git commit page. You can see that by default, we have English strings for most text areas. A significant part of the banner and other areas come from common NLS message catalogs however the core area specifically comes from a Git Page catalog.
We can install a new language pack for that page as an Orion plugin. In this case, a URL within IBM where translations are in progress but not completed. There are some of the strings converted but not all, so they are not ready for prime time.
Once installed, I went to my Firefox Nightly preferences and added Polish as the top language choice in the list of languages.
Then go back to the Git page and refresh the page, meaning all cached resources are still used and but then Orion takes care of looking for the matching NLS plugin as appropriate for the browser page and we end up with Polish translations (again, for some of the strings that we’ve had actually translated at this point).
Remember, this is all happening in the client, no transactions with the server changed and from multiple hosts. It’s a perfect example of how Orion provides cross-site linking without surfacing the intricacies to the user. Of course it should work this way.
Follow the same sequence of steps for Korean and you’d get the following Git page.
Some might consider Internationalization a little boring, however if your application, extension or plugin is to be consumed by the non-English (or non-single language) areas of the world you should consider components and platforms that are being engineered for Enterprise scale applications. In addition, we’re looking for volunteers to translate to ISO 639-2 tlh, or Klingon.
For more on Orion Internationalization and the the Xtrnalizer plugin see our wiki page.