It seems like this would be much more logical to manage
multi-lingual sites, since each lang would be in it's
own dir structure.
Of course, it also means that you would have to duplicate
anything that is not lang dependent, such as images.
(I assume that the doc-based locale would re-direct all
requests???)
Mike.
--
Mike Braden
[EMAIL PROTECTED]
-----Original Message-----
From: Arieh Markel [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, March 14, 2001 10:19 AM
To: [EMAIL PROTECTED]
Subject: Proposal for implementation of lookup of localized
web-resources
We are about to release a product on which we include Tomcat 3.2.
Our testing and localization people have been banging at our product
and come up with several remarks about how lookup for a localized
resource (file: html, gif, javascript, etc) are being done.
I have in the past contributed localization code to the 3.2 code base.
I have received a couple of remarks from the localization people.
The current way that localization is done on the code I contributed
to 3.2 was what I called 'file-based' lookup.
An alternative method that I implemented in our application (but have
not contributed to Jakarta yet) is 'docbase-based' lookup.
Here is a brief overview of both mechanisms:
Assume locale in request is: fr_CA
Assume locale of where tomcat is set: en_US
requested path
<docbase>/dir/.../index.html
file-based: (path/<filebasename>[locale].filetype)
1. <docbase>/dir/.../index_fr_CA.html
2. <docbase>/dir/.../index_fr.html
3. <docbase>/dir/.../index_en_US.html
4. <docbase>/dir/.../index_en.html
5. <docbase>/dir/.../index.html
docbase-based: ([locale]/path/filename)
1. <docbase>/fr_CA/dir/.../index.html
2. <docbase>/fr/.../index.html
3. <docbase>/en_US/.../index.html
4. <docbase>/en/.../index.html
5. <docbase>/dir/.../index.html
File-based lookup works in a manner similar to how ResourceBundle does.
Docbase-based lookup is similar to how JavaHelp organizes the files.
----
Implementation proposal:
a. create a class 'org.apache.tomcat.util.Localization' (for 3.x).
'org.apache.catalina.util.Localization' (for 4.x).
b. implement two static methods:
public static String getLocalizedPathFileBased (
String dir, String path, Locale loc, Locale fbLoc)
public static String getLocalizedPathDocBaseBased (
String dir, String path, Locale loc, Locale fbLoc)
c. For 3.x: in StaticInterceptor, add "localization" as a property
with valid values of:
"file" "docbase"
d. For 4.x: (I have just begun looking at the code yesterday - would
appreciate some pointers from the 4.x experts of where the
serving of resource is done)
----
Any opinions ?
Much of the code has already been written and has been tested.
Arieh
--
Arieh Markel Sun Microsystems Inc.
Network Storage 500 Eldorado Blvd. MS UBRM11-194
e-mail: [EMAIL PROTECTED] Broomfield, CO 80021
Pray for snow !!!! Phone: (303) 272-8547 x78547
(e-mail me with subject SEND PUBLIC KEY to get public key)