菜鸟学Struts——I18N对国际化的支持
来源:互联网 发布:反转二叉树c语言 编辑:程序博客网 时间:2024/05/16 18:41
大家肯定都喜欢玩游戏吧。对于是一个游戏迷的话,肯定玩过不少非常棒的经典单机游戏。比如说,国产的《古墓丽影》、《刺客信条》、《鬼泣》国产的仙剑,古剑等。在众多游戏系列中,国产的不必说了,下载破解了就能玩。但是对于哪些,下载下来是英文的韩文的游戏。对于电脑白痴的游戏迷来说,第一反映是:这游戏有没有汉化补丁?
为什么一些经典的游戏可以用汉化补丁?我们在开发程序的时候,是否也提供了同样的语言包可供选择?
我们在开发程序的时候,前台界面写文本的时候,都是直接写中文的。在对于这样做的程序,毫无疑问,如果这个程序,要推向国际化。开发一种语言,基本就相当于把整个系统重构了。
如果是那样的话,我们的程序推向国际化是不是成本很大?
所以,在开发系统之前,一般都会考虑系统的使用人群。如果该系统只打算开发一种语言的话,那自然就不用考虑语言的版本问题了。如果开发的程序或游戏,认为可以有发展的空间。我们就可以在程序中加入对国际化的支持了。
初学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>
界面上没有文本。只有一些变量……
文本的位置全都用变量替换掉。这样只要是显示界面的文本,都是可控制的。只需要替换一个语言包,就可以了。
现在替换一个语言包,效果如图:
接下来,我们看一下这神秘的“语言包”是什么东西。
对于程序的开发,如果要支持国际化。在开发的过程中,可能会不太舒服。因为开发前台的人员,看不到熟悉的程序,而是一大堆变量。
当然也可以,先开发出一个语言的程序来。然后在进行替换。对于多种语言的开发,也就是多了一个翻译的过程,也没什么神秘的。
- 菜鸟学Struts——I18N对国际化的支持
- Struts对国际化的支持
- Struts对国际化的支持
- Struts 国际化 i18n 的配置
- Java 对国际化 (i18n) 的支持&资源包的调用
- struts.custom.i18n.resources——struts国际化
- struts 国际化 i18n
- 08.struts国际化(I18N)
- struts-i18n国际化实现
- Struts2对于国际化(i18n)的支持
- Java的国际化支持(I18N问题)
- 菜鸟学习Struts——国际化
- struts的国际化支持
- 【Cocos2d-x】支持 i18n 国际化(2)——i18n XML 解析生成头文件
- express支持i18n国际化
- 国际化—— i18n:internationalization
- struts与jstl对国际化的支持(转贴)
- struts与jstl对国际化的支持(转贴)
- 华为是怎样研发的(8)——兄弟文化
- Ubuntu下vim设置文件.vimrc内容
- 解决Cygwin "error while loading shared libraries"的问题
- 华为是怎样研发的(7)——开会
- android 显示和分辨率区别
- 菜鸟学Struts——I18N对国际化的支持
- Android学习笔记之AIDL
- 初步认识套接字编程(1)
- JavaScript (滚动条的移动事件)
- VIM学习(积累中....)
- hdu 5340 Three Palindromes
- QR二维码
- 新开发模式下自动化测试
- 传值与传引用的 区别