CnPack Forum » CnVCL 组件包 » TcnMultilang组件与多窗体翻译问题


2016-4-14 19:55 fred
TcnMultilang组件与多窗体翻译问题

大家好,我在使用cnPack的多语组件时,遇到以下难题,请百忙中帮我看一下,谢谢。
1. 多窗体不能正常翻译界面的问题。试验如下:
   1) 打开第一个窗体,切换到英语状态,通过按钮启动第二个窗体,再在第二个窗体上用激活时钟控件,启动第三个窗体。这时,只有第一个窗体是英语界面,第二、三个都是中文界面(图片1)。
   2) 打开第一个窗体,切换到英语状态,启动第二个窗体,启动不启动第三个窗体都无所谓了,这时回到第一个窗体上选择简体中文,再选回英语,这时后面的窗体都变成英文界面了(图片2)。
   3) 打开第一个窗体,启动第二个窗体,在第一个窗体上选择英语,两个窗体都变成英文了,这时再启动第二个窗体上的时钟控件,第三个窗体打开时,界面是中文((图片3)。

** 是否是语言切换前,所有窗体都必须初始化?在语言切换后创建的窗体都无法被正确翻译?

2. 常量字符串声明成变量好像也不能正确翻译,不知道是不是我用的不对?

3. 字符串常量如果是其他窗体上声明的,怎么处理呢?

[[i] 本帖最后由 fred 于 2016-4-14 19:58 编辑 [/i]]

2016-4-19 16:10 Passion
窗体新建的时候,需要在DoCreate里增加一个根据当前语言进行本窗体翻译的动作,我们一般是把窗体写成一个基类,重载其DoCreate方法,在Inherited之前写一句CnLanguageManager.TranslateForm(Self);

2016-4-21 12:38 fred
回复 #2 Passion 的帖子

谢谢。我试试。

页: [1]


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.