在我的 c# 表单中,我有一个数据网格视图,我想在其中输入单词或句子的汉字和假名版本,将它们放在不同的列中。例如:
転寝 | うたたね
寝坊 | ねぼう
我想要实现的是在我提交第一列时自动填充第二列。我知道有包含汉字阅读的字典,但是对于句子来说它变得复杂,而且还有许多汉字有不止一种阅读。我所知道的是 IME 具有这两种信息,因为在打字时我首先使用平假名,然后将其转换为汉字,有没有办法获得用户的原始输入?
在我的 c# 表单中,我有一个数据网格视图,我想在其中输入单词或句子的汉字和假名版本,将它们放在不同的列中。例如:
転寝 | うたたね
寝坊 | ねぼう
我想要实现的是在我提交第一列时自动填充第二列。我知道有包含汉字阅读的字典,但是对于句子来说它变得复杂,而且还有许多汉字有不止一种阅读。我所知道的是 IME 具有这两种信息,因为在打字时我首先使用平假名,然后将其转换为汉字,有没有办法获得用户的原始输入?
不幸的是,我很确定您无法从 IME 获得更多信息。据我了解,它们的设计方式是在用户选择正确的假名/汉字之前不输入任何内容。
我玩了一个 WinForms 应用程序,它连接了任何看起来很有希望但一无所获的事件。输入由操作系统处理,并在做出选择后返回给应用程序。
我建议做你不想做的事情并抓住 JMDict 或类似的东西,并建立一个包含假名的内部数据库。最重要的是,您可以在 .NET 中实现自己的 IME,它接受英文字符输入并充当传统 IME。
或者,您可以将您的应用程序更改为基于 Web 的应用程序,并使用现有的 javascript IME 库,例如这个库,这将允许您在转换之前获取平假名。