Board logo

Subject: TcnMultilang组件与多窗体翻译问题 [Print This Page]

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

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

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

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

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

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

Image Attachment: [图片1] 20160414114654.jpg (2016-4-14 19:55, 43.09 K) / Download count 453
http://bbs.cnpack.org/attachment.php?aid=1043



Image Attachment: [图片2] 20160414115249.jpg (2016-4-14 19:55, 47.72 K) / Download count 469
http://bbs.cnpack.org/attachment.php?aid=1044



Image Attachment: [图片3] 20160414115821.jpg (2016-4-14 19:55, 44.89 K) / Download count 470
http://bbs.cnpack.org/attachment.php?aid=1045



Attachment: [test project] Projects.zip (2016-4-14 19:55, 88.57 K) / Download count 478
http://bbs.cnpack.org/attachment.php?aid=1046
Author: Passion    Time: 2016-4-19 16:10

窗体新建的时候,需要在DoCreate里增加一个根据当前语言进行本窗体翻译的动作,我们一般是把窗体写成一个基类,重载其DoCreate方法,在Inherited之前写一句CnLanguageManager.TranslateForm(Self);
Author: fred    Time: 2016-4-21 12:38     Subject: 回复 #2 Passion 的帖子

谢谢。我试试。




Welcome to CnPack Forum (http://bbs.cnpack.org/) Powered by Discuz! 5.0.0