zoukankan      html  css  js  c++  java
  • 用数据库表来实现多语言

        要实现多语言,大多数人是使用properties文件来的,比如struts,每种语言建一属性文件,
    命名一般是message.zh_cn.properties,message.en_us.properties,但这有三个我讨厌的点在:
    1):如果语言很多,我查找key很麻烦
    2):如果语言修改了,需要重启服务。
    3):不能在软件界面上修改
        当然,上面三点还是可以通过编程来实现的,但做起来没有用数据库来的熟悉和方便,改用
    数据库来实现多语言,首先要设计数据库表,我建议是采用主明细,
    主表langs字段为:编号(code)|名称(name)
    明细表langsdtl字段为:编号(code)|关键字(messagekey)|值(value)
    其中code为关联字段.
        1):首先开发一个模块,多语言管理,将系统中的涉及到语言信息通过界面填入到表中
        2):仿struts写一个资源管理器,作用是加载语言信息到缓存,可以是预加载,也可以是象
    struts一样,第一次用到某个语言的时候,加载该语言。这里唯一有个注意点,messageKey的取
    值,messageKey=code+"."+messagekey(其中code,messagekey都是langsdt表中l的值)
        3):登录的时候,加一个语言的下拉框,登记该用户要用什么语言显示系统.登记的值放入
    session中.
        4):仿struts写一个语言的taglib,通过用户登记的语言+界面传过来的messagekey取到真正
    要对应的语言。
        整个的做法都是参考struts的,不难,关键要懂原理.比如资源管理器和taglib可以通过看看struts

    源码就清楚了,struts是读文件,现在改为读数据库而已。  

    本博客均为原创,转载请注明出处.
  • 相关阅读:
    ListView 操作
    Delphi 浏览器WebBrowser
    XE6 c++builder Edit垂直居中
    HTML 表格标签
    HTML 标签说明
    Ubuntu下如何解压缩zip,tar,tar.gz,tar.bz2文件
    Ubuntu 12.04下mysql的安装与配置
    Ubuntu12.04下apache服务器的安装也配置
    Ubuntu12.04下tomcat的安装与配置
    Ubuntu 12.04下jdk的安装与配置
  • 原文地址:https://www.cnblogs.com/mzhanker/p/2086243.html
Copyright © 2011-2022 走看看