PART 3 페이지 처리 기법
CHAPTER 09 다국어 처리
01 다국어 처리의 개요
다국어 처리는 다른 언어와 지여적 차이를 기술 변경 없이 소프트웨어에 바로 적용하는 것
- 지역화
지역화(Localization)는 사용 국가별 환경에서 특정 언어와 지역에 맞게 적합화하는 것으로, 줄여서 L10n으로 표기하도 합니다.
- 지역화는 어떤 제품, 서비스, 또는 콘텐츠를 특정 지역 또는 국가의 언어, 문화, 관습에 맞게 수정하거나 적응시키는 과정을 나타냅니다.
- 지역화는 일반적으로 언어 번역뿐만 아니라, 날짜, 시간, 숫자 형식, 통화 등과 같은 지역적인 특성을 고려하여 제품이나 서비스를 특정 지역의 사용자에게 더 적합하게 만드는 것을 목표로 합니다.
- 예를 들어, 어떤 소프트웨어가 다양한 언어로 지역화되면 해당 언어를 사용하는 지역의 사용자들이 보다 쉽게 이해하고 사용할 수 있습니다.
- 숫자, 날짜, 시간의 형식
- 화폐의 표시
- 키보드의 지원
- 문자열의 순서와 정렬
- 심벌, 아이콘, 색상
- 문화에 따라 오해의 소지가 있거나 의미가 없는 문자, 그림
- 지역별 법률의 차이
- 국제화
국제화(internationalization)는 여러 국가에서 사용할 수 있도록 다국어를 지원하는 것 (i18n으료 표기)
- 국제화는 제품, 서비스, 소프트웨어 등이 다양한 국가나 지역에서 전 세계적으로 사용될 수 있도록 설계되거나 조정하는 과정을 의미합니다.
- 국제화는 주로 표준화된 프로세스와 국제적인 표준을 준수하여 제품이나 서비스가 문화나 지역적인 차이에 더 잘 대응할 수 있도록 합니다.
- 예를 들어, 국제화된 소프트웨어는 다양한 언어 및 지역에 대한 지원이 내장되어 있어서 어떤 국가에서도 쉽게 도입될 수 있습니다.
요약하면, 지역화는 특정 지역이나 국가에 맞게 조정하는 것을 의미하고, 국제화는 제품이나 서비스를 다양한 지역에서 사용할 수 있도록 일반화하거나 준비하는 것을 의미합니다.
02 Locale 클래스를 이용한 다국어 처리
Locale 클래스는 특정 지리적 정치적 문화적 지역을 나타내는 클래스
request 내장 객체를 이용하여 가져올 수 있음
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="java.text.NumberFormat"%>
<%@ page import="java.text.DateFormat"%>
<%@ page import="java.util.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Internationalization</title>
</head>
<body>
<h3>현재 로케일의 국가, 날씨, 통화</h3>
<%
Locale locale = request.getLocale();
Date currentDate = new Date();
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL, locale);
NumberFormat numberFormat = NumberFormat.getNumberInstance(locale);
%>
<p>
국가:
<%=locale.getDisplayCountry()%>
<p>
날짜:
<%=dateFormat.format(currentDate)%>
<p>
숫자 (123456.67):
<%=numberFormat.format(12345.67)%>
</body>
</html>
03 JSTL fmt 태그를 이용한 다국어 처리
아파치 톰캣에서 제공하는 JSTL 라이브러리 설치 방법
배포사이트: https://tomcat.apache.org
[Download]-[Taglibs] 메뉴
taglibs-standard-impl-1.2.5jar, taglibs-standard-spec-1.2.5.jar, taglibs-standard-jstlel-1.2.5.jar
파일을 모두 다운로드 합니다.
다운로드한 jar를 톰캣 10 버전으로 이전합니다.
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Internationalization</title>
</head>
<body>
<p>------------기본로케일------------
<fmt:setBundle basename="ch09.com.bundle.myBundle" var="resourceBundle"/>
<p> 제목: <fmt:message key="title" bundle="${resourceBundle}" />
<p> 이름: <fmt:message key="username" var="userMsg" bundle="${resourceBundle }"/>
<p>------------영어로케일------------
<fmt:setLocale value="en" />
<fmt:setBundle basename="ch09.com.bundle.myBundle" var="resourceBundle"/>
<p> 제목: <fmt:message key="title" bundle="${resourceBundle }"/>
<p> 이름: <fmt:message key="username" bundle="${resourceBundle }"/>
</body>
</html>
'도서 > 프로그래밍' 카테고리의 다른 글
[09][完] 쉽게 배우는 JSP 웹 프로그래밍 (0) | 2024.01.22 |
---|---|
[08] 쉽게 배우는 JSP 웹 프로그래밍 (1) | 2024.01.21 |
[06] 쉽게 배우는 JSP 웹 프로그래밍 (0) | 2024.01.19 |
[05] 쉽게 배우는 JSP 웹 프로그래밍 (0) | 2024.01.18 |
[04] 쉽게 배우는 JSP 웹 프로그래밍 (0) | 2024.01.17 |