Ah! Now I see what you want.
The simplest way (if you are using Servlets to drive the web user interface) is to have two "web applications", each using the same servlets, but configured to look in different places for their text resources. For example, a URL structure such as:
//www.something.com/en/....
and
//www.something.com/ar/...
With the same pages, servlets etc. in each subtree. With a reasonable modern servlet container
you should be able to build two war files, one called "en.war" and one called "ar.war" containing everything each site needs and just put them in a monitored directory. All you need then is a static front page allowing users to choose which of the two "sites" they want.
As for making the software flexible. There are several ways to do this.
One common approach is to set up a big map from symbolic names to actual text (perhaps loaded from a properties file?) and refer to the names in your servlets rather than the actual text. In the following example, I use English and German*, as I am not familiar with Arabic.
Properties File for English:
greeting: Hello
mailbody: Please send me your money
signoff: Cheers
Properties file for German:
greeting: Guten Tag
mailbody: Schicken Sie bitte mir Ihr Geld
signoff: Tschuss
Example code
Another, and generally more scalable, approach is to use a templating mechanism. I recommend WebMacro
http://www.webmacro.org/ which allows you to produce a set of language/region specific templates, and fill in the details at runtime. Put all the templates for a specific language in a directory, and pass the location of the directory as an initialization paramater to your servlets.
Has this helped at all?
--
* or at least an attempt at German. It's a long time since I had to speak any.