菜鸟学Struts——I18N对国际化的支持

原创 2015年08月02日 14:31:00

    大家肯定都喜欢玩游戏吧。对于是一个游戏迷的话,肯定玩过不少非常棒的经典单机游戏。比如说,国产的《古墓丽影》、《刺客信条》、《鬼泣》国产的仙剑,古剑等。在众多游戏系列中,国产的不必说了,下载破解了就能玩。但是对于哪些,下载下来是英文的韩文的游戏。对于电脑白痴的游戏迷来说,第一反映是:这游戏有没有汉化补丁?

 

   为什么一些经典的游戏可以用汉化补丁?我们在开发程序的时候,是否也提供了同样的语言包可供选择?

   我们在开发程序的时候,前台界面写文本的时候,都是直接写中文的。在对于这样做的程序,毫无疑问,如果这个程序,要推向国际化。开发一种语言,基本就相当于把整个系统重构了。

   如果是那样的话,我们的程序推向国际化是不是成本很大?

   所以,在开发系统之前,一般都会考虑系统的使用人群。如果该系统只打算开发一种语言的话,那自然就不用考虑语言的版本问题了。如果开发的程序或游戏,认为可以有发展的空间。我们就可以在程序中加入对国际化的支持了。

 

   初学Struts,如果有不对的地方,还请指教。

   接下来,我将用一个小例子,谈一谈我对语言包的理解。

 

我们所说的中文补丁就是一个语言包。

 

传统的程序开发:

<%@ 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>

 

界面上没有文本。只有一些变量……

 

   文本的位置全都用变量替换掉。这样只要是显示界面的文本,都是可控制的。只需要替换一个语言包,就可以了。

 

现在替换一个语言包,效果如图:

 

接下来,我们看一下这神秘的“语言包”是什么东西。

   对于程序的开发,如果要支持国际化。在开发的过程中,可能会不太舒服。因为开发前台的人员,看不到熟悉的程序,而是一大堆变量。

   当然也可以,先开发出一个语言的程序来。然后在进行替换。对于多种语言的开发,也就是多了一个翻译的过程,也没什么神秘的。

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

struts2之5--国际化支持

1  struts2支持国际化的原理 struts2的程序国际化支持建立在java程序国际化的基础之上, 原理思想: 程序界面中需要输出国际化信息的地方,我们不要在页面上直接去输出信息,而是输出一...
  • weiguolee
  • weiguolee
  • 2012年07月30日 22:03
  • 3049

在struts中完美的使用i18n-国际化原来如此简单

方案一"struts中文问题","struts国际化问题"的终极解决方案 Java本身就支持多国语言编码,不需要写任何程序,可以很简单的 实现。 秘诀就是两点:  1、所有HTML/JSP页面全部采用...
  • callzf
  • callzf
  • 2006年08月23日 00:39
  • 1381

Struts1的国际化处理(汇总整理)

Struts1的国际化处理(汇总整理)
  • hakunamatata2008
  • hakunamatata2008
  • 2011年02月28日 17:17
  • 3639

Struts2国际化详细配置说明

一.首先了解一下什么是国际化:    国际化的英文为Internationalization,所以它又称为I18n(internationalization的首末字符i和n,18为中间的字符数)。i1...
  • dream0352
  • dream0352
  • 2016年02月18日 18:00
  • 5738

Java的国际化支持(I18N问题)

一,读取PC的locale信息Locale信息是由语言跟国家代码组成的,在Java中,提供了Locale类对应语言信息。/* * //获取local信息 Locale defaultLocale ...
  • lhc2207221755
  • lhc2207221755
  • 2015年12月16日 20:23
  • 1747

struts2国际化实现过程(解决中文乱码)

struts2的国际化实现过程--刚开始写的时候按照网上说的那样配置完,结果一测试,乱码。然后     自己在网上查了很多关于struts2国际化乱码的文章,写的都不全面,比如native2asci...
  • q1054261752
  • q1054261752
  • 2015年10月06日 19:27
  • 1634

菜鸟学SSH(二)——Struts2国际化手动切换版

localization,l10n)指让产品(出版物,软件,硬件等)能够适应非本地环境,特别是其他的语言和文化。程序在不修改内部代码的情况下,能根据不同语言及地区显示相应的界面。 国际化原理: 国...
  • liushuijinger
  • liushuijinger
  • 2013年11月20日 08:03
  • 10885

国际化(i18n)

国际化开发概述软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。 国际化(internationalizat...
  • yerenyuan_pku
  • yerenyuan_pku
  • 2016年08月17日 21:17
  • 14391

struts国际化实例---登录例子(中英文切换)

struts国际化实例---登录例子(中英文切换) 1、新建一个web工程struts-i18n2,添加struts2支持 2、在index.jsp页面中写一个form表单:(超链接转换中英文时,...
  • ZZ2713634772
  • ZZ2713634772
  • 2017年07月24日 11:15
  • 623

Spring ApplicationContext的国际化支持

ApplicationContext接口继承MessageSource接口,因此具备国际化功能。下面是MessageSource接口定义的三个国际化方法。   》String getMessag...
  • caomiao2006
  • caomiao2006
  • 2016年07月10日 17:33
  • 1266
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:菜鸟学Struts——I18N对国际化的支持
举报原因:
原因补充:

(最多只允许输入30个字)