• 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>

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

  • 相关阅读:
    swift锁屏播放,音乐进度更新,专辑,歌手名显示
    swift Dictionary 字典
    Swift中的集合类型
    Swift String 一些常用方法
    Swift自定义Class实现Hashable
    二元最近的共同祖先问题(O(n) time 而且,只有一次遍历,O(1) Space (它不考虑函数调用栈空间))
    BZOJ1579 USACO 2009 Feb Gold 3.Revamping Trails Solution
    [DEEP LEARNING An MIT Press book in preparation]Linear algebra
    POJ--2391--Ombrophobic Bovines【分割点+Floyd+Dinic优化+二分法答案】最大网络流量
    c#-RTF文本编辑器
  • 原文地址:https://www.cnblogs.com/see7di/p/2240009.html
Copyright © 2020-2023  润新知