yty 发表于 2017-9-1 16:37:11

使用 ResourceKit 翻译并编译dll后UI没有效果

问题描述:使用ResourceKit进行汉化,翻译resx内容为中文后正确生成了资源dll(教程所称satellite dll),并按照教程的要求放置在了对应的目录。目录结构如下:
MyProject
│   TXTextControl.dll
│   TXTextControl.Windows.Forms.dll
│   TXTextControl.Windows.Forms.xml
│   TXTextControl.xml
│   Form1.exe
│   Form1.exe.config
│   Form1.pdb

└───zh
      txdocumentserver.resources.dll
      txdrawing.resources.dll
      txtextcontrol.resources.dll

在我的开发机器上,运行程序,能正常显示汉化效果。但是将此目录原封不动地拷贝到他人电脑上,有些能正常显示,有些不能,显示的是英文。
问题1. 如何使这些"satellite dlls"正常工作,显示我的汉化结果?既然文件一样,结果不同,那么是要配置运行环境的哪些参数?
问题2. 存在多个语言dll的情况下(例如我每次编译时自动会生成德语版本的de文件夹),程序使用哪一个是按照什么规则确定?
问题3. 存放语言dll文件夹的应该如何命名?例如我翻译的是简体中文,命名为“zh”是否正确?应该参照什么标准?
问题4. 存放语言dll的文件夹名称与操作系统用户语言有何关系?由于程序是不可能知道我翻译修改resx文件是想翻译成哪种语言的,所以合理猜测TextControl会检测环境语言再去寻找对应文件夹?总之,我应该如何配置(目录结构、文件命名、环境变量等)才能保证这些dll在用户电脑上正常工作?

Richard.Ma 发表于 2017-9-2 15:56:12

您好,这个需要在注册中添加信息即可


具体请参考以下链接
http://www.textcontrol.com/en_US/support/documentation/dotnet/n_techarticle_resourcekit.htm
http://www.textcontrol.com/en_US/support/documentation/dotnet/n_techarticle_resourcekit.installing.htm

hdffzxf 发表于 2017-9-5 17:08:45

本帖最后由 hdffzxf 于 2017-9-5 17:11 编辑

经测试,注册表添加信息也不能解决汉化的问题。因为有的机器即使未添加注册表,亦可以显示汉化界面;而有的机器即使添加注册表也不能显示汉化界面,看来关键并不在注册表方面。待求解决方法!

Richard.Ma 发表于 2017-9-5 17:27:02

hdffzxf 发表于 2017-9-5 17:08
经测试,注册表添加信息也不能解决汉化的问题。因为有的机器即使未添加注册表,亦可以显示汉化界面;而有的 ...

64位和32位需要在注册表不同的位置添加

64位


32位

yty 发表于 2017-9-5 17:42:19

Richard.Ma 发表于 2017-9-5 17:27
64位和32位需要在注册表不同的位置添加

64位


此方法测试成功,本问题可标记为已解决。

Richard.Ma 发表于 2017-9-5 18:11:47

好的
页: [1]
查看完整版本: 使用 ResourceKit 翻译并编译dll后UI没有效果