Compiere

03-11-07 ppqq
国内能找到讨论compiere可不太多。

我现在刚开始看一些它的源代码,遇到一个问题,就是多语言的问题。

比如对于product,我定义了M_Product_ID为searc型,我现在需要在中文界面下显示M_Product_trl中的name.

我看了DataEngine.java这个文件,发现对于tableDir或者search类型的字段,如果没有定义reference,则走这条路径251行

if (IsParent || AD_Reference_ID == DisplayType.TableDir || (AD_Reference_ID == DisplayType.Search && AD_Reference_Value_ID == 0),然后调用MLookupFactory.getLookup_TableDirEmbed,如果定义了reference,则277行,f (AD_Reference_ID == DisplayType.Table

|| (AD_Reference_ID == DisplayType.Search && AD_Reference_Value_ID != 0)就老老实实的查reference。根本没有多语言的功能。

那位大虾看得比我透彻的,指点一下。

ppqq
2003-11-07 14:01
还有,在client里,有个多语言文档的开关,不知道在那里起作用?

顺便在问个问题,compiere有3中登陆界面,第3种(swing一种,http://localhost/compiere一种)怎么进?

kehuagao
2003-11-13 10:27
compiere的多语言支持不是用的Java的多语言支持(可能登录界面是的,登录以后的界面不是的)。它是通过相应的数据库中的AD表实现的。

ppqq
2003-11-13 14:20
我知道所有的translation都是放在相应的表 *_Trl里的,是从m_product选数据,还是m_product_Trl选,这句sql可是java拼出来的,不是吗?

谢谢楼上的大哥.

还在一点一点看源码。

猜你喜欢