in C#中的语言

aar*_*rti 9 c#

我正在使用C#创建一个"Gujarati To English Dictionary"应用程序.

我想要的是,如果用户从键盘"તાજમહાલ"键入"tajmhal"将同时显示在TEXTBOX中.

即.如果显示"koml","કોમલ".等等...

我已经下载并将文本框的字体设置为"Gujarati Saral-1"并且它可以正常工作.

但是当我将文本框的文本存储到数据库时,它存储为"tajmhal"而不是"તાજમહાલ".

所以,你能告诉我另一个解决方案吗?

Kir*_*rst 6

如果用户tajmhal从键盘输入,那么它将保存在数据库中.您可以使用您喜欢的任何字体显示它 - 一个漂亮的印度字体,花哨的书法字体,漫画sans,条形码,wingdings - 但它仍然是tajmhal.

您需要将一个或多个单词从一种语言翻译成另一种语言.这不是字体问题,需要从一个映射到另一个.字符将具有不同的unicode值 - 您可以尝试逐个字符地映射它们,但除非两种语言具有相同数量的字母并且它们直接从一个字母映射到另一个字母,否则这不太可能有效.所以你需要翻译.

另一个答案建议使用谷歌.您正在编写桌面应用程序,但仍可以与Google技术集成; 如果网络已关闭,则您不进行翻译,稍后再试.

问题:如果文本显示为您想要的,那么为什么需要翻译它?您显然使用的是英文键盘 - 为什么不将文本存储为英文字符?


dev*_*vio 6

从我看到这个字体信息页面后我称之为告诉这个字体不是Unicode字体,而是显示拉丁语代码点作为古吉拉特语字形.

为了使您的想法有效,您需要使用符合古吉拉特语的Unicode字体,并将每个拉丁字符替换为其等效字符.有关古吉拉特语的代码点,请参阅此表.


Ros*_*ews 2

Google 有一个音译 api(不幸的是已弃用),它可能会解决您的问题。如果您需要,您可能还想购买Quillpad等其他服务。这些将允许您输入一个脚本并在另一个脚本中获得对应的语音 - 音译。将数据存储在数据库中后,您应该能够再次显示它,除非您错误地将英文字符串存储在那里。

  • 无论它是基于 Web 的应用程序还是桌面应用程序,您都需要与音译引擎交互,或者将其构建到您的应用程序中。 (2认同)