12章 国際化

12.1 国際化とは

SupportedLocales.jsp

<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8" import="java.util.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Supported Locales</title>
</head>
<body>
<ul>
<%
Set<String> locales=new TreeSet<String>();
for(Locale loc:Locale.getAvailableLocales()) locales.add(loc.toString());
for(String str:locales) out.print("<li>"+str+"</li>");
%>
</ul>
</body>
</html>

12.2 ウェブアプリの国際化

12.2.1 プロパティ・ファイル

12.2.1.1 ui_ja.properties(日本語のプロパティ・ファイル)

program.title=タイトル
program.greeting=こんにちは

12.2.1.2 ui_en.properties(英語のプロパティ・ファイル)

program.title=TITLE
program.greeting=Hello!

12.2.1.3 ui.properties(想定外の言語のためのプロパティ・ファイル)

program.title=Title (default)
program.greeting=Hi! (default)

Header内容を取得するJSP

<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8" import="java.util.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Insert title here</title>
</head>
<body>
<table>
<%
for(Enumeration nameEnum=request.getHeaderNames();nameEnum.hasMoreElements();){
  String name=(String)nameEnum.nextElement();
  for(Enumeration e=request.getHeaders(name);e.hasMoreElements();){
    String value=(String)e.nextElement();%>
    <tr>
      <th><c:out value="<%=name %>" /></th>
      <td><c:out value="<%=value %>" /></td>
    </tr><%
  }
}
%>
</table>
</body>
</html>