OE6.0.2 Web client 中文生效方法
-
将文件解压缩,替换web 安装目录中的 library.zip 中的 \openobject\i18n_gettext.pyo ,就可以了.
此文件在源代码中位置: openerp-web-6.0.2\openobject\i18n_gettext.py
问题在文件的此函数中:
def get_translations(locale, domain=None):
domain = domain or "messages"
domain_catalog = _translations.setdefault(domain, {})
[color=green] if locale=='zh_CN' and 'zh_CN' in domain_catalog :
return domain_catalog['zh_CN'][/color]
if locale in domain_catalog: ## locale 是'zh_CN', 但这个判断语句却不起作用,还请高人能给解释解释。
return domain_catalog[locale]
return domain_catalog[locale.language] -
[quote author=mrshelly link=topic=2429.msg8086#msg8086 date=1307408028]
是因为 locale变量是个对象. 而 这个 if 语句 的 locale 期望 一个 'zh_CN' 的串.
所以这里最好的解决办法是
if str(locale) in domain_catalog:
return domain_catalog[str(locale)]
这个BUG 我已经提给官方了. 不过 他们能不能看懂我的描述 在下一个版本中 能不能修正. 就等等看了...
[/quote]
这是个问题会导致什么现象?