我正在使用Ruby,我有一个阿拉伯语的名字/姓氏列表,我想把它们翻译成拉丁语,因为它们被发音,例如,我的名字是"رضوان" => "Redouane"
(我也可以接受Radouane
,Radwan
或类似的任何内容。)
像谷歌翻译这样的公共API在一些名称上工作正常,但是当名称有意义时,他们无法将其翻译为“因为它被发音”,例如,谷歌翻译,英语,它给出:{{1我想要的是"رمزي" => "symbolic"
(我也可以接受"Ramzy"
)
有没有好的Ruby宝石来翻译名字?
我正在尝试翻译,因为我无法直接在Ruby控制台上打印阿拉伯语文本,请参阅:Printing a CP850 encoded string with Ruby (IRB)
答案 0 :(得分:2)
不是一个明确的答案,但你见过Unidecoder gem吗?它提供从任何unicode字母到纯ASCII的基本音译。然而,它确实只是一个简单的音译,例如它不会在转录中添加元音。引自自述文件:
其他语言,如希伯来语和阿拉伯语,不写元音,但是从上下文中假设它们,因此这个库给出的这些语言的ASCII表示对于母语人士来说看起来相当丑陋。
你的两个例子可以产生这些音译:
require 'unidecoder'
=> true
>> "رضوان".to_ascii
=> "rDwn"
>> "رمزي".to_ascii
=> "rmzy"