1. 다국어 처리의 개요
다국어 처리
- 웹 브라우저를 사용하는 국가에 따라 다양한 언어 및 지역을 지원하는 서비스
- 다른 언어와 지역적 차이를 기술 변경 없이 소프트웨어에 바로 적용하는 것
- JSP 페이지에 JSTL의 fmt 태그를 이용하면 언어별로 페이지를 따로 만들 필요 없이 아주 간단하게 다국어를
지원할 수 있음
- 다국어는 다양한 언어와 지역에 적용될 수 있도록 하는 국제화(internationalization, i18n)와 언어별 구성 요소를
추가하여 특정 지역의 언어나 문화에 맞추는 지역화(localization, L10n)를 포함
지역화
- 사용 국가별 환경에서 특정 언어와 지역에 맞게 적합화하는 것
- L10n으로 표기
지역화에 주로 고려되는 사항
문화에 따라 오해의 소지가 있거나 의미가 없는 문자, 그림 / 지역별 법률의 차이
2. Locale 클래스를 이용한 다국어 처리
Locale 클래스
특정 지리적·정치적·문화적 지역을 나타내는 클래스
사용자의 지역 환경에 따라 결정되는 지역적 문화(언어, 날짜, 시간 등)의 정보를 담고 있음
=- 예를 들어 웹 페이지에 보이는 메시지가 여러 가지 언어로 주어졌을 때 사용자가 어떤 언어로 출력할 것인지 결정할 수 있게 하는 수단이 바로 Locale 클래스
Locale 클래스는 단순한 메시지뿐 아니라 숫자, 날짜, 시간 등을 표현하는 데 사용
Locale 객체의 생성은 request 내장 객체를 이용하여 현재 웹 브라우저에 미리 정의된 언어나 국가 정보를 가져오는 방법

로케일 감지하기
웹 브라우저에 설정된 국가와 언어 이름을 알아내는 것을 로케일 감지
로케일 감지 메소드의 종류

로케일 표현하기
로케일 표현하기
- 다양한 국가별 언어를 제대로 표현하기 위해 response 내장 객체의 setHeader( ) 메소드 사용
날짜와 시간 설정
- 사용자의 로케일에 따라 특정 날짜와 시간 형식을 표현하기 위해 DateFormat 클래스의 getDateTimeInstance( ) 메소드를 사용
3. JSTL fmt 태그를 이용한 다국어 처리
JSTL fmt 태그
다국어 문서 처리를 위한 국제화 및 지역화 태그
날짜와 숫자 등을 형식화하는 기능을 제공하는 JSTL 라이브러리인 JSTL fmt 태그는 특정 지역에 따라 다른 메시지를 출력할 때 사용
- 한글 웹 브라우저는 한글 메시지를 출력할 때, 영문 웹 브라우저는 영어 메시지를 출력할 때 유용
JSTL fmt 태그 라이브러리를 사용 방법

JSTL 라이브러리인 jstl.jar 파일이 필요
- 배포 사이트: https://mvnrepository.com/
- 다운로드 파일: jstl-1.2.jar
JSTL fmt 태그의 종류


로케일 설정 태그의 기능과 사용법
setLocale 태그
- 국제화 태그가 사용할 로케일을 설정하는 태그


로케일 설정 태그의 기능과 사용법
requestEncoding 태그 : 요청 파라미터의 문자 인코딩을 설정하는 태그


메시지 처리 태그의 기능과 사용법
리소스번들
- 메시지 처리 태그에서 사용하는 파일로 메시지 번들이라고도 함
- 리소스번들로 사용하는 파일은 보통 WEB-INF/classes/ 폴더에 있음
- 리소스번들은 java.util.Properties 클래스에 정의된 방법으로 메시지를 읽어오기 때문에 확장자가 properties인 파일이 반드시 있어야 함
java.util.Properties 클래스는 알파벳이나 숫자, 라틴 문자 외의 언어를 유니코드 값으로 표현
메시지 처리 태그의 기능과 사용법


bundle 태그
- 사용할 리소스번들을 설정하는 태그로 형식

message 태그
- bundle 태그에 설정한 리소스번들에서 메시지를 읽어와 출력하는 태그

참고 파일
'JSP 웹 프로그래밍 > 수업내용' 카테고리의 다른 글
| [JSP 웹 프로그래밍] 예외처리 (0) | 2024.07.12 |
|---|---|
| [JSP 웹 프로그래밍] 시큐리티 (0) | 2024.07.10 |
| [JSP 웹 프로그래밍] 유효성 검사 (0) | 2024.07.08 |
| [JSP 웹 프로그래밍] 파일 업로드(file upload) (0) | 2024.07.04 |
| [JSP 웹 프로그래밍] form 태그 / input 태크 / select 태그 / textarea 태그 (0) | 2024.07.03 |