posts - 431,  comments - 344,  trackbacks - 0

          之前寫過一篇文章講解如何修改django自帶后臺管理頁面里的app名稱的顯示,本來django原本就是對app的名稱進行國際化操作了,比如在模板中使用:
          {% blocktrans with app.name as name %}{{ name }}{% endblocktrans %}
          來顯示app的名字,但由于blocktrans 存在bug,所以不能翻譯app的名字,本人在前文中已經講解兩種解決辦法,要么使用:
          {% trans app.name %}
          要么就使用filter來處理。
          今天由于空閑,就查看跟蹤了一下blocktrans 部分的源碼,發現根本就沒用對with后面的參數進行翻譯,打開PythonHome\Python25\Lib\site-packages\django\templatetags中的i18n.py到第85行代碼為:
          data = dict([(v, force_unicode(context[v])) for v in vars])
          解決法辦,把源碼修改為:
          data = dict([(v, translation.ugettext(force_unicode(context[v]))) for v in vars])
          這樣問題就解決了!
          使用版本為1.0.2,不知道1.1里面有沒有解決。

          posted on 2009-04-17 16:00 周銳 閱讀(1195) 評論(1)  編輯  收藏 所屬分類: Python
          主站蜘蛛池模板: 平潭县| 会同县| 湘乡市| 特克斯县| 蒙阴县| 砀山县| 新蔡县| 内丘县| 渑池县| 白河县| 花垣县| 尖扎县| 舒城县| 班戈县| 芷江| 铜山县| 南溪县| 镇康县| 澄江县| 长葛市| 许昌市| 饶河县| 邳州市| 灵丘县| 静乐县| 内丘县| 比如县| 囊谦县| 鹤庆县| 丹江口市| 苏州市| 永善县| 阿鲁科尔沁旗| 宜州市| 定远县| 八宿县| 方山县| 长沙县| 大足县| 昌黎县| 福建省|