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
          主站蜘蛛池模板: 平江县| 宝清县| 磴口县| 抚宁县| 清新县| 乌拉特后旗| 共和县| 巴彦淖尔市| 邯郸市| 内黄县| 隆尧县| 芦溪县| 陆河县| 江孜县| 元氏县| 天峨县| 香格里拉县| 天祝| 绥化市| 商南县| 班戈县| 织金县| 海城市| 河北区| 尖扎县| 渭源县| 大足县| 伽师县| 什邡市| 牡丹江市| 高阳县| 喜德县| 麦盖提县| 三门县| 广元市| 临江市| 洪湖市| 张掖市| 手机| 西华县| 蓝田县|