zoukankan      html  css  js  c++  java
  • asp的多国语言构思

    多语言的版本,是个蛮头疼的问题~这个问题已经说过蛮多次了,原理简单,编码麻烦^_^

    简->繁的转换是比较容易的事情,但多国化的问题一般的方法如下
    语言包肯定要有,数据库的内容肯定也要有几份,
    语言包可以用xml,编码用utf-8,当然也可以动态的包含inc文件,但是逻辑上没有xml清淅

    本地化时间,货币等,可以用vbs里提供的一个函数SetLocale(lcid)

    获取http的头部得到browser的语言,从而调用不同的语言包。

    这里示例的是用xml做为语言包
    其实还是蛮简单的,但是实际编码里会有很多节点,这里只是提供一个思路,示例代码如下

    <?xml version="1.0" encoding="utf-8" ?>
    <lang>
    <ch>
       <username>用户名</username>
       <password>密码</password>
       <btnSubmit>提交</btnSubmit>
       <btnReset>重置</btnReset>
    </ch>
    <en>
       <username>username</username>
       <password>password</password>
       <btnSubmit>submit</btnSubmit>
       <btnReset>reset</btnReset>
    </en>
    </lang>

    -----------------------------
    test.asp
    -----------------------------
    <%
    function lang(langType,nodeName)
    set xmlDoc=Server.CreateObject("microsoft.xmldom")
    xmlDoc.load(server.mappath("lang.xml"))
    lang=xmlDoc.documentElement.selectSingleNode("//" & langType & "/" & nodeName).text
    end function
    if request("lang")="ch" then langType="ch" else langType="en"
    %>
    <a href='javascript:location.href="?lang=<%if _fcksavedurl=""?lang=<%if" langType="ch" then response.Write "en" else response.Write "ch"%>"'>切换语言</a>
    <table width="50%" border="0" cellspacing="0" cellpadding="0" align='center'>
    <tr>
        <td><%=lang(langType,"username")%></td>
        <td><input type="text" name="textfield" /></td>
    </tr>
    <tr>
        <td><%=lang(langType,"password")%></td>
        <td><input type="text" name="textfield" /></td>
    </tr>
    <tr align="center" valign="middle">
        <td><input type="submit" name="Submit" value="<%=lang(langType,"btnSubmit")%>" /></td>
        <td><input type="reset" name="Submit" value="<%=lang(langType,"btnReset")%>" /></td>
    </tr>
    </table>

    实际编码中,会多出比较多的编码,第一是为了程序的分健壮,第二是更好的重用代码,程序代码就会多出比较多了,上面只是给出一个示例。

  • 相关阅读:
    实验二 结对编程 阶段二
    实验一 git代码版本管理
    hadoop启动后,9000端口无法连接,netstat -tpnl中找不到该端口
    HDFS ha 格式化报错:a shared edits dir must not be specified if HA is not enabled.
    为什么zookeeper的节点配置的个数必须是奇数个
    使用root配置的hadoop并启动会出现报错
    安装OpenCV 3 on Raspbian Jessie
    基于树莓派的专用摄像头实时监控
    第九章 构造数据类型实验
    第八章 指针实验
  • 原文地址:https://www.cnblogs.com/see7di/p/2240009.html
Copyright © 2011-2022 走看看