Ant*_*ull 22 unicode transliteration internationalization
我正在寻找一种方法,将任何语言的Unicode字母字符音译为带重音的拉丁字母.目的是让外国人深入了解用任何非拉丁文字写的名字和文字的发音.
例子:
希腊语:Romanize("???????????")回归"Alphab?tikós"(或"Alfavitikós")
日本:Romanize("????")收益"shimbashi"(或"sinbasi")
俄语:Romanize("???? ???????")返回"yaytsa Faberzhe"(或"jajcaFaberže")
理想情况下,它应该支持以下脚本中的字符:CJK,印度语,西里尔语,闪米特语和希腊语.它应该是数据驱动和可扩展的,使用来自Unicode联盟,美国,欧盟或联合国的数据.代码应该是用.NET或Java编写的开源代码.
这样的图书馆存在吗?
Spr*_*ofi 17
这个问题比你想象的要复杂得多.
希腊语,西里尔语,印度语脚本,格鲁吉亚语 - >琐碎,你可以在一小时内编程
泰语,日语假名 - >可以用更多的努力
日语汉字,中文 - >这些不是字母/ syllaberies,所以你不在事实是音译,你正在查找希望大字典中的每个符号的发音(EDICT和CCDICT应该有效),很多时候你会弄错它,除非你也考虑上下文,特别是在日语
韩语- >技术上是一个字母,但计算机只能处理组成的字符,所以你需要另一个大型数据库,我不知道任何
阿拉伯语,希伯来语 - >这些语言不写下短元音,所以很多时候你的音译将像"bytlhm"(伯利恒)那样难以理解.我不知道有任何大型数据库将阿拉伯语或希伯来语单词映射到他们的发音.
您可以使用http://unidecode.codeplex.com/此.net库.
用法;
using BinaryAnalysis.UnidecodeSharp;
.......................................
string _Greek="???????????";
MessageBox.Show(_Greek.Unidecode());
string _Japan ="????";
MessageBox.Show(_Japan.Unidecode());
string _Russian ="???? ???????";
MessageBox.Show(_Russian.Unidecode());
Run Code Online (Sandbox Code Playgroud)
我希望,这对你有好处.
| 归档时间: |
|
| 查看次数: |
3895 次 |
| 最近记录: |