Java Resource File editor

Localization support in Java is rather good. But what about the convenience of providing localized resource bundles?

I usually use NetBeans for the development and editing resource files. But what if you would like to provide this localization files for your customer? So we’ve decided to do some investigations on this topic. The primary criteria according to which the tools were estimated are the following:

  1. Simplicity of use
  2. Support of simultaneous display of multiple language data (required)
  3. Detecting keys with the missed translations and highlighting them
  4. Usually I group properties in some way, so that properties from the same screen are situated closely in the properties file. It would be nice not break this groups.
  5. Stability
  6. License should allow you to change the source-code in case if you need to fix some defects occur. (required)

Let’s start with small standalone tools, which can be easily used if you already have JRE installed.

Resource Bundle Editor

Pros:

  1. It’s a single tool in the review which does versioning of the content by itself. It adds specific comments which allow to track changes across files.
  2. Good documentation. I personally believe that it was created because the tool itself is rather complex to use.

Cons:

  1. Not supported since 2006
  2. Not stable. While playing for 10 minutes – I’ve noticed several defects.
  3. No highlight of the missed items
  4. Complex UI

 

After saving file – it’s totally changed and contains added comments required for versioning.


Personal Opinion: Unstable tool which has a very complex UI and a unique versioning feature. Changes properties file incredibly. Not going to propose it to our customers.

Popeye

Pros:

  1. Highlightning of the missed values
  2. Cute and simple UI

Cons:

  1. Not supported since 2007
  2. Not very stable. I’ve observed several exceptions in the console but didn’t notice that it has influenced any functionality.

After saving – the content of the properties files was reorganized but it was done in quite a smart way.



Personal Opinion: If you need a simple and a smart tool – Popeye is your choice. Not absolutely sure about the general stability of it but it worked nicely in my case. Going to propose it for our customers.

prbeditor

Pros:

  1. Simple and functional UI
  2. Seems to be rather stable, no problems were observed during testing.

Cons:

  1. Not supported since 2007
  2. Rows with the missed values are not highlighted

The result after save was rather strange.

Personal Opinion: Stable, simple and nice tool which lacks highlight of the missed items. The order of the saved values seems to be rather strange. Won’t propose to our customer because of the absent highlighting.

Zaval

Previously this tool was used by one of our customers.

Pros:

  1. Simple
  2. Missed values are highlighted

Cons:

  1. UI from the 90th
  2. Not stable. A number of exception and problems were observed during testing
  3. Last release occurred in 2004

The order of the content became rather strange after editing in Zaval

Personal Opinion: Not stable tool from the past. Won’t recommend it to our customer.

Conclusion

Based on the results of the review, Popeye was selected to be proposed for customer.

However as you can see, all of the mentioned tools are a bit outdated. So it was decided to look at a more dynamic and supported segment of IDEs. Three of the most popular IDEs were under review: NetBeans, Eclipse and IntelliJ IDEA Community Edition

NetBeans: Resource Bundle Editor

Pros:

  1. Integrated into my favourite IDE 🙂

Cons:

  1. Rows with the missed values are not highlighted
  2. Seems to be a bit outdated. Support for 6.5 is declared only. But works fine in 6.8

The behaviour of the save operation is ideal. Everything remains on its own places.

Personal Opinion: Nice plug-in which unfortunately does not highlight missed values.

IntelliJ IDEA Community Edition

Pros:

  1. Everything works perfectly. It fully meets specified criteria.
  2. No need to install plug-in. It’s already bundled in the installation.



Order of the saved is also perfect.



Personal Opinion: I really like the way it’s implemented in IDEA. Simple, stable and rather smart.

Eclipse: Babel

Pros:

  1. Babel is unbelievably smart and unbelievably integrated into Eclipse. Duplicated and missed entries are displayed in the Problems view.
  2. Missed items are highlighted

Cons:

  1. Binary bundles are not available on the official page. You’ll need either to build plug-in from sources or find built already somewhere else.

I was absolutely disappointed by the sort order. It appeared to be sorted and added spaces.

Personal Opinion: It’s the smartest plug-in I’ve seen. However the need to build from sources and order of the saved properties is a bit disappointing.

Conclusion


In my point of view IntelliJ IDEA has the most stable and mature support of the localized files. It even has it without installing any additional plug-ins. From the other side, Babel demonstrates unique features which I would like to see in other IDEs. Unfortunately NetBeans plug-in is not the best option here.



As a result, I can admit that there’s a bunch of tools which can help you and your customer in editing resource bundle files. Of course you can use one of the massive IDEs, but you can also select a small tool based on your needs.

It’s absolutely possible that I’ve missed some interesting features or even tools which still meet of needs. May be I’ve even missed something that meets our needs – but it means that usability is not so good to make this feature enabled very quickly.