I started on a new assignment where I need to work on a software maintanenace project consisting of a large enterprise java/j2ee based web application that is 10 years old. We need to introduce Internationalization(i18n) support to this web application.
Now my question is, can you explain where do we start on this effort of adding i18n support to this large j2ee web application. Initially our focus is to support languages like Spanish, French and later extend to other languages.
Can you please suggest some good books, internet URL's etc. where I can look at for adding i18n support for these kind existing large j2ee based web application?
how to add i18n support to the existing large oracle based database ?
The Struts Framework has good support for Internationalization. If this application uses Struts, then this would be a good place to start. Any good book about Struts will cover this material. My favorite was Programming Jakarta Struts by Chuck Cavaness.
Joined: Apr 18, 2006
Thank you James
appreciate more thoughts on this subject from fellow JavaRanchers ?
Hi Akram. It really depends on what you have right now and what you need to do. (Where are you, and where are you going?)
Is your data already i18n in Oracle? Are you using n-types and a unicode (utf-8 or utf-16) character set? Do your i18n requirements include the actual data in Oracle or just the display mechanism?
Struts does have nice i18n support but it is not your only option. Most of the i18n in MVC frameworks have the same set of tasks, they just may vary a bit on how they do it. Resource bundles, tag libs, proper contentType encoding, etc. can be used outside of established MVCs but ymmv.
You can reverse engineer your java code and look inside to understand how the application is supposed to work.
Which are central classes could be displayed in a class diagram and methods iterations in a sequence diagram etc.....
You need to identify which class is in charge of translation and which methods are called and when. Be careful to respect existing work flows because if you insert a call at a wrong position then all the application could be unstable !! Check which JDK is supposed to work with your server because EclipseUML is only working with JDK 5 and futher so .....