将语言字符转换为拉丁字母

时间:2013-05-04 07:05:46

标签: c# winforms unicode

我尝试编写应用程序以学习外来字符。如果你想学习日语,那么你必须记住所有平假名,片假名和汉字字母。 (例如あ,い,か... =平假名カ,サ,ケ...... =片假名本,学... =汉字)。

实施例: 有些用户正在尝试学习日语。所以他必须学习: か= ka
本= hon,意思是:基础/书/本

他还必须学习发音。

我的第一个问题是,是否有任何库或其他东西可以在.net中轻松完成?我也查看了Microsoft IME,但我无法真正了解如何在我的项目中使用它。

我还查看了Unicode数据库,它基本上可以实现。我还设法编写了一个项目,将か转换为ka。唯一缺少的是意义(例如本=基础/书/本),它们也由Unicode数据库提供。遗憾的是,在我从中获取UCD数据的.XML文件中找不到它们。 当我在UCD-Website上输入单词时,它可以正常工作。

另一种方法是使用CLDR-Library,它似乎也与UCD有关。遗憾的是我无法弄清楚我应该使用哪两个(UCD或CLDR)。 CLDR:http://cldr.unicode.org/

我的问题是UCD是否是最好的方法,如果我也可以使用CLDR。

我真的不想使用普通列表,我只需输入所有字符。这需要花费太多时间,特别是对于所有汉字字母(超过10,000个)。

由于

编辑:我解决了它,我从Unicode字符数据库(UCD)中提取信息。您可以在.XML文件中下载整个数据库。我只需要学习如何处理它并找到正确的属性。

2 个答案:

答案 0 :(得分:2)

Google和Microsoft都提供了您可以调用以翻译文本的API。 例如http://www.microsoft.com/en-us/translator/translatorapi.aspx

根据您选择的服务类型,可能需要支付少量费用。 他们还为翻译提供声音。 无需重新发明这个轮子。 : - )

如果这是CodePage类型的问题。 这个博客是一个有趣的开始 http://www.joelonsoftware.com/articles/Unicode.html

编辑:回应关于选项的评论。 Google可以提供多种可能的翻译

例如本身

enter image description here

答案 1 :(得分:1)

您正在寻找的是音译API或库 嗯,实际上,你想要的是一个罗马化库,它不太相同,但你最好忘记我说的,你很快就会发现,我不想打破你的白日梦。

您可能希望查看此https://bitbucket.org/Dimps/unidecodesharpfork
或此http://unidecode.codeplex.com/
或此http://transliterator.codeplex.com/

我使用unidecodesharpfork来音译俄语,并且它有点令人不满意,因为它只是音译每个字符,根据ISO标准它没有正确地罗马化。

不幸的是,“音译”(你真正需要的是罗马化,所以通过音译我/你的意思是罗马化)并不像在一个字母表中有一个字符列表那么简单,然后用相应的字符替换每个字符在另一个字母表中,这似乎是unidecodesharpfork作者的基本信念。

有规则,因为有时音译取决于前面或后面的字符,并且还有一个关于罗马化的ISO标准,例如:俄语(见http://en.wikipedia.org/wiki/Romanization_of_Russian)。

此外,音译不是独立于文化的。例如,如果您是德语演讲者,则您的音译不同于英语演讲者。

因此,为了认真使用,我会使用Google音译API(仅提供英语 - 演讲者立场),但我只是看到它已被弃用。 https://developers.google.com/transliterate/

也许是时候读出那些10'000个字符的音译:)