CnPack Forum


 
Subject: TcnMultilang组件与多窗体翻译问题
fred
新警察
Rank: 1



UID 305730
Digest Posts 0
Credits 10
Posts 2
点点分 10
Reading Access 10
Registered 2016-4-9
Status Offline
Post at 2016-4-14 19:55  Profile | Blog | P.M. 
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)



Image Attachment: [图片2] 20160414115249.jpg (2016-4-14 19:55, 47.72 K)



Image Attachment: [图片3] 20160414115821.jpg (2016-4-14 19:55, 44.89 K)



Attachment: [test project] Projects.zip (2016-4-14 19:55, 88.57 K)
Download count 389
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6750
Posts 3551
点点分 6750
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2016-4-19 16:10  Profile | Blog | P.M. 
窗体新建的时候,需要在DoCreate里增加一个根据当前语言进行本窗体翻译的动作,我们一般是把窗体写成一个基类,重载其DoCreate方法,在Inherited之前写一句CnLanguageManager.TranslateForm(Self);
Top
fred
新警察
Rank: 1



UID 305730
Digest Posts 0
Credits 10
Posts 2
点点分 10
Reading Access 10
Registered 2016-4-9
Status Offline
Post at 2016-4-21 12:38  Profile | Blog | P.M. 
回复 #2 Passion 的帖子

谢谢。我试试。
Top
 




All times are GMT++8, the time now is 2024-3-28 19:35

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
Processed in 0.007931 second(s), 8 queries , Gzip enabled

Clear Cookies - Contact Us - CnPack Website - Archiver - WAP