icu4j音译英语到乌尔都语

时间:2016-11-15 09:19:47

标签: java icu transliteration icu4j

我正在尝试将罗马英语单词音译为乌尔都语单词。很像website tool.我正在使用icu4j音译器。输出音译很少出人意料,例如。

  

输入:“namaz”

     

输出:“نمز”

     

预期产出:“نماز”

     

英文翻译:“祷告”

以下是获取实例的ID。

String id = "Eng-ur; NFD;";

有人知道我的id中的问题在哪里...... ???

2 个答案:

答案 0 :(得分:2)

我认为您的ID字符串本身并不存在问题。 (可能en-ur就足够了 - 为什么要求NFD?)我注意到字符串nmạz完全音译为نماز。也许音译规则还有改进空间?

答案 1 :(得分:2)

ICU的规则框架不适用于发音不规则的源语言。可悲的是,英语特别难以发音。

音译是指用目标语言模拟源语言的发音。它由两部分组成:(a)将输入转换为表示发音的中间表示; (b)将发音转换为最终输出。

对于英语到乌尔都语,基于规则的ICU框架永远不会给(a)好的结果,但它很可能是一个很好的系统(b)。我建议通过文本转语音系统运行你的英文字符串,或者至少在一个非常大的发音字典中查找输入。这将为您提供International Phonetic Alphabet中的发音。一旦你有发音,ICU应该合理地生成乌尔都语。

现在,ICU还没有将国际音标转换为乌尔都语的规则。作为Unicode音译规则的维护者,我认为这应该很容易实现;我很乐意在找到时间的时候这样做(但是欢迎任何人发送补丁!)如果你想走这条路,请在http://unicode.org/cldr/trac/newticket提交一个错误。