클라이언트의 정보를 얻는 방법은
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