<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    何時,紗窗外,風搖翠竹

    常用鏈接

    統計

    最新評論

    • 1.?re: 慎用AJAX框架
    • AJAX是中國技術領域的紅燈區。。想爽,但又怕潛伏著危險。。。
    • --阿斯頓飛
    • 2.?re: 慎用AJAX框架
    • 評論內容較長,點擊標題查看
    • --夏如嘏
    • 3.?re: 慎用AJAX框架
    • ajax 要懂的原理,同意樓主,框架慎用
    • --驕傲
    • 4.?re: 慎用AJAX框架
    • @讀書、思考、生活
      2、bug滿天飛,那就說明是水平不到家
      您的水平能高到沒有bug?
    • --樓主
    • 5.?re: 慎用AJAX框架
    • 只要你懂xmlhttp,為什么非要用ajax呢,我從2000年開始使用xmlhttp,ajax剛出來的時候看了一眼,冷笑一聲。所以爭論沒有意義,到處都是新瓶裝老酒的故事
    • --挨踢的貨

    Dojo 0.3.1 的國際化支持

    ??? 這兩天花了點時間看 Dojo 0.3.1 的新功能, 發現Dojo果然兌現承諾, 在0.3.1加入了一點國際化支持的功能。最主要的是改動是引進了 dojo.locale 屬性和 dojo.i18n 包, 從而于 javascript 實現了Client端的本地 message bundle 機制,從現在起,我們可以在客戶端根據locale裝載JS消息文件了! 完整的示例代碼如下:

    <script?type="text/javascript">????????????????????????
    ????????djConfig?
    =?{
    ????????????????isDebug:?
    true
    ????????};
    </script>
    <script?type="text/javascript"?src="../../dojo.js"></script>
    <script?type="text/javascript"?src="../_bootstrap.js"></script>
    <script?type="text/javascript">
    ????????dojo.locale?
    =?"fr";
    ????????dojo.requireLocalization(
    "g11n.messages","salutations","en");
    ????????dojo.requireLocalization(
    "g11n.messages","salutations","fr");
    ????????dojo.requireLocalization(
    "g11n.messages","salutations","zh-cn");
    ????????dojo.require(
    'dojo.i18n.common');????????
    </script>

    <script?type="text/javascript">
    ????????function?init()?{
    ????????????????var?salutations_default?
    =?dojo.i18n.getLocalization("g11n.messages",?"salutations");
    ????????????????dojo.debug(
    "default?language:?"+salutations_default.hello);
    ????????????????
    ????????????????var?salutations_zh?
    =?dojo.i18n.getLocalization("g11n.messages",?"salutations",?"zh-cn");
    ????????????????dojo.debug(
    "Chinese:?"+salutations_zh.hello);????????????????
    ????????}
    ????????dojo.addOnLoad(init);
    </script>


    ?? 首先是 dojo.locale 這個屬性,這個屬性是一個全局,作為用戶默認的locale,如果用戶不明確指定,dojo會根據瀏覽器的locale對這個屬性賦值。和Java不同,目前在dojo中locale并沒有對應對象,只是一個String對象,典型的格式應該是 "zh","zh-cn"。注意后者用的是 "-" ,而不是Java中的 "_"。
    ? ?
    ?? 現在來看最讓人心動的 message bundle 機制, 首先分成三步來把message文件組織好:

    ??????? 1) 要建立一個集中存放message文件的目錄,我建的是 g11n\messages;

    ??????? 2) 和在java中一樣,為不同的locale建立存放message文件的文件夾,比如我建的是"en","fr","zh-cn"; 這里要注意文件夾的名稱必須要全部小寫,原因是dojo從文件裝載消息會把傳入的locale屬性進行 toLowerCase() 的處理(暈,不知道作者怎么想的)。

    ??????? 3) 把翻譯完并用native2ascii轉換好的消息文件放入對應的文件夾內。和Java不同的是,dojo用 JSON 格式來組織message文件,所以要把property文件轉換到JSON格式的js文件, 不過這也很容易: 在文件開始的位置加入一個"{", 結尾的地方加入"}", 將所有的 "=" 替換成 ":" , 然后在每一行結尾處加入一個"," ,最后把文件改成js結尾便可以了。一個典型的JSON格式的文件如下(假設文件名叫 salutations.js ) :


    {
    ?hello:?
    "Hello",
    ?dojo:?
    "Dojo",
    ?hello_dojo:?
    "%{hello},?%{dojo}!",
    ?file_not_found:
    "The?file?you?requested,?%{0},?is?not?found."
    }

    ?
    ?? 把消息文件放好后,便可以在 dojo 中通過 dojo.requireLocalization() 調用這些文件了,對應的代碼是:

    ??????
    //下載需要的locale的消息文件到客戶端
    dojo.requireLocalization("g11n.messages","salutations","en");
    dojo.requireLocalization(
    "g11n.messages","salutations","fr");
    dojo.requireLocalization(
    "g11n.messages","salutations","zh-cn");
    //調用國際化包
    dojo.require('dojo.i18n.common');??

    ?
    ?? 現在就可以調用指定locale的 message 了!在示例代碼中我舉了兩個簡單的例子:

    ???
    //調用?dojo.locale?指定的locale中對應的消息文件中?hello?那條消息
    ????var?salutations_default?=?dojo.i18n.getLocalization("g11n.messages",?"salutations");
    ????dojo.debug(
    "default?language:?"?+?salutations_default.hello);

    ????
    //調用"zh-cn"中?hello?那條消息
    ????var?salutations_zh?=?dojo.i18n.getLocalization("g11n.messages",?"salutations",?"zh-cn");
    ????dojo.debug(
    "Chinese:?"+salutations_zh.hello);?


    ?? 怎么樣,非常簡單吧?

    ??? 除了message bundle, dojo 還聲明要支持其他的一些國際化功能,比如Date,Number,Currency等等,在0.3.1中我只發現Date有一定的實現,但是基本就是對 Javascript Date 對象的幾個locale相關的方法進行了一下封裝,沒有多少實質性的提高,看來dojo在國際化的支持方面還有很長的路要走。無論如何0.3.1中提供的message bundle已經有了一個良好的開端,值得期待。

    posted on 2006-09-19 11:19 weidy 閱讀(1675) 評論(1)  編輯  收藏 所屬分類: WEB & AJAX

    評論

    # re: Dojo 0.3.1 的國際化支持 2006-09-21 16:23 123bingbing

    這里是全新的競爭方式,讓你在無數的程序員中脫穎而出!www.mylinux.com  回復  更多評論   

    主站蜘蛛池模板: 性xxxx视频播放免费| 久久精品国产亚洲AV麻豆~| 免费人成视频在线观看免费| 国产啪亚洲国产精品无码 | 亚洲av乱码一区二区三区按摩| 中文字幕亚洲激情| 亚洲一级毛片免费观看| 亚洲av乱码一区二区三区按摩 | 亚洲国产精品毛片av不卡在线 | 亚洲日韩精品A∨片无码加勒比| 免费一级特黄特色大片在线| 免费在线看污视频| 在线播放亚洲精品| 久久久亚洲欧洲日产国码二区| 国产一区二区三区无码免费| 19禁啪啪无遮挡免费网站| 特级毛片爽www免费版| 亚洲国产精品午夜电影| 三上悠亚亚洲一区高清| 免费可以在线看A∨网站| 东方aⅴ免费观看久久av| 噜噜噜亚洲色成人网站| 亚洲美女大bbbbbbbbb| 亚洲日韩中文字幕日韩在线| 无码专区永久免费AV网站| 国产一二三四区乱码免费 | 台湾一级毛片永久免费 | 亚洲AV成人潮喷综合网| 1000部拍拍拍18勿入免费凤凰福利 | 国产免费牲交视频| 猫咪免费人成网站在线观看| 一级一级毛片免费播放| 337P日本欧洲亚洲大胆艺术图 | 人人爽人人爽人人片A免费 | 亚洲免费一级视频| 国产视频精品免费视频| 免费国产草莓视频在线观看黄| 亚洲精品伊人久久久久| 久久精品国产亚洲av影院| 亚洲午夜久久久影院| 亚洲精品国产高清嫩草影院|