zoukankan      html  css  js  c++  java
  • 如何汉化 OpenERP 6.1 日历视图

    OpenERP 6.1 出来有个把月的时间了,感谢 OpenERP 中文社区的努力,目前 OpenERP 的各个模块中基本上没有了英文。

    但是 OpenERP 6.1 的日历视图是一个 DHTMLX 公司出品的前端 Javascript 控件,跟后端的 Python 业务模块的翻译机制完全不同,所以到目前为止,在任何语言设置的 OpenERP 中都仍然保持着英文。虽然只是简单的 “Monday”和“April”之类的单词,但还是对整个 OpenERP 系统在国内的实施造成了一定的阻碍。

    image

    为了解决这一难题,通过 grep 的帮助,我在 OpenERP 的 dhtmlscheduler 控件的目录中找到了 locale_cn.js 的中文消息文件。通过这个文件我们可以知道,dhtmlscheduler 控件是支持多国语言字符串的。根据使用 jQuery UI 库的经验,造成日历视图没有本地化的原因很可能是 OpenERP 没有在其 HTML 页面中引入 locale_cn.js。所以,现在的问题就变成了找到 OpenERP 生成 HTML 页面的模板,然后加入对 locale_cn.js 脚本的引用。

    根据上面的思路,通过 grep 我发现 OpenERP 6.1 的 Web 模块并没有使用传统的模板中引入 js 和 CSS 的模式,而是通过 __openerp__.py 文件的配置指定该模块所用到的 CSS、JS 等。

    到这了,解决我们的问题就很简单了,直接用编辑器打开 openerp/addons/web_calendar/__openerp__.py,在系统原有的 'static/src/js/calendar.js' 行上方插入:'static/lib/dhtmlxScheduler/sources/locale_cn.js'。整个 __openerp__.py 文件如下所示:

    {
        "name": "web calendar",
        "category": "Hidden",
        "description":
            """
            OpenERP Web calendar view.
            """,
        "version": "2.0",
        "depends": ['web'],
        "js": [
            'static/lib/dhtmlxScheduler/codebase/dhtmlxscheduler_debug.js',
            'static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_minical.js',
            'static/lib/dhtmlxScheduler/sources/locale_cn.js',
            'static/src/js/calendar.js',
        ],
        "css": [
                'static/lib/dhtmlxScheduler/codebase/ext/dhtmlxscheduler_ext.css',
                'static/src/css/web_calendar.css'
                ],
        'qweb' : [
            "static/src/xml/*.xml",
        ],
        'active': True
    }

    翻译以后的日历视图界面:

    image

    需要注意的是修改了 __openerp__.py 后需要重新启动 OpenERP Server,还需要清空浏览器缓存,否则会遇到 Javascript 错误。

    Have Fun!

  • 相关阅读:
    朗志轻量级项目管理解决方案-RBAC角色权限模块介绍
    关于业务规则层、业务实体层、业务外观层、模型层的作用很不清楚,殷切期望解答
    已有类实例,现在想拥有另一个相同状态的实例,除了反序列化还有别的办法吗?
    签名工具
    请教一个winform程序设计上的问题
    在使用WeifenLuo Suite时遇到的问题,自己记录一下,备忘
    解读C#正则表达式
    [导入]jbuilder 2006开发struts+sqlserver2K准备工作
    如何用设计模式变相实现类的多继承?
    WriteXmlSchema(xsdFileName)和GetXmlSchema()输出的内容的差异
  • 原文地址:https://www.cnblogs.com/oldrev/p/2415404.html
Copyright © 2011-2022 走看看