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

3
我尝试编写一个应用程序来学习外语字符。例如,如果你想学习日语,那么你需要记住所有的平假名、片假名和汉字(例如あ、い、か... = 平假名 カ、サ、ケ... = 片假名 本、学... = 汉字)。
例如: 某个用户正在学习日语。所以他必须学会: か = ka 本 = hon,意思是:基础/书籍/这个
他还必须学习发音。
我的第一个问题是:是否有任何库或工具可以在.NET中轻松完成这项任务?我也看了微软输入法,但我无法弄清楚如何在我的项目中使用它。
我还查看了Unicode数据库,基本上是可以完成的。我还设法编写了一个项目将“か”转换为“ka”。唯一缺失的是意义(例如,“本=basis/book/this”),这些信息也由Unicode数据库提供。不幸的是,我在获取UCD数据的.xml文件中找不到它们。当我在UCD-Website上输入单词时,它可以工作。
另一种方法是使用似乎与UCD相关的CLDR库。不幸的是,我无法弄清楚两者(UCD或CLDR)应该使用哪个。 CLDR:http://cldr.unicode.org/ 我的问题是UCD是否是最佳方式,我是否也可以使用CLDR。
我真的不想使用普通列表,在那里我只需输入所有字符即可。这将需要太多时间,特别是对于所有汉字(超过10,000个)。
谢谢

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

2个回答

2

嗯,你说得对。它们都提供了这些API,我也在使用它们进行其他一些操作。恐怕这不是我要问的内容。我正在寻找一种用拉丁字母表示日语字母的方法(以日语字母为例)。如果我仅在必应或谷歌翻译器中输入那个字母,有时会返回一个正确但与此情况无关的翻译。例如,き = ki(拉丁字母),但当用平假名写入时,它也可以表示“树”(实际的日本人会用汉字写)。所以问题在于谷歌可能会误解它并返回“树”而不是“ki”。 - user2349053
但非常感谢你尝试帮助我:)。祝你周末愉快。 - user2349053
你说得对,谷歌可以翻译日文字符。但是我指的是另外一件事情:“本=书,卷……”这是我在程序中需要的第一件事情,也就是它的意思。我需要的第二件事情是如何发音,而在这种情况下,它的发音应该是“hon”(对于日语来说)。这是谷歌和必应无法做到的。与此同时,我已经解决了我的问题,我从Unicode字符数据库(UCD)中获取了意思和发音提示。我从一个.XML文件中读取它。非常感谢您的帮助:)。祝您有愉快的一天。 - user2349053
我是一个新用户,没有足够的经验值来为你的答案提供奖励...抱歉。 - user2349053
如果您点击向上箭头,可以表示该内容有用。如果您认为它是问题的答案,请点击勾号。 - phil soady
我收到一条消息,上面写着“投票需要15点声望”……所以我想我只有在提出或回答几个问题后才能这样做。 - user2349053

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个字符读出音译了 :)


谢谢你提供的链接。我查看了它们,但不确定能否使用。Unicodesharpfork是相当不错的,但无法在Unicode中找到字符的描述。我会继续寻找并在此处发布结果:)祝你周末愉快。 - user2349053
我解决了,我从Unicode字符数据库(UCD)中提取了信息。您可以下载整个数据库的.XML文件。我只需要学习如何处理它并找到正确的属性。非常感谢您的帮助。我是一个新用户,因此无法为您的答案提供奖励:(。祝您有美好的一天:)。 - user2349053

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接