【发布时间】:2011-02-16 04:04:58
【问题描述】:
我正在尝试构建一个翻译助手,它可以读取其他已编译的 C# 应用程序 (.exe),并显示来自 EXE 的表单,单独显示,旁边还有一个带有英文列的表格,它将显示显示的当前英语单词,以及翻译人员可以输入的值的另一列。完成翻译后,翻译人员可以将翻译导出为 resx 文件,以添加到项目中,也可以作为 Excel 文件进行记录。
我是 C# 新手,因此我不确定我的结构是否正确,我设计的方式是在编译器期间将 dll 插入到 .exe 中,然后使用此 dll,翻译应用程序可以提取字符串。这适用于大多数字符串,但它会卡在有多个字符串可以在不同时间出现在同一个文本框中[例如断开,连接等]。我已经尝试到处搜索,但我无法找到有关如何从应用程序中提取所有字符串并能够识别它们属于哪种形式的信息,以便创建我的应用程序?
我面临的另一个问题是,实际上显示翻译后的字符串,如果我正在构建的应用程序可以显示翻译后的字符串的外观示例,那么它将会受益匪浅,因为某些语言的翻译可能会过长。但我发现我只能阅读已编译应用程序的各个方面并创建一个实例,但无法翻译它。
我正在使用 Reflection 阅读 exe,并且从网上了解到我需要使用反射.emit 来修改表单。但我发现从表单中识别的每一个字符串都被提取为一个实例,因此更改字符串只是更改字符串的实例,而不是表单本身的实例。因此我无法正确显示。
我已经尝试了 3 周来解决最后两个问题,在此先感谢您帮助我解决这个问题。
【问题讨论】:
-
为什么不直接创建资源程序集?
-
我实际做的app是传给翻译的,其他语言我不熟悉,一直找朋友帮我翻译,她不熟悉编程,有时我我越来越抱怨翻译与单词的含义不同。因此需要上下文,这就是应用程序的原因。所以她可以直观地翻译这些字符串。
标签: c# reflection translation translation-scheme