Water for asp.net 之八:多语言的实现
2010-02-02 10:06
288 查看
代码
1 <?xml version="1.0" encoding="utf-8" ?>
2 <prompts>
3 <prompt field="score.title" desc="学生成绩(行转列)"/>
4 <prompt field="employees.title" desc="员工基本信息"/>
5
6 <entity name="sys">
7 <prompt field="save" desc="保存"/>
8 <prompt field="update" desc="修改"/>
9 <prompt field="delete" desc="删除"/>
<prompt field="add" desc="添加"/>
<prompt field="select" desc="查询"/>
<prompt field="reset" desc="重置"/>
<prompt field="edit" desc="编辑"/>
<prompt field="new" desc="新建"/>
<prompt field="cancel" desc="取消"/>
<prompt field="query" desc="查询"/>
<prompt field="insert" desc="添加"/>
</entity>
<entity name="menu">
<prompt field="menutitle" desc="菜单"/>
<prompt field="menumaintain" desc="菜单维护"/>
<prompt field="menuid" desc="ID"/>
<prompt field="text" desc="菜单"/>
<prompt field="navigateUrl" desc="导航URL"/>
<prompt field="imageUrl" desc="图像URL"/>
<prompt field="toolTip" desc="提示"/>
<prompt field="imageToolTip" desc="图像提示"/>
<prompt field="parentId" desc="上级菜单"/>
<prompt field="target" desc="目标"/>
<prompt field="ordernum" desc="排序"/>
</entity>
<entity name="employees">
<prompt field="id" desc="员工ID"/>
<prompt field="firstName" desc="第一名字"/>
<prompt field="lastName" desc="第二名字"/>
<prompt field="email" desc="Email"/>
<prompt field="jobId" desc="岗位ID"/>
<prompt field="salary" desc="薪水"/>
<prompt field="hireDate" desc="雇佣日期"/>
<prompt field="departmentId" desc="部门ID"/>
</entity>
<entity name="jobs">
<prompt field="jobId" desc="岗位ID"/>
<prompt field="title" desc="岗位名称"/>
<prompt field="minSalary" desc="最小薪水"/>
<prompt field="maxSalary" desc="最大薪水"/>
</entity>
<entity name="departments">
<prompt field="departmentId" desc="部门ID"/>
<prompt field="departmentName" desc="部门名称"/>
</entity>
<entity name="score">
<prompt field="score" desc="成绩"/>
</entity>
<entity name="student">
<prompt field="studentId" desc="学生ID"/>
<prompt field="studentname" desc="姓名"/>
</entity>
<entity name="course">
<prompt field="courseid" desc="课程ID"/>
<prompt field="coursename" desc="课程"/>
</entity>
</prompts>
结构非常简单。实际上我的目的就是想形成一组键值对结构,如:
文件中35行到44行会形成,
key=ZH-CH$employees.id value=员工ID
key=ZH-CH$employees.firstname value=第一名在
key=ZH-CH$employees.lastname value=第二名字
key=ZH-CH$employees.email value=Email
key=ZH-CH$employees.jobid value=岗位ID
key=ZH-CH$employees.salary value=薪水
key=ZH-CH$employees.hiredate value=雇佣日期
key=ZH-CH$employees.departmentid value=部门ID
(ZH-CH是语言信息)
当然可以用数据库表存储该信息 ,但表的结构第一个字段是key,第二个是语言信息(如:ZH-CN、EN-US),第三个是value。当然web.config中要配置该表,如:
<add key="TablePrompt" value="表名"/> 。
web.config中还有一行:
<add key="FileDependencyPrompt" value="/prompts/a.txt"/>
是用于配置多语言文件的缓存的依赖的,因为,对语言文件是在应用启动的时候加载到内存的,在开发的时候为了测试方便,我添加了这个缓存依赖文件,主要是方便测试,任意改动依赖文件的内容就可以使缓存重新加载。
1 <?xml version="1.0" encoding="utf-8" ?>
2 <prompts>
3 <prompt field="score.title" desc="学生成绩(行转列)"/>
4 <prompt field="employees.title" desc="员工基本信息"/>
5
6 <entity name="sys">
7 <prompt field="save" desc="保存"/>
8 <prompt field="update" desc="修改"/>
9 <prompt field="delete" desc="删除"/>
<prompt field="add" desc="添加"/>
<prompt field="select" desc="查询"/>
<prompt field="reset" desc="重置"/>
<prompt field="edit" desc="编辑"/>
<prompt field="new" desc="新建"/>
<prompt field="cancel" desc="取消"/>
<prompt field="query" desc="查询"/>
<prompt field="insert" desc="添加"/>
</entity>
<entity name="menu">
<prompt field="menutitle" desc="菜单"/>
<prompt field="menumaintain" desc="菜单维护"/>
<prompt field="menuid" desc="ID"/>
<prompt field="text" desc="菜单"/>
<prompt field="navigateUrl" desc="导航URL"/>
<prompt field="imageUrl" desc="图像URL"/>
<prompt field="toolTip" desc="提示"/>
<prompt field="imageToolTip" desc="图像提示"/>
<prompt field="parentId" desc="上级菜单"/>
<prompt field="target" desc="目标"/>
<prompt field="ordernum" desc="排序"/>
</entity>
<entity name="employees">
<prompt field="id" desc="员工ID"/>
<prompt field="firstName" desc="第一名字"/>
<prompt field="lastName" desc="第二名字"/>
<prompt field="email" desc="Email"/>
<prompt field="jobId" desc="岗位ID"/>
<prompt field="salary" desc="薪水"/>
<prompt field="hireDate" desc="雇佣日期"/>
<prompt field="departmentId" desc="部门ID"/>
</entity>
<entity name="jobs">
<prompt field="jobId" desc="岗位ID"/>
<prompt field="title" desc="岗位名称"/>
<prompt field="minSalary" desc="最小薪水"/>
<prompt field="maxSalary" desc="最大薪水"/>
</entity>
<entity name="departments">
<prompt field="departmentId" desc="部门ID"/>
<prompt field="departmentName" desc="部门名称"/>
</entity>
<entity name="score">
<prompt field="score" desc="成绩"/>
</entity>
<entity name="student">
<prompt field="studentId" desc="学生ID"/>
<prompt field="studentname" desc="姓名"/>
</entity>
<entity name="course">
<prompt field="courseid" desc="课程ID"/>
<prompt field="coursename" desc="课程"/>
</entity>
</prompts>
结构非常简单。实际上我的目的就是想形成一组键值对结构,如:
文件中35行到44行会形成,
key=ZH-CH$employees.id value=员工ID
key=ZH-CH$employees.firstname value=第一名在
key=ZH-CH$employees.lastname value=第二名字
key=ZH-CH$employees.email value=Email
key=ZH-CH$employees.jobid value=岗位ID
key=ZH-CH$employees.salary value=薪水
key=ZH-CH$employees.hiredate value=雇佣日期
key=ZH-CH$employees.departmentid value=部门ID
(ZH-CH是语言信息)
当然可以用数据库表存储该信息 ,但表的结构第一个字段是key,第二个是语言信息(如:ZH-CN、EN-US),第三个是value。当然web.config中要配置该表,如:
<add key="TablePrompt" value="表名"/> 。
web.config中还有一行:
<add key="FileDependencyPrompt" value="/prompts/a.txt"/>
是用于配置多语言文件的缓存的依赖的,因为,对语言文件是在应用启动的时候加载到内存的,在开发的时候为了测试方便,我添加了这个缓存依赖文件,主要是方便测试,任意改动依赖文件的内容就可以使缓存重新加载。
相关文章推荐
- Water for asp.net 之七:多层架构的实现
- [翻译]ASP.NET MVC 3 开发的20个秘诀(四)[20 Recipes for Programming MVC 3]:实现多语言支持
- ASP.NET中多语言的实现
- Asp.net中多语言的实现
- Asp.Net中多语言的实现
- ASP.NET的本地化和多语言实现
- 在ASP.NET 2.0中实现多语言界面的方法
- 转:ASP.NET MVC 多语言实现技巧 最简、最易维护和最快速开发
- 晚上无聊象征性收取了网友100元辛苦费,实现支持多语言功能的XML语言包版的C#的ASP.NET多语言支持例子程序
- Asp.net 多语言界面的实现方法...
- ASP.NET环境实现多语言详细介绍
- c#语言asp.net实现treeview控件
- asp.net 2.0 三层架构的实现(最最原始,简单,一般, 但不平凡)用通俗的语言说出难以理解的。。。
- Water for asp.net 之三:让Water的demo漫步在云中(azure)
- 在ASP.Net 2.0中实现多语言界面的方法
- 在ASP.Net 2.0中实现多语言界面的方法
- 实现多语言网站(Asp.Net 2.0)
- Asp.net 使用资源文件实现双语言
- asp.net 网站多国语言的实现
- [翻译]ASP.NET MVC 3 开发的20个秘诀(十三)[20 Recipes for Programming MVC 3]:实现Ajax增强用户体验