본문 바로가기

JSP 웹 프로그래밍/수업내용

[JSP 웹 프로그래밍] 다국어 처리

1. 다국어 처리의 개요

다국어 처리

 - 브라우저를 사용하는 국가에 따라 다양한 언어 및 지역을 지원하는 서비스

 - 다른 언어와 지역적 차이를 기술 변경 없이 소프트웨어에 바로 적용하는

 - JSP 페이지에 JSTLfmt 태그를 이용하면 언어별로 페이지를 따로 만들 필요 없이 아주 간단하게 다국어를

    지원할 수 있음

 - 다국어는 다양한 언어와 지역에 적용될 수 있도록 하는 국제화(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 태그에 설정한 리소스번들에서 메시지를 읽어와 출력하는 태그


참고 파일

Ch09 다국어 처리.pptx
3.18MB