Geertjan is a DZone Zone Leader and has posted 467 posts at DZone. You can read more from them at their website. View Full User Profile

Interview: Help for Multilingual NetBeans Platform Applications

  • submit to reddit

Peter Rogge (pictured, right) from Germany is yet another developer of NetBeans Platform applications. He's particularly interested in finding generalized solutions for the challenges faced by developers of multilingual applications. Below you find out about him and the projects he's working on around multilingual support for NetBeans Platform applications.

In 2003, Peter changed careers, becoming an application developer, at which point he discovered his passion for Java. In 2008, he started working as a software engineer at H&D International Group in Wolfsburg, where he still works.

H&D offers comprehensive, individual and integrated solutions for the various requirements of modern IT. Most of its customers come from automotive, financial, insurance, service or public sectors, but H&D is also open to new potential markets in various other business branches.

Hi Peter. You've set up a site on dealing with multilingual solutions relating to the NetBeans Platform. Why did you decide to do this?

The main reason for that was that I was searching for a multilingual solution for my German program Traumpalast, which is a dream diary. The user should be able to, at runtime, change the locale of the application via a menu item or toolbar button.

In trying to make this possible, three main themes began to crystalize:

  1. Access to Localized NetBeans modules. Via the localized NetBeans modules, the NetBeans team provides translations of menus, toolbars, dialogs, and so on.

    However, access to these translations is not very easy. Firstly, if an application needs to be able to support multilingual scenarios, you need to download and install modules for each language separately from the NetBeans Download Page. And how do you then access the files in these localized modules and integrate them into your own application?

    Currently 20 languages are supported by NetBeans IDE. The main languages are shown above the line, with community-provided languages below it:

  2. NetBeans Plattform Restarts. Then there's the small detail that the activation of a new language requires a restart of the NetBeans Platform, enabling the newly selected language data to be loaded.

    In this area Jesse Click (issue 168257) and Aljoscha Rittner (Neuerer Neustart der NetBeans Platform) are making good progress. However, when restarting a NetBeans Platform application under Linux / Unix, the configuration data containing the initialization data including locale settings, are not loaded afresh. As a result, for these platforms, changes in the language choice cannot be enabled via a restart, so that currently under Linux / Unix NetBeans Platform applications must be restarts manually in order to read the changes in the configuration files. 

  3. Internationalization of Texts. Once you've overcome these obstacles, you need to translate the texts of your custom modules. However, this task is not too hard, since NetBeans IDE has good internationalisation support, via wizards and templates.

While I was gathering data about these three themes, I came across a lot of information relating to the theme of internationzalization and language switching at runtime. A lot of developers are looking for help about precisely these topics, so that it would be useful to have a generalized approach enabling the user to easily select the desired language for a running application.

Since I've been considering getting involved in the NetBeans Community for some time already, I thought I'd take the opportunity to set up the MultiLingual site,  where I am collecting and making available a wide range of information around this theme, in the form of tutorials and a demo program.

What's the current situation of multilingual support in the NetBeans Platform?

Currently we have the following situation with the NetBeans Platform:

The developer downloads one or more distributions of NetBeans IDE by selecting the desired languages on the download page. After installation the development environment makes the selected language available for developing NetBeans Platform applications. And... that's all.

Firstly, after installation, the developer has the possibility of changing the configuration file to enable NetBeans IDE to start with a new language. However, the condition for this to be possible is that the currently installed version of NetBeans IDE needs to support the selected language in the first place. :-).

Indeed, as a developer it isn't possible for me to say: "NetBeans IDE, generate the ZIP distribution of my NetBeans Platform application in the following localized languages: Language1, Language2, etc." But, why isn't this possible? The language files are available, so why isn't this possible?

Personally, I find this to be a great pity. A missed opportunity. It isn't the case, after all, that the language module needs to be programmed from scratch. Instead, the language files are available and are only needed once, when the application is installed. But what it would take to implement this from the side of the NetBeans team is not something I know enough to comment on.

A small overview of the amount of work that it takes to localize the NetBeans Platform is described in Emilian Bold's „NetBeans Platform Speaks Romanian“, where Emilian describes that someone from a company had to be involved for a month to translate the application... while NetBeans supports more than 20 languages, each of which may require even more or less work than that.

And what exactly would like you to achieve with your multilingual project?

My goal is that the developer programming multilingual applications is able to find all the relevant information on the project homepage from MultiLingual.

To that end, I have provided a wide range of information and links around the abovementioned three themes (the usage of localized NetBeans modules, the restarting of NetBeans Platform applications, and the internationalization of custom texts).

In addition, I created a small demo program that demonstrates the implementation of this information.

The picture mirrors that interest in the NetBeans community for the theme of multilingual support is high. On average, the demo program is downloaded 100 times a month.

Published at DZone with permission of its author, Geertjan Wielenga.