我想把罗马英语单词音译成乌尔都语单词。就像这个网站工具。,我使用的是icu4j音译器。输出音译几乎没有什么出人意料的。
投入:"namaz“ 输出:"نَمَز“ 预期产出:"نماز“ 英文翻译:“祈祷”
下面是我获取实例的id。
String id = "Eng-ur; NFD;";有人知道我的身份证线哪里有问题吗?
发布于 2016-11-24 14:23:25
ICU的规则框架不能很好地处理发音不规则的源语言。遗憾的是,英语发音特别难。
音译是指模仿源语言在目标语言中的发音。这包括两个部分:(a)将输入转换为指示发音的中间表示形式;(b)将发音转换为最终输出。
有了英语到乌尔都语,基于规则的ICU框架将永远不会给(a)带来好的结果,但它很可能是一个很好的做(b)的系统。我建议通过一个文本到语音系统运行您的英语字符串,或者至少在一个非常大的语音词典中查找输入。这将给你在国际音标中的发音。一旦你有了发音,ICU应该能相当好地产生乌尔都语。
现在,ICU还没有把国际音标转换成乌尔都语的规则。作为Unicode音译规则的维护者,我认为这应该是非常容易实现的;我很乐意在有时间的时候这样做(但是欢迎任何人发送补丁!)如果你想走这条路,请向http://unicode.org/cldr/trac/newticket提交一个bug。
发布于 2016-11-21 19:34:30
我不认为你的身份证字符串本身有问题。(也许en-ur就足够了--为什么请求NFD?)我注意到,字符串nmạz准确地音译为نماز。也许音译规则还有改进的余地?
https://stackoverflow.com/questions/40606099
复制相似问题