클라이언트의 정보를 얻는 방법은
http request에서 제공되는 정보, client 스크립트(자바스크립트,VB스크립트)에서 제공해주는 정보, Form에서 전송되는 고객이 선택한 정보. 이 세가지가 일반적이고 그 이상의 정보를 얻기 위해서는 applet, activeX 등을 직접 제작해야 합니다.
1. 먼저 다국어와 로케일시간을 처리하는 방법을 보자면
단순한 쿠키세팅값을 읽어와 출력해주는 것입니다.
-----------
timeNameObj = new Array("사모아", "하와이",
 "알래스카", "태평양 
표준시",
 "애리조나", "미국(중부)",
 "미국(동부)", "상파울로",
 "브라질리아", 
"중부-대서양",
 "아조레스", "런던",
 "로마", "아테네",
 "모스크바", "두바이",
 "이슬라마바드", 
"아스타나",
 "자카르타", "북경",
 "서울", "시드니",
 "마가단", "오클랜드");
timeObj = new 
Array("GMT-11","GMT-10","GMT-9","GMT-8","GMT-7","GMT-6","GMT-5","GMT-4","GMT-3","GMT-2","GMT-1","GMT","GMT+1",
 "GMT+2","GMT+3","GMT+4","GMT+5","GMT+6","GMT+7","GMT+8","GMT+9","GMT+10","GMT+11","GMT+12");
// body on Load시 호출
f unction init(){
  saveTimezone = 
getCookie("saveTimezone");
  for (i=0;i<24;i++) {
    if 
(saveTimezone==timeObj[i]) {
      xform.TIMEZONE2.value = timeNameObj[i] + " 
(" + timeObj[i] + ")";
    }
    else
      xform.TIMEZONE2.value = 
timeNameObj[20] + " (" + timeObj[20] + ")";
  
}
}
----------------------
위의 내용을 설명하자면 자바스크립트 배열로 GMT시간을 저장해놓고
saveTimezone 이란 이름의 쿠키에 값이 있는경우 해당 값을 화면에 출력해주는 것입니다.
쿠키에 값이 없는 경우엔 디폴트로 20번 배열(한국)을 보여줍니다.
다국어 처리도 마찬가지군요
<select name="LANG">
  <OPTION value="en_US.EUC-KR" 
>영어</OPTION>
  <OPTION value="ko_KR.EUC-KR" 
selected>한국어</OPTION>
  <OPTION value="ja_JP.SJIS" 
>일본어</OPTION>
  <OPTION value="zh_CN.GB2312" 
>중국어</OPTION>
</select>
기본값을 영어로 하고 쿠키에 셋팅되어있는 값을 읽어 언어 로케일을 설정한뒤
이 값을 가지고 이후에 resource bundle에 
적용하게 됩니다.
2. resource bundle을 사용하는 방법
 먼저 언어별 properties file을 생성. (test.properties, 
test_fr.properties, test_de.properties )
 
 java application에서 bundle 사용 
코드 작성 
 ---------------------
 ResourceBundle labels = 
null;
 
 String localeString = "fr"; // 프랑스어로 설정 
 
 Locale 
currentLocale = new Locale(localeString);
 
 labels = 
ResourceBundle.getBundle("test",currentLocale);
 String value  = labels.getString("xxx");
 
 localeString = "de"; // 
독일어로 변경 
 
 labels = ResourceBundle.getBundle("test",currentLocale);
보다 자세한 내용은 .. http://java.sun.com/jdc/TechTips/1998/tt0521.html#tip2
3. 그러나 실제로 web application의 경우 ResourceBundle 클래스를 바로 쓰지 않고 
 struts 의 경우와 
같이 MessageResources 클래스를 이용합니다. 
 (struts site를 참조하세요 ) http://jakarta.apache-korea.org/struts/doc-1.0.2/userGuide/building_view.html