It's no surprise that Java offers significant I18N support. What is interesting is the programming ease with which this capability can be leveraged. By moving static textual elements into property files, your products can be I18N-enabled, even by end users. This can happen provided you have planned for it in your source code.
The text formatting examples described here are simple, but if you wanted to add something more difficult, such as multicurrency interest calculations, then the use of aspects can make such code addition less invasive. Bear in mind that I added the entire reporting mechanism as an aspect.
Although many consider AOP risky, it can help fulfill the growing need for LTP. This makes AOP worthy of consideration in certain instances. As programmers, we must always look for ways to improve productivity. Where I18N requires changes in source code, you can also use AOP to reduce the risk. In this LTP context, aspects function a little like the code overlay tools of old: Basically, you write your aspect and drop it into your code, thereby minimizing the risk and lowering the cost of legacy code changes.
As shown in this article, the suitability of AOP for applications such as I18N and the requirements of LTP indicates that AOP has come of age as a programming technology.