Foxtable(狐表)用户栏目专家坐堂 → 如何开发中英文版程序


  共有13931人关注过本帖树形打印复制链接

主题:如何开发中英文版程序

帅哥哟,离线,有人找我吗?
dm168
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:111 积分:1083 威望:0 精华:0 注册:2012/9/14 17:23:00
  发帖心情 Post By:2012/10/24 21:22:00 [只看该作者]

总算成功了,感谢“程兴刚“老大,你的代码是对的!帅哥哟,离线,有人找我吗?

帅哥哟,离线,有人找我吗?
[此贴子已经被作者于2012-10-24 21:21:49编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
dm168
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:111 积分:1083 威望:0 精华:0 注册:2012/9/14 17:23:00
  发帖心情 Post By:2012/10/24 21:30:00 [只看该作者]

接下来菜单和窗口的双语对译代码要怎么搞呢?
[此贴子已经被作者于2012-10-24 21:30:48编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  23楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40556 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/10/25 0:01:00 [只看该作者]

给您包含窗口的(忘记了窗口标题的对译,你自己加上),同时解决了目录树节点的对译,菜单有时间了再告诉您:

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目6.rar


 回到顶部
帅哥哟,离线,有人找我吗?
dm168
  24楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:111 积分:1083 威望:0 精华:0 注册:2012/9/14 17:23:00
  发帖心情 Post By:2012/10/25 18:07:00 [只看该作者]

感谢谢老大的帮助,今天研究了一下,发现有点问题
语言对照表 字符串不能有空格,否则无法翻译
比如
                   cn           en
                 第一列     good girl   这里有空格,好像会取列名做标题,所以第一次成功翻译后,就不能反译过来
如果是
                 第二列     GoodGirl   这样就能对译

 Dim dr As DataRow = DataTables("Language").find("[English] = '" & cl.name.split("-")(0) 
对译时好像跟跟列名有关[English] 如果表的列名是中文,第一次能翻译成功,之后就不能反译过来(就算标题是英文也没用)要表的列名是英文才能对译,就是说条件语句里的列要跟表的列名的语种一至。才能对译成功
[此贴子已经被作者于2012-10-25 18:11:05编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  25楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40556 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/10/25 18:21:00 [只看该作者]

您自己的问题,既然是对译,设计表结构时列名称该加空格的时候就必须加上,也就是列名称必须与中文或英文之一对应,否则写代码就不是那么通用了,要增加很多代码才能实现。


 回到顶部
帅哥哟,离线,有人找我吗?
dm168
  26楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:111 积分:1083 威望:0 精华:0 注册:2012/9/14 17:23:00
  发帖心情 Post By:2012/10/25 19:11:00 [只看该作者]

问题是列名称是不可以有空格的 标题可以有空格,但是在对译的时候行里有空格的却不能成功。

[此贴子已经被作者于2012-10-25 19:15:05编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
dm168
  27楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:111 积分:1083 威望:0 精华:0 注册:2012/9/14 17:23:00
  发帖心情 Post By:2012/10/25 21:24:00 [只看该作者]

问题 解决了,如果列名是 中文  标题也要用中文    如果列名是英文 标题也要用英文,就不会有上面的问题!

Dim dr As DataRow = DataTables("表B").find("[cn] = '" & cl.name & "'")
改成
Dim dr As DataRow = DataTables("表B").find("[cn] = '" & cl.Caption & "'")

上面的代码好像找的是列名 下面的代码找的是标题名,因为老大帮我写的时候可能没有设标题所以要用列名才能通过

-------------------------------------------------------------------------------------------------------

下面这个黄色的地方分隔符,不明白这个做什么用的

                Dim dr As DataRow = DataTables("表B").find("[en] = '" & cl.caption.split("_")(0) & "'")
[此贴子已经被作者于2012-10-25 22:20:51编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
dm168
  28楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:111 积分:1083 威望:0 精华:0 注册:2012/9/14 17:23:00
  发帖心情 Post By:2012/10/26 17:34:00 [只看该作者]

老大窗口我总是翻译不成功,有时间再帮我看一下吧!!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:th.rar
有个地方我很不明白
For Each c As Winform.Control In Forms(Vars("当前窗口名称")).Controls
If Typeof c Is WinForm.TreeView Then
Dim trv As WinForm.TreeView = Forms(Vars("当前窗口名称")).Controls(c.name)
For Each nd As WinForm.TreeNode In trv.AllNodes
Dim dr As DataRow = DataTables("表B").find("[en] = '" & nd.name & "'")
If dr IsNot Nothing
nd.text = dr(getConfigValue("语言类别", "cn"))
End If
Next
Else
Dim dr As DataRow = DataTables("表B").find("[en] = '" & c.name.split("_")(0) & "'")
If dr IsNot Nothing
Forms(Vars("当前窗口名称")).Controls(c.name).text = dr(getConfigValue("语言类别", "cn"))
End If
End If
Next

筛选用的是控件的名不是标题 ,可是在对照表中并没有出现控件名就连标题在对照表中也没出现,可是就是能成功翻译,
不明白find("[en] = '" & c.name.split("_")(0) & "'")怎么会成立
列如你给我的文件中有一个
按钮名Button_1  标题 BUTTON1 [en] 怎么会= 
按钮名Button_1 
   cn                                            en
第一列 english1
第二列 english2
第三列 english3
英文 english
中文 Chinese
全部节点 fullnodes
标签 label
按钮 Button
复选框 CheckBox
单选框 RadioButton
[此贴子已经被作者于2012-10-26 17:42:21编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  29楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40556 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/10/26 18:52:00 [只看该作者]

控件只能用neme属性,因为有的控件没有text属性,遍历时应用text就会报错,表用标题是可以,但在设计时的初始标题必须符合中文或英文之一的任何规则,否则第一次对译时会查找找不到行,因为找不到条件值!


 回到顶部
帅哥哟,离线,有人找我吗?
dm168
  30楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:111 积分:1083 威望:0 精华:0 注册:2012/9/14 17:23:00
  发帖心情 Post By:2012/10/26 20:43:00 [只看该作者]

如果改的是控件名,那如果控件被 引用后又被改名,是不是会出错啊?会有这种可能吗?

 回到顶部
总数 45 上一页 1 2 3 4 5 下一页