菜鳥學Struts——I18N對國際化的支持

    你們確定都喜歡玩遊戲吧。html

對因而一個遊戲迷的話,確定玩過很多很棒的經典單機遊戲。比方說,國產的《古墓麗影》、《刺客信條》、《鬼泣》國產的仙劍。古劍等。在衆多遊戲系列中,國產的沒必要說了。下載破解了就能玩。java

但是對於哪些,下載下來是英文的韓文的遊戲。對於電腦白癡的遊戲迷來講,第一反映是:這遊戲有沒有漢化補丁?apache

 

   爲何一些經典的遊戲可以用漢化補丁?咱們在開發程序的時候,是否也提供了相同的語言包可供選擇?post

   咱們在開發程序的時候,前臺界面寫文本的時候,都是直接寫中文的。在對於這樣作的程序。毫無疑問,假設這個程序。要推向國際化。開發一種語言。基本就至關於把整個系統重構了。ui

   假設是那樣的話。咱們的程序推向國際化是否是成本很是大?spa

   因此。在開發系統以前。通常都會考慮系統的使用人羣。假設該系統僅僅打算開發一種語言的話。那天然就不用考慮語言的版本號問題了。假設開發的程序或遊戲。以爲可以有發展的空間。翻譯

咱們就可以在程序中增長對國際化的支持了。code

 

   初學Struts。假設有不正確的地方。還請不吝賜教。orm

   接下來,我將用一個小樣例。談一談我對語言包的理解。htm

 

咱們所說的中文補丁就是一個語言包。

 

傳統的程序開發:

<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>
<body>
	<form action="login.do" method="post">
	用戶:<input type="text" name="username"><br>
	密碼:<input type="text" name="password"><br>
	<input type="submit" value="登陸"/>"><br>
	</form>
</body>
</html>

 

登陸頁面:

 

對於上述的頁面中有一部分代碼是 寫死的中文。

 

   假設要支持國際化,就要開發語言包 名字叫 ——國際化資源文件。

說通俗點,就是開發一組字典。把界面上的顯示文字的地方替換掉。語言包就是一組字典。

 

改動後的登陸界面:

<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>
<body>
	<form action="login.do" method="post">
	<bean:message key="form.field.username"/>:<input type="text" name="username"><br>
	<bean:message key="form.field.password"/>:<input type="text" name="password"><br>
	<input type="submit" value="<bean:message key="form.button.login"/>"><br>
	</form>
</body>
</html>

 

界面上沒有文本。僅僅有一些變量……

 

   文本的位置全都用變量替換掉。

這樣僅僅要是顯示界面的文本,都是可控制的。僅僅需要替換一個語言包。就可以了。

 

現在替換一個語言包。效果如圖:

 

接下來。咱們看一下這神奇的「語言包」是什麼東西。

   對於程序的開發。假設要支持國際化。

在開發的過程當中。可能會不太舒服。

因爲開發前臺的人員,看不到熟悉的程序,而是一大堆變量。

   固然也可以,先開發出一個語言的程序來。

而後在進行替換。對於多種語言的開發。也就是多了一個翻譯的過程,也沒什麼神奇的。

相關文章
相關標籤/搜索